The documentation does not describe much the waveforms.
Please add some waveforms to describe setup, behaviour and expected results.
Better said it should be good to describe how the nonce and the ctr are managed by the block. (initialization vector) The key does not need to change at every edge as you did in the simulation. See lthe link below:
You called the your input "state" that does not means much. It will be good too, to provide an enable at the top, if your data is not going to run a the same frequency than the main clock domain.