可综合风格、阻塞和非阻塞

可综合风格、阻塞和非阻塞

ID:46536990

大小:83.50 KB

页数:18页

时间:2019-11-25

可综合风格、阻塞和非阻塞_第1页
可综合风格、阻塞和非阻塞_第2页
可综合风格、阻塞和非阻塞_第3页
可综合风格、阻塞和非阻塞_第4页
可综合风格、阻塞和非阻塞_第5页
资源描述:

《可综合风格、阻塞和非阻塞》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、可综合建模类型只有两种:组合逻辑:任何时候,如果输出信号直接由当前的输入信号的组合决定,则此逻辑为组合逻辑。时序逻辑:如果逻辑中具有记忆功能,则此逻辑为时序逻辑。在任何给定的时刻,如果输出不能完全由输入信号确定,则此逻辑具有记忆功能。语法详细讲解第六部分可综合风格的Verilog建模类型综合工具不支持下面的Verilog结构:initial循环语句:repeatforeverwhilefor的非结构用法一部分数据类型eventrealtime语法详细讲解不能综合的Verilog结构UDPsfor

2、k…join块wait过程连续赋值语句assign和deassignforce和release部分操作符===!==语法详细讲解不能综合的Verilog结构在同步块中使用reg类型变量:如果在一个时钟沿对reg变量赋值,而在下一个时钟沿对其采样,则综合器把该reg变量转换为硬件寄存器。如果只把reg变量作为基本输出,则综合器不一定把它转换为硬件寄存器。如果不属于上述两种情况,同步块中的reg变量有可能被优化掉。在组合块中使用reg类型变量:当组合块中任何一个输入变量的值改变时,reg变量的值也随

3、之改变,则综合器不会把该reg变量转换为硬件寄存器。当块的某一个输入的值改变时,reg变量的值不一定立即改变,而要等其他输入信号的值改变时才改变,则综合器将把该reg变量转换为锁存器。语法详细讲解过程块中寄存器类型的信号变量同步寄存器示例:在下面的例子中,rega仅用作临时存储器,因此在综合时它将被优化掉。moduleex1reg(d,clk,q);inputd,clk;outputq;regq,rega;always@(posedgeclk)beginrega=0;if(d)rega=1;q=

4、rega;endendmodule语法详细讲解寄存器在下面的例子中,用两个always块,它们的触发条件是相同的:即用同一时钟沿来处理两个存储元素,这样就可以使综合器在综合过程中保留rega,使它不被优化掉。moduleex2reg(d,clk,q);inputd,clk;outputq;regq,rega;always@(posedgeclk)beginrega=0;if(d)rega=1;end语法详细讲解寄存器always@(posedgeclk)q=rega;endmodule注:在后面

5、的always块中,块执行的顺序是不确定的,因此q可以获得在前一个周期中赋给rega的值。语法详细讲解寄存器组合寄存器示例:下面的两个例子中,rega都是临时变量,在综合中它们都会被优化掉。在本例中,y和rega不断被赋新值(因为语句中有elserega=0;),综合出的电路是一个纯组合逻辑。moduleex3reg(y,a,b,c);inputa,b,c;outputy;regy,rega;always@(aorborc)begin语法详细讲解寄存器if(a&b)rega=c;elserega

6、=0;y=rega;endendmodule在下面的例子中,rega只是有时被赋新值(没有else语句,rega在条件不符合时保持原值);因此综合出来的是一个以y作为输出的锁存器。语法详细讲解寄存器mouduleex4reg(y,a,b,c);inputa,b,c;outputy;regy,rega;always@(aorborc)beginif(a&b)rega=c;y=rega;endendmodule语法详细讲解寄存器用连续赋值语句表达的是:任何一个输入的改变都将立即导致输出更新;与理想的

7、与、或、非门的线路连接一致。moduleorand(out,a,b,c,d,e);inputa,b,c,d,e;outputout;assignout=3&(a

8、b)&(c

9、d);endmodule语法详细讲解连续赋值过程连续赋值是在过程块(always和initial块)内部对寄存器类型的变量进行的连续赋值。modulelatch_quasi(q,en,d);inputen,d;outputq;regq;always@(en)if(en)assignq=d;elsedeassignq;endm

10、odule语法详细讲解过程连续赋值大部分综合工具都能按照约定,正确地处理在源代码中用注释行表示的指导综合器如何转换到门级网表的指令即综合指令。可以在Verilog语句之间用注释行嵌入综合指令,Verilog仿真器运行时将忽略嵌入的指令,而当综合工具编译时,这些符合约定的综合指令是有意义的,能对综合过程进行干预和指导。不同的综合工具有不同的综合指令集,使用综合指令为的是:使同样的RTL代码能综合出更高质量优化的门级网表。下面列出了一部分Cadence综合工具支持的综合指令,它们与其他综合工具(例如

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。