- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
VerìlogHDL基本语法
Verilog 的四种逻辑值 0、低、伪、逻辑低、地、VSS、负插入 3.11实例: 数据选择器 数据选择器的功能是:根据选择信号,决定哪路输入信号送到输出信号.输出信号不仅与输入信号有关,还与选择信号有关,数据选择器的Verilog HDL语言代码如下: module dataselector( //模块的开始 a, //输入 b, //输入 c, //输入 d, //输入 sel, //输入 en, //输入 y //输出 ); input a; input b; input c; input d; input[1:0] sel ; //两位的数据选择信号,总共有四个状态 input en; //选择器使能信号, output y; //输出结果信号, reg y ; //输出信号寄存器, always @(a or b or c or d or sel or en)//always过程块 begin //begin-end 为顺序块,语句是顺序执行的 if (1‘b1 == en) //if-else条件分支语句 begin case (sel) //case分支控制语句 2b00: y = a; //=为赋值语句,这里是把a赋给y 2b01: y = b; 2b10: y = c; 2b11: y = d; default: y = 1bz; endcase end else y = 1bz; end endmodule //整个模块结束 3.12 数据分配器 module datadistributor(datain, sel, en, a, b, c, d); input datain; input [1:0] sel; input en; output a; output b; output c; output d; reg a, b, c, d; always @(datain or en or sel) begin if (1b1 == en) begin case (sel) 2b00: a = datain; 2b01: b = datain; 2b10: c = datain; 2b11: d = datain; default: a = datain; endcase end else begin a = 1bz; b = 1bz; c = 1bz; d = 1bz; end end endmodule 3.9编译指令 Verilog语言采用了一些编译指令来实现某些特定的编译。它们主要有:定义宏(`define、 `undef)、条件编译指令(`ifdef、`else、`endif)、文件包含(`include)、时间单位和精度定义(`timescale)等等。 在每个模块前面加一个`timescale编译指令,可以确保在仿真时候延时信息按照timescale所制定的时间单位和精度进行编译,直到遇到下一个`timescale或者`resetall指令为止。 `timescale的格式: `timescale 1ns/100ps 表示时延单位为1ns,精度为100ps 。 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. `define表示定义宏。是一个全局变量,可以被多个文件采用,直到运到`undef为止。 例 3–12 采用`define定义一个总线宽度为8的总线 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspo
文档评论(0)