FPGA Design Flow 学习笔记(8)--参加年度达人
- UID
- 1023229
- 来自
- 中国
|
FPGA Design Flow 学习笔记(8)--参加年度达人
层次化设计
使用层次化设计提高可读性与重用性,并方便调试。一种分层次方法是按照逻辑类型,如图1.
[[wysiwyg_imageupload:296:]]
图1 按照逻辑类型的分层
使用层次结构的优点
• 设计的可读性
– 更容易理解设计功能与数据流
– 方便调试
• 易与对现有设计中的部分进行复用
时钟毛刺(Clock Glitches)
使用什么方法代替门控时钟?
–使用时钟使能
FPGA设计技巧
– 使用全局时钟缓存与DLL以消除抖动
– 避免时钟信号的毛刺,异步的置位或复位
优先级:reset---set---enable,例如:
always @(posedge CLK)
if (RST)
Q <= 1’b0;
else if (SET)
Q <= 1’b1;
else if (CE)
Q <= D_IN;
时序驱动的综合Timing-DrivenSynthesis
有限状态机提取(FSMextraction)通过分析状态与输入,重新编码优化你的状态机
–默认情况下,综合工具将使用有限状态机提取
•安全的状态机
–默认情况下,综合工具将移除所有非法状态的解码
• 即使使用VHDL的“whenothers” 或者Verilog的“default”
–综合工具中的FSM应用安全选项必须打开
寄存器重定时Retiming:综合工具自动尝试移除寄存器级,从而平衡每个就能出去两边的组合逻辑延时
[[wysiwyg_imageupload:297:]] |
|
|
|
|
|