D
DW
Guest
This is a bit of a general question really and slightly philosophical. My
problem at the moment is how I should determine where to insert pipeline
delays (i.e. registers) in my sequential logic design. As far as simulating
goes, I could design the system to execute (almost) in a single instant of
time. This would enable me to check my transfer function is as I expected.
Obviously though, to improve throughput, I will have to insert pipeline
delays to stagger the various stages of processing, so I might insert one
between lets say two adder stages. This all seems a little arbitrary,
though and I'm not sure whether there are better rules to govern how this
should be done. Has anyone else had this problem? Should I just bang 'em
in and see how my timing simulation goes and tweak where necessary -
although doing this may involve adding unnecessary code to align control
parameters with the data flow etc. Maybe I'm making a rod for my own back.
Thanks for reading...
problem at the moment is how I should determine where to insert pipeline
delays (i.e. registers) in my sequential logic design. As far as simulating
goes, I could design the system to execute (almost) in a single instant of
time. This would enable me to check my transfer function is as I expected.
Obviously though, to improve throughput, I will have to insert pipeline
delays to stagger the various stages of processing, so I might insert one
between lets say two adder stages. This all seems a little arbitrary,
though and I'm not sure whether there are better rules to govern how this
should be done. Has anyone else had this problem? Should I just bang 'em
in and see how my timing simulation goes and tweak where necessary -
although doing this may involve adding unnecessary code to align control
parameters with the data flow etc. Maybe I'm making a rod for my own back.
Thanks for reading...