河南政务网站建设排名,黄山高端网站建设,企业年金查询个人账户查询,招聘网站建设方案模板下载一、顶层模块的划分 在RTL编码中#xff0c;我们是以模块为单位进行设计的#xff0c;模块之间的连接和嵌套关系对于电路结构有着很大的影响。一个好的系统设计中#xff0c;我们应该使得模块尽量满足以下两个标准#xff1a; 顶层模块扁平化内部模块层次化 1.1 顶层模块扁…一、顶层模块的划分 在RTL编码中我们是以模块为单位进行设计的模块之间的连接和嵌套关系对于电路结构有着很大的影响。一个好的系统设计中我们应该使得模块尽量满足以下两个标准 顶层模块扁平化内部模块层次化 1.1 顶层模块扁平化 顶层模块必须包括I/O单元、时钟产生电路、处理器核、存储器核、内建自测试单元、门控时钟等无法与其他模块一起综合的模块这称为“扁平化”。扁平化的方式降低了综合与仿真的复 杂度缺点是局部最优不等于全局最优而且可能存在综合工具无法消除的冗余。 1.2 内部模块层次化 对于复杂内部模块如上图中的接口和功能模块可以分成多个层次进行综合这称为“层次化”。层次化设计可以得到更好的综合优化效果但复杂度和运算量要大得多。 二、行为化与结构化划分 我们以一个32位二选一选择器为例
2.1 行为化描述
module mux32(input [31:0] out,input [31:0] a,input [31:0] b);wire sel;assign out sel ? a : b;
endmodule2.2 结构化描述
module mux32(input [31:0] out,input [31:0] a,input [31:0] b);wire sel;mux2_1L8 m0(out[7:0],a[7:0],b[7:0],sel); //bit 7 through 0 mux2_1L8 m1(out[15:8],a[15:8],b[15:8],sel); //bit 15 through 8mux2_1L8 m2(out[23:16],a[23:16],b[23:16],sel); //bit 23 through 16 mux2_1L8 m3(out[31:24],a[31:24],b[31:24],sel); //bit 31 through 24
endmodule行为化描述的优化程度高但综合出的电路结构缺乏层次和对称性结构化描述的综合效率高特别是通用元件库能提供底层单元时但优化程度依赖于底层单元的性能。 通常简单的底层模块用行为级描述来构造然后以其为单元来组建上层较大的模块。尽量避免或尽量少地在同一个模块中混合使用行为化描述和结构化描述。
三、速度与面积的折中 这里我们以加法器举例 逐次进位加法器 Carry-Propagate Adder 串行计算进位速度慢 9个门延迟用的逻辑门少。 超前进位加法器 Carry-look-ahead Adder并行计算进位速度快4个门延迟用的逻辑门多因要增加超前进位计算逻辑。 大多数综合工具中直接定义“”综合出的就是逐次进位加法器。此时为了改善性能设计者就需要在设计库如Synopsys DesignWare库中调用性能更好的加法器单元如超前进位加法器、进位保留加法器等。 四、组合逻辑优化 4.1 组合逻辑与寄存器 一般来说我们要求模块输出或/和输入端要有寄存器。我们考虑以下的几种情况
情况1 差 出现纯组合逻辑模块B其输入和输出端都无寄存器时序控制困难可能无法综合。 情况2 尚可 每个模块输入端有寄存器时序可控但前一模块的输出驱动强度和输出延迟可能受连线影响而无法预测。
情况3 尚可 每个模块的输出端有寄存器时序可控但后一模块的输入延时可能受连线影响而无法预测。 情况4 尚可 对于模块间连线可能较长、信号频率较高的情况模块输入无寄存器时可能对时序有不良影响。 情况5 最好 对于在版图设计过程中作为单元独立进行布局布线的模块输入和输出都最好加以寄存器以避免模块间连线延迟对于时序的不利影响亦即将时序收敛性局限在模块内部。 4.2 关键路径中的组合逻辑 模块尺寸不宜过大譬如控制逻辑不超过5-10k门。在延时长的组合逻辑中插入寄存器分解为若干较小的组合逻辑可以提高电路的工作频率。 模块的大小尽量一致尽可能使寄存器间的组合逻辑延时均匀化也有利于提高电路的工作频率。
4.3 模块按照不同的设计目标优化 关键路径和非关键路径的逻辑最好分配到不同的模块中。将关键路径逻辑和非关键路径逻辑分配到不同的模块中使得综合工具可以对关键路径逻辑进行速度优化而对非关键路径逻辑进行面积优化。综合工具的优化基本上是针对模块的优化。 4.4 避免组合逻辑内出现反馈 五、时钟与复位优化
5.1 时钟 一般来说在设计中我们推荐只使用单时钟沿上升沿。 所有时序控制均使用上升沿触发的寄存器有利于产生更优的综合结果。 同时使用上升沿和下降沿触发会使时钟周期分析复杂化难以精确估计时钟频率还可能使时钟抖动转化为时钟偏斜同时增加门数 若必须使用混合时钟沿应将它们放在不同的模块中同时明确给出时钟信号占空比要求而且在综合和时序分析中确保其时序周期在最坏情况下也是正确的
5.2 复位 相关内容可以阅读
复位电路reset(同步复位异步复位异步复位同步释放电路)https://blog.csdn.net/apple_53311083/article/details/132049729?spm1001.2014.3001.5502