h1

Parametrized Reset Values

April 19, 2009

For some odd reason some designers refuse to use parametrized blocks. I have no idea what are the reasons for such an opinion, but here is a good example why one would want to decide for the usage of parameters.

Imagine you need to design a block, which will be used several times throughout the design. The problem is, that each instance might need to have different reset values to some of its internal flops.
One (wrong) possibility is to define an extra input, which will in turn be connected as the reset value – but this is not something you’d like to do (why??)

The better option is to send the reset value as a parameter, which if it wasn’t clear by now, is the way to go.

One comment

  1. I imagine you would not want to define an extra input because the synthesizer will need to allocate logic space for that extra input. However, if you use a parameter to define the size of a block, the synthesizer does not have to allocate extra logic for that parameter besides the actual block generation. Correct?

    I usually use parametrized blocks in my FPGA designs for block ram generation, FIFO sizes, and clock domains.



Leave a Comment