大型设计需要以分层的方式进行。 在划分这些设计时,需要考虑以下注意事项:
1.功能性:
层次结构中逻辑的功能分组是划分设计时的主要标准。 层次结构的典型分区为:
1)地址和数据路径:该模块通常包含地址和数据路径寄存器,这些寄存器驱动主输出的地址和数据总线。
2)控制逻辑:此模块通常包含有限状态机(FSM),并且该模块获取FSM的输入,而FSM的输出驱动其余逻辑的控制。
2.时钟域:
在多时钟设计中,建议将在同一时钟域中连接的逻辑分组在单个模块中。 当信号需要与具有不同时钟的另一个模块进行交互时,建议通过同步器模块,该模块从源时钟域接收输入并将其同步到目标模块的时钟域。时钟域:在多时钟设计中,建议将在同一时钟域中连接的逻辑分组在单个模块中。 当信号需要与具有不同时钟的另一个模块进行交互时,建议通过同步器模块,该模块从源时钟域接收输入并将其同步到目标模块的时钟域。
3.面积:
模块中的逻辑太少将创建过多的层次结构,而单个模块中的逻辑太多将导致无法在后端流程的后期布局过程中进行微调控制的问题。
Verilog对层次结构的数量没有任何限制,但是最好不要有太多(FF的叶级层次结构很多)或太少(只有一个很大的模块!)层次结构。