- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基本单元引脚的数目由连接到门上的net的数量决定。因此当基本单元输入或输出的数量变化时用户不需要重定义一个新的逻辑功能。 所有门(除了not和buf)可以有多个输入,但只能有一个输出。 not和buf门可以有多个输出,但只能有一个输入。 第*页/共134页 Verilog有四种不同类型的条件基本单元 这四种基本单元只能有三个引脚:output, input, enable 这些单元由enable引脚使能。 当条件基本单元使能信号无效时,输出高阻态。 基本单元名称 功能 bufif1 条件缓冲器,逻辑 1 使能 bufif0 条件缓冲器,逻辑 0 使能 notif1 条件反相器,逻辑 1 使能 notif0 条件反相器,逻辑 1 使能 第*页/共134页 条件基本单元有三个端口:输出、数据输入、使能输入 三种未知状态: 值 强度 x 1, 0, z 未知 L 0, z 未知 H 1, z 未知 第*页/共134页 在端口列表中,先说明输出端口,然后是输入端口 实例化时实例的名字是可选项 and (out, in1, in2, in3, in4); // unnamed instance buf b1 (out1, out2, in); // named instance 延时说明是可选项。所说明的延时是固有延时。输出信号经过所说明的延时才变化。没有说明时延时为0。 notif0 #3.1 n1 (out, in, cntrl); // delay specified 信号强度说明是可选项 not (strong1, weak0) n1 (inv, bit); // strength specified module intr_sample; reg A; wire Y; not #10 intrinsic (Y, A); initial begin A = 0; #15 A = 1; #15 A = 0; #8 A = 1; #8 A = 0; #11 A = 1; #10 $finish; end endmodule 仿真波形 固有延时 第*页/共134页 模块实例化时实例必须有一个名字。 使用位置映射时,端口次序与模块的说明相同。 使用名称映射时,端口次序与位置无关 没有连接的输入端口初始化值为x。 module comp (o1, o2, i1, i2); output o1, o2; input i1, i2; . . . endmodule module test; comp c1 (Q, R, J, K); // Positional mapping comp c2 (.i2(K), .o1(Q), .o2(R), .i1(J)); // Named mapping comp c3 (Q, , J, K); // One port left unconnected comp c4 (.i1(J), .o1(Q)); // Named, two unconnected ports endmodule 名称映射的语法: .内部信号(外部信号) 没有连接时通常会产生警告 第*页/共134页 行为建模的基本概念 Verilog中高级编程语言结构 如何使用连续赋值 RTL描述方式是行为描述方式的子集。 注: 第*页/共134页 行为级描述是对系统的高抽象级描述。在这个抽象级,注重的是整个系统的功能而不是实现。 Verilog有高级编程语言结构用于行为描述,包括: wait, while, if then, case和forever Verilog的行为建模是用一系列以高级编程语言编写的并行的、动态的过程块来描述系统的工作。 在每一个时钟上升沿, 若Clr不是低电平, 置Q为D值, 置Qb为D值的反 DFF 无论何时Clr变低 置Q为0, 置Qb为1 第*页/共134页 过程块是行为模型的基础。 过程块有两种: initial块,只能执行一次 al
原创力文档


文档评论(0)