Verilog HDL数字集成电路设计原理与应用 教学课件 作者 蔡觉平第4章.pptVIP

Verilog HDL数字集成电路设计原理与应用 教学课件 作者 蔡觉平第4章.ppt

  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 HDL硬件描述语言进行关键性步骤的开发和设计。其基本过程是,首先使用Verilog HDL对硬件电路进行描述性设计,利用EDA综合工具将其综合成一个物理电路,然后进行功能验证、定时验证和故障覆盖验证。    与计算机软件所采用的高级程序语言 C语言 类似,Verilog HDL是一种高级程序设计语言,程序编写较简单,设计效率很高。然而,它们面向的对象和设计思想却完全不同。   软件高级程序语句是对通用型处理器 如CPU 的编程,主要是在固定硬件体系结构下的软件化程序设计。处理器的体系结构和功能决定了可以用于编程的固定指令集,设计人员的工作是调用这些指令,在固化的体系结构下实现特定的功能。    Verilog HDL和VHDL等硬件描述语言对电路的设计是将基本的最小数字电路单元 如门单元、寄存器、存储器等 通过连接方式,构成具有特定功能的硬件电路。在数字集成电路中,这种最小的单元是工艺厂商提供的设计标准库或定制单元;在FPGA中,这种最小的单元是芯片内部已经布局的基本逻辑单元。设计人员通过描述性语言调用和组合这些基本单元实现特定的功能,其基本的电路是灵活的。    Verilog HDL给设计者提供了几种描述电路的方法。设计者可以使用结构性描述方式把逻辑单元互连在一起进行电路设计,也可以采用抽象性描述方式对大规模复杂电路进行设计,如对有限状态机、数字滤波器、总线和接口电路的描述等。    由于硬件电路的设计目标是最终产生的电路,因此Verilog HDL程序设计的正确性需要通过对综合后电路的正确性进行验证来实现。逻辑上相同的电路在物理电路中的形式却有可能完全不同。对于Verilog HDL程序设计而言,数字电路的描述性设计具有一定的设计模式,这与C语言等高级软件程序设计是不同的。    例4.1-1是对模256 8 bit 计数器的两种描述。程序 a 是通常的Verilog HDL语言对计数器的描述方式,通过改变计数器状态寄存器组的位宽和进位条件,可以实现对不同计数器的硬件电路设计。程序 b 是初学者经常出现的一种错误描述方式,刚开始编写Verilog HDL程序时经常会套用C语言等高级程序设计的模式,这样往往得不到目标数字电路的功能。    例4.1-1 用Verilog HDL语言设计模256 8 bit 计数器。    a 可综合程序描述方式:   module counter count,clk,reset ;   output count;   input clk,reset;   reg [7:0] count;   reg out;   always @ posedge clk if !reset count 0;   else if count 8count 0; else count count+1;   endmodule    b 常见的错误描述方式:   module counter count,clk,reset ;   output count;   input reset,clk;    reg [7:0] count;   reg out;   integer i;   always @ posedge clk,reset begin   if !reset count 0;   else   for i 0;i 255;i i+1 count count+1;   end   endmodule   Verilog HDL的电路描述方式具有多样性,这也决定了电路设计的多样性。例4.1-2是对一个多路选择器的设计,程序 a 采用的是真值表的形式,程序 b 采用的是逻辑表达式的形式,程序 c 采用的是基本逻辑单元的结构性描述形式。    例4.1-2 用Verilog HDL设计数字多路选择器。    a 采用真值表形式的代码:   module MUX out,data,sel ;   output out;   input [3:0] data;   input [1:0] sel;   reg out;   always @ data or sel case sel 2b00 : out data[0]; 2b01 : out data[1]; 2b10 : out data[2]; 2b11 : out data[3]; endcase   endmodule b 采用逻辑表达式形式的代码:   module MUX out,data,sel ;   output out;   input [3:0] data;   input [1:0] sel;

您可能关注的文档

文档评论(0)

118压缩包课件库 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档