verilog第2章简单的verilog模块.pptVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
verilog第2章简单的verilog模块

第二讲 Verilog语法的基本概念;Verilog HDL是一种用于数字逻辑电路设计的语言: -用Verilog HDL描述的电路设计就是该电路的Verilog HDL模型。 - Verilog HDL 既是一种行为描述的语言也是一种结构描述的语言。这也就是说,既可以用电路的功能描述也可以用元器件和它们之间的连接来建立所设计电路的Verilog HDL模型。Verilog模型可以是实际电路的不同级别的抽象。这些抽象的级别和它们对应的模型类型共有以下五种:;Verilog的建模级别;可综合的 Verilog HDL 模型;Verilog的功能;2.2 模块的基本概念;例2.1;例2.2;例2.3;/*一个名为adder的三位加法器的例子。*/ module adder ( count,sum,a,b,cin ); //模块定义开始 input [2:0] a,b; //输入信号定义 input cin; //输出信号定义 output count; //输出信号定义 output [2:0] sum; //输出信号定义 assign {count,sum} = a + b + cin; //模块功能描述 endmodule //模块定义结束;例2.5比较器 module compare ( equal,a,b ); output equal; //声明输出信号equal input [1:0] a,b; //声明输入信号a,b /*如果a、b 两个输入信号相等,输出为1,否则为0*/ assign equal=(a==b)?1:0; endmodule 这个程序描述了一个比较器.在这个程序中 ,/*........*/和//.........表示注释部分,注 释只是为了方便程序员理解程序,对编译是不起 作用的。 ;例2.6 三态门 module trist1(out,in,enable); output out; input in, enable; mytri tri_inst(out,in,enable); //调用由mytri模块定义的 实例 元件tri_inst endmodule module mytri(out,in,enable); output out; input in, enable; assign out = enable? in : bz; endmodule;例2.7 三态门;module sample( q, a, b, sel, clk, resetn );  // 模块定义   input  a, b, sel, clk, resetn;     // 输入信号定义   output  q;           // 输出信号定义   wire   c;          // 模块内信号线的定义   reg   q;          // 输出端子数型定义  always @( posedge clk or negedge resetn ) begin // 非同步复位的F/F     if( resetn == 1‘b0 )      q = 1’b0;     else      q = c;    end  assign c = ( sel )? a: b;      // 选择逻辑组合 endmodule ;一个设计是由一个个模块构成的。一个模块的设计如下: 1 模块内容是嵌套在module和endmodule两个语句之间。每个模块实现特定的功能,模块是可以进行层次嵌套的。正因为如此,才可以将大型的数字电路设计分割成不同的小模块来实现特定的功能,最后通过顶层模块调用子模块来实现整体功能。 2 每个模块要进行端口定义,并说明输入输出口,然后对模块的 功能进行行为逻辑描述。 模块的端口定义部分:如上例: module addr(a,b,cin,count,sum)

文档评论(0)

jdy261842 + 关注
实名认证
文档贡献者

分享好文档!

1亿VIP精品文档

相关文档