《Verilog HDL数字集成电路设计原理与应用》课件第4章.ppt

《Verilog HDL数字集成电路设计原理与应用》课件第4章.ppt

  1. 1、本文档共237页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

第4章VerilogHDL数字逻辑电

路设计方法

Ø4.1VerilogHDL语言的设计思想和可综合特性

Ø4.2组合电路的设计

Ø4.3时序电路的设计

1Ø4.4有限同步状态机

Ø本章小结

4.1VerilogHDL语言的设计思想

和可综合特性

在数字集成电路设计过程中,设计者使用VerilogHDL

硬件描述语言进行关键性步骤的开发和设计。其基本过程

是,首先使用VerilogHDL对硬件电路进行描述性设计,利

2用EDA综合工具将其综合成一个物理电路,然后进行功能

验证、定时验证和故障覆盖验证。

与计算机软件所采用的高级程序语言(C语言)类似,

VerilogHDL是一种高级程序设计语言,程序编写较简单,

设计效率很高。然而,它们面向的对象和设计思想却完全

不同。

软件高级程序语句是对通用型处理器(如CPU)的编程,

主要是在固定硬件体系结构下的软件化程序设计。处理器

的体系结构和功能决定了可以用于编程的固定指令集,设

计人员的工作是调用这些指令,在固化的体系结构下实现

3特定的功能。

VerilogHDL和VHDL等硬件描述语言对电路的设计

是将基本的最小数字电路单元(如门单元、寄存器、存储器

等)通过连接方式,构成具有特定功能的硬件电路。在数字

集成电路中,这种最小的单元是工艺厂商提供的设计标准

库或定制单元;在FPGA中,这种最小的单元是芯片内部

已经布局的基本逻辑单元。设计人员通过描述性语言调用

和组合这些基本单元实现特定的功能,其基本的电路是灵

活的。

4

VerilogHDL给设计者提供了几种描述电路的方法。

设计者可以使用结构性描述方式把逻辑单元互连在一起进

行电路设计,也可以采用抽象性描述方式对大规模复杂电

路进行设计,如对有限状态机、数字滤波器、总线和接口

电路的描述等。

由于硬件电路的设计目标是最终产生的电路,因此

VerilogHDL程序设计的正确性需要通过对综合后电路的正

确性进行验证来实现。逻辑上相同的电路在物理电路中的

5形式却有可能完全不同。对于VerilogHDL程序设计而言,

数字电路的描述性设计具有一定的设计模式,这与C语言

等高级软件程序设计是不同的。

例4.1-1是对模256(8bit)计数器的两种描述。程序(a)

是通常的VerilogHDL语言对计数器的描述方式,通过改变

计数器状态寄存器组的位宽和进位条件,可以实现对不同

计数器的硬件电路设计。程序(b)是初学者经常出现的一种

错误描述方式,刚开始编写VerilogHDL程序时经常会套用

C语言等高级程序设计的模式,这样往往得不到目标数字

电路的功能。

6

例4.1-1用VerilogHDL语言设计模256(8bit)计数器。

(a)可综合程序描述方式:

modulecounter(count,clk,reset);

outputcount;

inputclk,reset;

reg[7:0]count;

regout;

always@(posedgeclk)

7

if(!reset)count=0;

elseif(count==8count=0;

elsecount=count+1;

endmodule

(b)常见的错误描述方式:

modulecounter(count,clk,reset);

outputcount;

inputreset,clk;

8

reg[7:0]count;

regout;

integeri;

always@(posedgeclk,reset)

begin

if(!reset)count=0;

else

for(i=0;i=255;i=i+1)

9

count=count+1;

end

文档评论(0)

酱酱 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档