- 1、本文档共150页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第九章硬件描述语言VerilogHDL讲解
第7节 数据流模型化。 本节讲述Verilog HDL语言中连续赋值的特征。连续赋值用于数据流行为建模;相反,过程赋值用于(下节的主题)顺序行为建模。组合逻辑电路的行为最好使用连续赋值语句建模。 联合MAXPLUS II例举讲解 7.1 连续赋值语句 连续赋值语句将值赋给线网(连续赋值不能为寄存器赋值),它的格式如下(简单形式): assign LHS_target = RHS_expression; 例如, wire [3:0] Z, Preset, Clear; //线网说明 assign Z = Preset Clear; //连续赋值语句 连续赋值的目标类型如下: 1) 标量线网 2) 向量线网 3) 向量的常数型位选择 4) 向量的常数型部分选择 5) 上述类型的任意的拼接运算结果 下面是连续赋值语句的另一些例子: assign BusErr = Parity | (One OP) ; assign Z = ~ (A | B) (C | D) (E | F) ; 例子中,目标是一个向量线网和一个标量线网的拼接结果。 wire Cout, Cin ; wire [3:0] Sum, A, B; . . . assign {Cout, Sum} = A + B + Cin; 因为A和B是4位宽,加操作的结果最大能够产生5位结果。左端表达式的长度指定为5位(Cout 1位,Sum 4位)。赋值语句因此促使右端表达式最右边的4位的结果赋给Sum,第5位(进位位)赋给Cout。 7.2 举例 下例采用数据流方式描述1位全加器。 module FA_Df (A, B, Cin, Sum, Cout ); input A, B, Cin; output Sum, Cout ; assign Sum = A ^B ^Cin; assign Cout = (A Cin) | (B Cin) | (A B) ; endmodule 7.3 线网说明赋值 连续赋值可作为线网说明本身的一部分。这样的赋值被称为线网说明赋值。例如: wire [3:0] Sum = 4b0; wire Clear = b1; wire A_GT_B = A B, B_GT_A= B A; 线网说明赋值说明线网与连续赋值。说明线网然后编写连续赋值语句是一种方便的形式。参见下例。 wire Clear ; assign Clear = b1; 等价于线网声明赋值: wire Clear = b1; 7.4 时延 如果在连续赋值语句中没有定义时延,如前面的例子,则右端表达式的值立即赋给左端表达式, 时延为0。如下例所示显式定义连续赋值的时延。 assign #6 Ask = Quiet || Late; 规定右边表达式结果的计算到其赋给左边目标需经过6个时间单位时延。例如,如果在时刻5,L a t e值发生变化,则赋值的右端表达式被计算,并且Ask在时刻11( = 5 +6)被赋于新值。 连续赋值语句中的时延 如果右端在传输给左端之前变化,会发生什么呢?在这种情况下,应用最新的变化值。下例显示了这种行为: assign #4 Cab = Drm; 对于每个时延定义,总共能够指定三类时延值: 1) 上升时延 2) 下降时延 3) 关闭时延 这三类时延的语法如下: assign # (rise, fall, turn-off) LHS_target = RHS_expression; 下面是当三类时延值定义为0时,如何解释时延的实例: assign #4 Ask=Quiet || Late; // One delay value. assign # (4,8) Ask = Quick ; // Two delay values. assign # (4,8,6) Arb = DataBus; // Three delay values. assign Bus = MemAddr [7:4]; // No delay value. 上升时延对于向量线网目标意味着什么呢? 如果右端从非0向量变化到0向量,那么就使用下降时延。如果右端值到达z,那么使用下降时延;否则使用上升时延。 7.5 线网时延 时延也可以在线网说明中定义,如下面的说明。 wire #5 Arb; 这个时延表明Arb驱动源值改变与线网Arb本身间的时延。考虑下面对线网Arb的连续赋值语句: assign #2 Arb = Bod Cap; 下图很好地描述了线网时延的效果。首先使用赋值时延,然后增加任意线网时延。 如果时延在线网说明赋值中出现,那么时延不是线网时延,而是赋值时延。下面是A的线网说明赋值, 2个时间单位是赋值时延,而不是线网时延。 wi
您可能关注的文档
- 第九章有机化合物讲解.doc
- 第九章根轨迹法MATLAB讲解.ppt
- 第九章检验检疫概述第十章检验检疫依据讲解.ppt
- 第九章机舱规划与设备布置讲解.ppt
- 第九章回复再结晶与热加工1-2016讲解.ppt
- 第九章核与辐射应急准备及其监管讲解.ppt
- 第九章液压与气压系统的使用与维护讲解.ppt
- 第九章热带气旋预报讲解.doc
- 第九章烧结讲解.ppt
- 第九章滚动轴承讲解.ppt
- 高考历史小论文解题妙招 课件-高三统编版(2019)历史二轮专题复习.pptx
- 1.1 思维的含义与特征(课件 )高二政治(统编版选择性必修3).pptx
- 5.1 降低化学反应活化能的酶课件-高一上学期生物人教版必修1.pptx
- 6.2 民族区域自治制度-高一政治课件(统编版必修3).pptx
- 4.2交通运输布局对区域发展的影响-高一地理(人教版2019必修二).pptx
- 2.1.2 城乡空间结构 课件-高中地理湘教版(2019)必修二.pptx
- 资源安全与国家安全(大单元教学课时4 海洋空间资源开发与国家安全)(课件)高二地理(人教版2019选择性必修3).pptx
- 2.1 减数分裂和受精作用课件-高一下学期生物人教版必修2(1).pptx
- 5.2构建人类命运共同体 课件-高中思想政治选择性必修一《当代国际政治与经济》.pptx
- 第一次世界大战与战后国际秩序 课件 高三统编版(2019)必修中外历史纲要下一轮复习.pptx
文档评论(0)