* Basic iterative architecture
* Partial loop unrolling
* full loop unrolling
* Partia outer-round pipelining
* Full outerround pipelining
* Inner-round pipelining
* Partial mixed innerand outerroundpipelining
* Full mixed inner- and outer-round pipelining
* other ...
First you have to define "best". Lowest gate count? Lowest Si cost?
Highest clock rate? Highest throughput? Lowest latency? Easiest to
test? Shortest development time? Fewest copyright infringements?
It isn't that tough to mock up a few versions and try them. Then work
on what "best" means.