数字系统设计-复习

数字系统设计-复习
数字系统设计-复习

1. 数字系统设计概论

1.1数字系统的概念

是指对数字信息进行存储、传输、处理的电子系统。它的输入和输出都是数字量。

通常把门电路、触发器等称为逻辑器件;将由逻辑器件构成,能执行某单一功能的电路,如计数器、译码器、加法器等,称为逻辑功能部件;把由逻辑功能部件组成的能实现复杂功能的数字电路称数字系统。

数字系统和功能部件之间的区别之一在于功能是否单一。区别之二在于是否包含控制电路。

1.2数字系统的发展

1.2.1 EDA技术: EDA(Electronic Design Automation)

立足于计算机工作平台而开发出来的一整套先进的设计电子系统的软件工具。三个发展阶段: (1)电子CAD阶段;(2)电子CAE阶段;(3)EDA阶段。

EDA技术的特点:(1)高层综合和优化(2)采用硬件描述语言进行设计

(3)开放性和标准化(4)库的引入(5)支持“自顶向下”设

计方法

系统设计层次:(1)板图级(物理级)(2)逻辑门级(3)寄存器传输级

(4)行为级(5)系统级

1.2.2数字系统的两种

设计思路:

(1)自底向上法(Bottom-up设

计)

设计过程从最底层设计

开始。设计系统硬件时,首

先选择具体的元器件,用这些元器件通过逻辑电

路设计,完成系统中各独立功能模块的设计,再把这些功能模块连接起来,搭建

成完整的硬件系统。

在进行底层设计时,缺乏对整个电子系统总体性能的把握,在整个系统设计

完成后,如果发现性能尚待改进,修改起来比较困难,因而设计周期长。

(2)自顶向下法(Top_down 设计)

按一定原则将系统分成若干子系统,再将每个子系统分成若干个功能模块,

再将每个模块分成若干小的模块……直至分成许多可以实现的基本模块。

1.2.3 构建数字系统的方法途径

※ 专用集成电路—— 把所设计的数字系统做成一整片规模集成电路,不仅减

小了电路的体积、重量、功耗、而且使电路的可靠性大为提高。

※ PLD ——完全由用户自行定义芯片逻辑功能的“通用型”数字器件。

用户可以借助特定的EDA 软件设计一个数字电路或数字系统,通过该软件进

行一系列的操作(仿真综合适配)后形成特定的二进制文件,然后通过专门的编

程器或ISP (In System Program )的方式下载到芯片中,使其具备预期的功能。

可以反复修改,反复编程,直到完全满足要求。降低了开发的风险。

管脚定义的灵活,增加了设计的自由度,提高了效率。同时这种设计减少了

所需芯片的种类和数量,缩小了体积,降低了功耗,提高了系统的可靠性。

1.2.4 基于IP 模块的设计

IP(Intellectual Property)原来的含义是指知识产权、著作权等,在IC 设计领

域则可以理解为完成某种功能的设计模块,也可称为IP 核。

IP 核分为软核、硬核和固核:

软核指的是在寄存器级或门级对电路功能用HDL 进行描述,表现为VHDL

或Verilog HDL 代码。用户在使用软核的时候可以修改,以满足自己所需要的功

能。实现后电路的总门数在5000门以上。

硬核指的是以版图形式描述的设计模块,它基于一定的设计工艺,用户不能

改动,用户得到的硬核仅是产品的功能,而不是产品的设计。一般在专用集成电

路ASIC 器件上实现,总门数在某些方面5000门以上。

固核介于硬核和软核之间,允许用户重新定义关键的性能参数,内部连线也

可以重新优化。一般在FPGA 器件上实现的、经验证是正确的、总门数在某些方

面5000门以上电路结构编码文件称为―固核‖。

数字系统的实现方式专用集成电路(ASIC )标准逻辑器件

PLD CMOS

(4000)TTL (54/74)

CPLD /FPGA

1.3 数字系统的设计流程

1、设计输入

目前,已成为IEEE标准的是VHDL语言和Verilog HDL语

言。

●VHDL (Very High Speed Integration Circuit HDL,超高速

集成电路硬件描述语言):是于1985年由美国国防部的

支持下正式推出的。1987年被采纳为IEEE标准。

●Verilog HDL语言是美国Gateway Design Automation公

司于1983年推出的,1995年被采纳为IEEE标准。

2、综合:指的是将较高层次的设计描述自动转化为较低

层次描述的过程。

综合器就是能够自动实现上述转换的工具。或者说,综

合器是能够将原理图或HDL语言表达和描述的电路功能转

化为具体的电路结构网表的工具。

综合有下面几种形式:1)行为综合;2)逻辑综合;3)

版图综合。

3、适配:是将由综合器产生的网表文件配置于指定的目标

器件中,并产生最终的可下载文件。

适配过程包括:映射、布局、布线。

4、仿真:是对所设计电路的功能的验证。

①功能仿真:在做完理论设计,没有选择具体器件时所做

的仿真。不考虑信号时延等因素的仿真,也叫前仿真。

②时序仿真:是在选择了具体器件并完成了布局布线后

进行的包含定时关系的仿真。也叫后仿真。它主要用于

验证由于不同的布线方式、分区规划而产生的各种延时

对系统功能的影响。

5、编程下载和配置:把适配后生成的编程文件装入到PLD器件中的过程称为下载。通常对CPLD器件的下载称为编程(Program),对于FPGA器件的下载称为配置(Configure)。下载后的FPGA/CPLD器件就是所设计的电子系统。

1.4 用于开发FPGA和CPLD的EDA工具

1.基于CPLD/FPGA的集成开发环境

2.可编程逻辑器件PLD

2.1 PLD概述

2.1.1 PLD的基本概念

可编程逻辑器件PLD制作工艺采用的是CMOS工艺,在这些器件的内部,集成了大量功能独立的分立元件,它们可以是基本逻辑门、由基本逻辑门构成的宏单元,以及与阵列、或阵列,芯片内还有大量可配置的连线,在器件出厂时,芯片内的各个元件、单元相互间没有连接,芯片暂不具有任何逻辑功能。芯片内的各个元件、单元如何连接,由用户根据自身的设计的电路功能要求通过计算机编程决定。

2.1.2 PLD的作用

高密度的PLD,即CPLD/FPGA,能完成任何数字器件的功能,上至高性能的CPU,下至简单的74电路,都可以用CPLD/FPGA 来实现。

2.1.3 PLD的分类

⑵按编程特点分类

●按编程次数分类

一次性编程器件(One Time Programmable, OTP)

可多次编程器件

●按不同的编程元件和编程工艺划分

采用熔丝(Fuse)编程元件的器件,如PROM 。

采用反熔丝(Antifuse)编程元件的器件。

采用紫外线擦除、电编程方式的器件,如EPROM 。

采用电擦除、电编程方式的器件,一般采用EEPROM 和快闪存储器 (Flash

Memory)两种工艺实现。

采用静态存储器(SRAM)结构的器件

⑶按结构特点分类

阵列型的PLD 器件:基本结构为与或阵列。如:SPLD 和绝大多数的CPLD 。

单元型的PLD 器件:基本结构为逻辑单元。如:FPGA

2.1.4 PLD 的基本构成原理与表示方法

常用门电路在PLD 中的表示法

(a)与门;(b)或门;(c)输入缓冲器;(d)三态输出缓冲器;(e)非门

(a)A A A A EN A A A EN (b)A B C

P Y (c)(d)(e)

P 1P 2P

3A B

P A B A B A B P

2.2 SPLD 介绍

2.2.1 可编程只读存储器(PROM )

它包含一个固定的“与”阵列和一个可编程的“或”

阵列, 它的―与‖阵列是一个―全译码阵列‖,即对某一组

特定的输入i(i =0,1,2)只能产生一个唯一的乘积项。因

为是全译码,当输入变量为n 个时,阵列的规模为2n,所

以PROM 的规模一般很大。

PROM 存在的不足:PROM 虽然也可以用来产生

组合逻辑函数,但因为往往只用到了与逻辑阵列输出

的最小项的一部分,而且有时这些最小项还可以合并,

因此器件内部资源的利用率不高。

2.2.2可编程逻辑阵列PLA (Programmable Logic Array )

它的 “与”阵列和“或”阵列都是可编程的。

PLA 与PROM 比较:

1、由于PLA 的与逻辑阵列是可编程的,所以就可通过编程只产生所需要的乘积项,使得与逻辑阵列和或阵列所需的规模大为减少,从而有效地提高了芯片的利用率。

2、PLA 器件内部的与阵列和或阵列均可编

程,因而在实现函数时,它的灵活性最高。

3、由于PLA 的与、或阵列均要求能编程,

这种结构在实现比较简单的逻辑功能时还是比

较浪费的。

2.2.3可编程阵列逻辑PAL (Programmable Array Logic )

其基本结构包含一个可编程的“与”阵列和一个固定的“或”阵列。

A Y 3

B

C

D 与逻辑

阵列或逻辑阵列Y 2Y 1Y 0PLA 的基本电路结构

PAL 的几种输出电路的结构和反馈形式:

(1)专用输出结构

(2)可编程I/O 结构

(3)寄存器输出结构

(4)异或型输出结构 O 0O 1O 2“OR”阵列(固定的)“AND ”阵列(可编程的)I 2I 1I 0I 0

I 1I 2

I 3

Y 0Y 1Y 2Y 3输入行

O I (a )输入、反馈及I/O

(b )

I I/O 输入、反馈及I/O I I/O (a)可编程I/O 结构输入、反馈及I/O I Q Q D Q (c )输入、反馈及I/O I Q Q D (d )时钟EN 时钟EN P 1P 2F Q

Q I Q Q D Q (c )输入、反馈及I/O I Q Q D (d )时钟EN 时钟EN P 1P 2F Q

◆优缺点

1、增加了各种形式的输出电路,扩展了电路的逻辑功能,提高了使用的灵活性。

2、采用了双极型熔丝工艺,只能一次性编程

3、PAL器件输出电路结构的类型繁多,给设计和使用带来一些不便

2.2.4通用阵列逻辑(GAL)

采用E2CMOS工艺制作,可以用电信号擦除并反复编程上百次。

在结构上的显著特点是输出采用了宏单元(OLMC )。

GAL器件的可编程―与‖阵列则是送到OLMC上输出的。

通过对OLMC单元的编程,器件能满足更多的逻辑电路要求,从而使它比PAL器件具有更多的功能,设计也更为灵活。

输出逻辑宏单元(OLMC)的结构

4选1选择器用来选择输出方式、输出极性

2选1选择器用来选择反馈信号(即选择输出

引脚为输入变量)

◆SPLD结构对比表:

2.3 HPLD介绍

2.3.1 CPLD (Complex Programmable Logic Device,复杂可编程逻辑器件)

一般把所有的集成度超过1000门以上的EPLD (Erasable Programmable Logic Device)器件都称为是CPLD。

* CPLD 包括三部分:可编程逻辑宏单元、可编程I/O单元、可编程内部连线(1)、可编程逻辑宏单元(LMC,Logic Macro Cell):称为内部逻辑宏单元。

LMC内部主要包括与阵列、或阵列、可编程触发器和数据选择器等电路,能独立地配置为时序或组合工作方式。

(a) 多触发器结构和“隐埋”触发器结构:不增加芯片的管脚

(b) 乘积项共享结构

(c) 异步时钟

(2)、可编程I/O单元(IOC,Input/Output Cell)

内部信号到引脚的接口部分。一般只有少数几个专用输入端,大部分端口均为I/O 端。其内部通常由三态输出缓冲器、输出极性选择器、输出选择控制器、反馈选择器等几组数据选择器组成。通过编程可以使每个I/O引脚单独地配置为输入、输出和双向工作、寄存器输入等各种不同的工作方式,因而使I/O端的使用更为方便、灵活。

(3)、可编程内部连线(PIA,Programmable in aline):可编程内部连线的作用是在各逻辑宏单元之间以及逻辑宏单元和I/O单元之间提供互连网络。各逻辑宏单元通过可编程连线阵列接收来自输入端的信号,并将宏单元的信号送往目的地。

在CPLD器件中,一般采用固定长度的线段来进行连接。

2.3.2 FPGA(Field Programmable Gate Array,现场可编程门阵列)

包括三部分:可编程逻辑块(CLB,Configurable Logic Block)、I/O模块(IOB,I/O Block)、可编程互连资源(PIR,Programmable Interconnect Resource)

(1)、可编程逻辑块CLB:

是实现用户功能的基本单元,它们通常规则地排列成一个阵列

主要由逻辑函数发生器、触发器、数据选择器等部分组成。

逻辑函数发生器: CLB中的逻辑函数发生器都是基于查找表结构。

查找表结构(LUT,Look-up Table):LUT本质上就是一个RAM。每一个LUT 可以看成一个有4位地址线的16x1的RAM。当用户通过描述了一个逻辑电路以后,FPGA开发软件会自动计算逻辑电路的所有可能的结果,并把结果事先写入RAM,这样,每输入一个信号进行逻辑运算就等于输入一个地址进行查表,找出地址对应的内容,然后输出即可。

(2)、IOB:主要完成芯片上逻辑与外部封装脚的接口,它通常排列在芯片的四周;主要由输入触发器、输入缓冲器和输出触发器/锁存器、输出缓冲器组成。每个IOB控制一个引脚,它们可以被配置为输入、输出或双向I/O功能。

( 3)、PIR:可编程互连资源(PIR)包括各种长度的连线线段和一些可编程连接开关,它们将各个CLB之间或CLB、 IOB之间以及IOB之间连接起来,构成特定功能的电路。这些金属线段带有可编程开关,通过自动布线实现FPGA内部的CLB和CLB和IOB之间的连线。连线有三种互连结构:单长线、双长线、长线。

2.3.3 CPLD与FPGA的异同

(1)、相同点:输入/输出单元;逻辑块阵列;互连资源

(2)、CPLD与FPGA的差别:

●CPLD是阵列式结构,基于乘积项技术,

FPGA是单元式结构,基于查找表技术;

●CPLD器件的关键技术是E2PROM和快闪存储器工艺,

FPGA通常采用CMOS SRAM工艺;

●CPLD拥有上电即可工作的特性,

FPGA需要一个加载过程

●CPLD的内连续性的布线结构使其时序延迟具有均匀性和可预测性,

FPGA具有的分段式布线结构使其时序延迟具有不可预测性;

●CPLD 比较适合于实现各种组合逻辑,

FPGA比较适合于含有时序逻辑较多的电路

2.3.4 Altera 公司生产的PLD器件

主要产品分为CPLD和FPGA两大类型

CPLD 基本结构单元是乘积项,在工艺上采用E2PROM编程单元。

FPGA 类型器件采用SRAM编程单元。

2.3.5 PLD器件的发展趋势

(1)向大规模、高集成度方向进一步发展

(2)向低电压、低功耗的方向发展

(3)向高速可预测延时的方向发展

(4)向功能丰富型发展

(5)向模数混合可编程方向发展

边界扫描测试技术:

边界扫描测试技术主要解决芯片的测试问题。

标准的边界扫描测试只需要四根信号线,能够对电路板上所有支持边界扫描的芯片内部逻辑和边界管脚进行测试。应用边界扫描技术能增强芯片、电路板甚至系统的可测试性。

3. Verilog HDL 语言

3.1 Verilog HDL 基础

3.1.1 词法

Verilog HDL程序是由各种符号流构成的,我们把它们称之为词法。

Verilog HDL 中的词法类型包括:

(1)间隔符与注释符;

(2)数值;

(3)字符串;

(4)标识符、关键字;

(5)运算符。

一、间隔符与注释符

间隔符包括空格符、制表符(tab)、换行以及换页符。

Verilog HDL有两种注释形式,单行注释以两个字符―//‖起始,以新的一行作为结束;而段注释则是以/*起始,以*/结束。

二、数值

Verilog HDL的数值由以下四个基本的值组成:0—代表逻辑0或假状态

1—代表逻辑1或真状态

x—逻辑不定态

z—高阻态

在程序运行中,其值不能改变的量称为常量。整型数、实型数

1).整型数及其表示:

+/-<位宽>' <基数> <数值>

a、数值常量不能将下划线―_‖其放于数值的首位。

b 、在‘和进制之间,数值之间不允许出现空格。

c、如果定义的位宽比实际的位数长,通常在左边补0,但如果数的最左边一位为x或z,

就相应的用x或z在左边补位。

d、数值常量中的―z‖可以用―?‖来代替。

2).实型数及其表示:

Verilog中的实数可以用十进制表示法与科学计数法两种格式来表示

如果采用十进制格式,小数点两侧都必须至少有一位数字,否则为非法表示形式。☆实数可以转化为整数,根据四舍五入的原则。

三、字符串

在Verilog中,字符串大多用于显示信息的命令中。

字符串常量是用双引号括起来的字符序列串,它必须包含在同一行中,不能分成多行书写。字符串变量是寄存器型变量。

四、标识符、关键字

标识符:

用户为程序描述中的Verilog 对象所起的名字。

模块名、端口名和实例名都是标识符。

●标识符必须以英语字母a-z, A-Z起头,或者用下横线符_ 起头。其中可

以包含数字、

$符和下横线符。

●Verilog 是大小写敏感的。

【特殊标识符】:

?$‘符号表示Verilog 的系统任务和函数

特殊符号―#‖常用来表示延迟

关键字:是Verilog语言内部的专用词,所有的关键词都是小写的。

3.1.2 数据类型

连线型数据相当于硬件电路中的各种物理连接,代表的是物理连接线。

寄存器型数据一般对应的是具有状态保持作用的电路,如触发器、寄存器、锁存器。

它的特点是输出能保持其值,直到它被赋于新的值。

?对于端口信号,输入端口只能是net类型。输出端口可以是net类型,也可以是register类型。若输出端口在过程块中赋值则为register类型;若在过程块外赋值(包括实例化语句,assign 连续赋值语句),则为net类型。

?内部信号类型与输出端口相同,可以是net或register类型。

parameter 用来定义常量,即用来定义一个标识符代表一个常量。主要用于定义延迟时间和变量宽度。

3.1.3运算符

按所带操作数的个数区分,运算符可分为3类:单目运算符、双目运算符、三目运算符。

按功能分:算术运算符、关系运算符、等式运算符、逻辑运算符、位运算符、缩位逻辑运算符、移位运算符、并接运算符等。

(1)算术运算符用于进行数值运算,+、–、*、/、%。

(2)逻辑运算符:&&(逻辑与)、||(逻辑或)、!(逻辑非)

(3)位运算:将两个操作数按对应位分别进行逻辑运算:~(非)(按位取反);

&(与);|(或);^(异或);^~,~^(同或);~&(与非);~|(或非)(4)关系运算符>(大于);>= (大于等于);< (小于);<= (小于等于)。(5)等式运算符:= =(相等);!=(不相等);= = =(全等);!= =(不全等)。(6)缩位运算符:缩位运算符将一个矢量缩减为一个标量。

&(与);|(或);^(异或);^~(同或);~&(与非);~|(或非)。(7)移位运算符A<>n (右移位运算符)

(8)条件运算符条件运算符(? :)信号=条件?表达式1:表达式2;

(9)拼接运算符拼接运算符{ }

3.2 Verilog HDL中的模块

3.2.1 模块

模块是Verilog HDL语言的基本描述单位,它用于描述某个电路的功能或结构,以及它与其它模块通信的外部端口。

module<模块名> (<端口列表>)

端口说明(input,output,inout)

数据类型说明(wire reg)

逻辑功能或结构构成定义(门元件例化、assign数据流always块行为描述、调用其它模块)

endmodule

每个模块实现特定的功能;模块可以进行层次嵌套。

Verilog HDL程序一行可以写多条语句,也可以一条语句分成多行书写,每条语句以分号结束,endmodule语句后面不必写分号。

3.2.2 Verilog HDL 数字设计中模块中功能的基本描述方式

(1)、结构描述方式:描述电路是由哪些基本元件组成,以及相互连接关系。

内置门级元件(12个逻辑门and or xor not 等)、用户自己定义的模块。门元件的调用调用格式:门元件名称实例名(端口列表)

多输入门的端口列表: (输出、输入1、输入2、输出3…….);

对于三态门输入、输出端口:输出,输入,使能控制端);

对于buf和not输入、输出端:(输出1,输出2,输出3,输入);

(2)、数据流描述方式:以“assign”关键字开头的连续赋值语句。

连续赋值语句的语法为: assign #延时量变量名= 赋值表达式; (3)、行为描述方式:行为描述指电路输入输出信号间的逻辑关系。

(4)、混合设计描述方式:行为功能主要使用过程语句来描述。

3.3 Verilog HDl 行为语句

3.3.1 过程语句

(1)initial 过程语句

作用与特点:initial语句主要用于初始化和波形生成,initial 过程块中的语句顺序执行且仅执行一次。

语法格式:initial begin 语句1; 语句2; ..... 语句n; end

变量一定被声明为reg型。

(2)always 过程语句

特点:always语句后跟着的语句是否执行,则要看它的触发条件是否满足,如满足则运行该语句一次,如不断满足则不断地循环执行。

语法格式:always @ (敏感信号表达式 )

块语句

3.3.2 块语句

串行块begin_end

串行块(顺序块)有以下特点:

1) 块内的语句是按顺序执行的,即只有上面一条语句执行完后下面的语句才能执

行。

2) 每条语句的延迟时间是相对于前一条语句执行结束的时间而言的。

3) 直到最后一条语句执行完,程序流程控制才跳出该语句块。

顺序块的格式如下:

begin 语句1; 语句2; ..... 语句n; end 3.3.3 赋值语句

(1) 连续赋值语句

以关键字assign 开头的为连续赋值语句,主要用于对wire 型变量进行赋值。

(2) 过程赋值语句

用在过程语句当中,一般用于对reg 型变量进行赋值。

过程赋值有阻塞赋值和非阻塞赋值两种方式。

阻塞赋值方式 赋值符号为―=‖。

阻塞赋值语句执行的过程是:首先计算右端赋值表达式的取值,然后立即将

计算结果赋值给―=‖左端的被赋值变量。如果在一个块语句中,有多条阻塞赋值

语句,在前面的赋值语句没有完成之前,后面的语句就不能被执行。

非阻塞赋值方式 赋值符号为― < =‖。

非阻塞赋值方式的特点是:在整个过程块结束时才完成赋值操作。一齐赋值。

3.3.4 条件语句

(1)If -else 语句

或 begin:块名

块内声明语句 ;

语句1;

语句2;

......

语句n;

end

(1) if(表达式)

语句;

(2) if(表达式) 语句1 ; else 语句2; (3) if(表达式1) 语句1; else if (表达式2) 语句2;

else if (表达式3) 语句3;

........

else if (表达式m) 语句m;

else 语句n;

(2)case 语句

case语句有三种表示方式:

1) case(表达式) endcase

2) casez(表达式) endcase

3) casex(表达式) endcase

case分支项的一般格式如下:

分支表达式: 语句;

缺省项(default项): 语句;

1)在case语句中,控制表达式与分支表达式的值之间的比较是一种全等比较(===),必须保证两者的对应位全等。

2) casez与casex语句是case语句的两种变体,在casez语句中,z被认为是无关值。在casex语句中,值x和z都被认为是无关位。

3)可以用? 字符来代替字符x或z,表示无关位。

3.3.5 循环语句

(1)forever循环语句

forever语句实现的是一种无限的循环。forever循环语句常用于产生周期性的波形,用来作为仿真测试信号。forever语句不能独立写在程序中,一般必须写在initial块中。

forever语句的格式如下:forever 语句; //这里的语句就是被重复执行的循环体

或forever begin

多条语句;

end

disable关键字提供了一种中止命名块执行的方法。

(2)repeat 循环语句

repeat 语句实现的是一种循环次数预先指定的循环。

repeat语句的格式如下: repeat(循环次数表达式)

begin

多条语句 ;

end

(3)while 循环语句

while循环语句实现的循环是一种‖条件循环―。

while语句的格式如下: while(条件表达式) begin

多条语句 ;

end

(4)for 循环语句

for循环语句实现的循环是一种―条件循环‖。

for 循环语句的格式如下:for( 语句1;条件表达式;语句2) begin

多条语句;

end

3.3.6 编译向导语句

以字符―`‖(反引号)开头;末尾不加分号;

(1)宏替换`define

其使用格式为:`define 宏名字符串(数值或表达式)

1)`define用来将一个简单的宏名代替一个字符串或一个复杂的表达式。

2)文本内容必须在一行中定义,不能采用多行。

3)在引用已定义的宏名时,要在宏名前面加上符号―`‖。

4)可以利用`undef 指令来取消宏定义。

(2)文件包含`include

`include 是文件包含语句,它可将一个文件全部包含到另一个文件中。

其格式为:`include ―文件名‖

(3)条件编译`ifdef、`else 和`endif

条件编译命令可以指定仅对程序中的部分内容进行编译。

其使用格式为:

(1)`ifdef 宏名语句块`endif

(2)`ifdef 宏名语句块1 `else 语句块2 `edndif

3.4 Verilog HDL 数字设计的层次设计风格

※Verilog HDL作为一种硬件描述语言,能够从算法级、寄存器级、门级到开关级的多种抽象设计层次对数字系统进行建模。

※在用Verilog语言设计系统时,一般优先选择层次高的描述方式,因为行为级的描述给综合器提供了可优化的空间。而门级结构描述的电路综合器则很难再进行优化。

※模块的调用

调用格式:模块名称实例名(信号端口)

※信号端口可以通过位置或名称关联;但是关联方式不能够混合使用。

位置关联: (端口1,端口2,端口3,…. );

名称关联: (.被调用模块端口名称1(端口名称1), .模块端口名称2(端口名称2), .....);

Verilog HDL 中的顺序执行与并发执行

?顺序执行:串行块内的语句、―always过程模块‖内部的语句、if-else。

?并发执行:―assign‖持续赋值语句及实例元件调用及两个或更多个―always 过程块‖、并行块内部语句。

3.5常见组合与时序逻辑电路Verilog HDL描述

3.5.1 常用组合电路模块的设计

?组合逻辑电路在数字系统中起着基本组件的作用。

?组合逻辑电路包括:门电路、双向三态门、加法器、多路选择器、比较器、乘法器等。

(1)简单组合电路的描述

调用内置门元件描述、用assign连续赋值语句描述、用过程语句always块描述描述简单的组合逻辑通常使用assign结构,条件运算符是一种在组合逻辑实现分支判断时常使用的格式。

(2)复杂组合电路的描述

一般用always块实现较复杂的组合逻辑电路

3.5.2 常用时序电路模块设计

(1) 简单时序逻辑电路的描述

通常使用always块( @(posedge clk)或 @(negedge clk)来描述时序逻辑。(2) 复杂时序逻辑电路的描述

通常在always 过程语句里使用条件语句来实现较复杂的时序逻辑电路。

4. Quartus II 介绍

4.1 Quartus II 概述

一、概述

☆界面开放: Quartus II是Altera公司的EDA软件,但它可以与其它工业标准的设计输入、综合与校验工具相连接

☆与结构无关: Quartus II系统的核心Compiler支持Altera公司的可编程逻辑器件系列,提供了与结构无关的可编程逻辑环境。

☆丰富的设计库: Quartus II提供丰富的库单元供设计者调用,其中包括74系列的全部器件和其它多种逻辑功能部件,调用库元件进行设计,可以大大减轻设计人员的工作量,缩短设计周期。

☆硬件描述语言: Quartus II软件支持各种HDL设计输入选项,包括VHDL、Verilog HDL和Altera公司的AHDL。

☆完全集成化:内嵌自有的综合器以及仿真器,可以完成从设计输入到硬件配置的完整PLD设计流程。

二、软件的安装

(1)运行安装程序(可执行文件)

(2)破解文件

1. 将crack/bin/sys_cpt.dll拷贝至C:\altera\80\quartus\bin\下;

2. 将crack/license.DAT拷贝至C:\altera\80\下;

3.查找网卡物理地址,点击运行,输入cmd,打开操作台,输入命令行

ipconfig /all

4. 找到以太网适配器本地连接,下面有物理地址,输入时取消dash(-) ,只

包含字符和数字

5. 用记事本打开C:\altera\80\license.DAT,将HOSTID=xxxxxxxxxxxx,

改成你的网卡物理地址,修改后保存。

(3)认证

4.2 原理图输入法

(一)设计输入

(二)设计编译

编译器(Complier)—完成错误检查、网表提取、逻辑综合、器件适配、产生仿真文件和编程配置文件。

指定所用芯片型号

分三步完成给芯片分配引脚

运行编译器

(三)设计仿真——仿真器(Simulator)

四大基本步骤:步骤1:建立波形输入文件

步骤2:仿真前设置

步骤3:编辑输入节点波形

步骤4:仿真

(四)编程下载

步骤1:用专用连接线将计算机USB口与下载箱相连,打开实验箱电源;连接所

设计的I/O线等硬件

步骤2:选择QuartusⅡ主窗口的Tools/Programmer命令或点击进入器件编程和配置对话框

4.3 文本输入方式

.v:是Verilog HDL设计输入文件

.vhd:是VHDL设计输入文件

.tdf:是AHDL 设计输入文件

利用QuartusII文本输入方式进行设计的步骤同原理图法新建工程相同

4.4 设计流程

1.设计输入: 1)新建文件夹/新建项目/新建文件/选择原理图(文本)输入方式 2)画图(输入图元、连线、给端口及引线命名)/录入文本

3)存盘

4)编译

2.设计编译: 1)指定所用芯片型号:Assign/device

2) 给芯片分配引脚: Assign/ pin(或快捷键)

3)运行Processing/Complier (或快捷键)

3.仿真: 1)新建文件/选择波形输入方式/添加节点(端口)名称

2)仿真前设置:功能仿真or时序仿真

设置网格尺寸及仿真结束时间

3)给输入添加波形

4)存盘

5)运行Processing/Generate Functional simulation Netlist 6)运行Simulator 7)生成图元

4.下载编程: 1)连接实验箱与电脑的UBS线、实验箱电源线、I/O线

2)选择QuartusⅡ主窗口的Tools/Programmer,进行编程配置(USB Blaster、JTAG)

3)下载( )

5.在线测试:

数字系统设计试卷2012A卷

中国矿业大学2012~2013学年第一学期 《数字系统设计基础》试卷(A)卷 考试时间:100 分钟考试方式:闭卷 学院_________班级_____________姓名___________学号____________ 一、选择题(20分,每题2分) 1.不完整的IF语句,其综合结果可实现:_________ A. 三态控制电路 B. 条件相或的逻辑电路 C. 双向控制电路 D. 时序逻辑电路 2.关于进程语句说法错误的是_________ A. PROCESS为一无限循环语句(执行状态、等待状态) B. PROCESS中的顺序语句具有明显的顺序/并行运行双重性 C. 进程必须由敏感信号的变化来启动 D. 变量是多个进程间的通信线 3、对于VHDL以下几种说法错误的是___________ A. VHDL程序中的实体部分是对元件和外部电路之间的接口进行的描述,可以看成是定义 元件的引脚 B. 一个完整的VHDL程序总是由库说明部分、实体和结构体等三部分构成 C. VHDL程序中是区分大小写的 D.结构体描述元件内部结构和逻辑功能 4.一个设计实体(电路模块)包括实体与结构体两部分,实体描述___________。 A. 实体与结构体之间的连接关系; B. 器件的内部功能; C. 实体使用的库文件; D. 器件外部可见特性如端口的数目、方向等 5. 组合逻辑电路中的毛刺信号是由于______引起的。 A. 电路中存在延迟 B.电路不是最简 C. 电路有多个输出 D.电路中使用不同的门电路 6. 下列关于临界路径说法正确的是___________ A. 临界路径与系统的工作速度无关 B. 临界路径减小有助于缩小电路规模 C. 临界路径减小有助于降低功耗 D. 临界路径是从系统输入到输出的各条路径中信号通过时间最长的那条路径 7. 关于FPGA和CPLD的区别说法正确的是___________ A. CPLD 更适合完成各种算法和组合逻辑,FPGA 更适合于完成时序逻辑

数字系统设计技术实验指导书

Experiment 2 Designing Number Comparer 实验目的: 熟悉QuartusII 的开发环境 熟练掌握编程开发流程 学习VHDL 的基本语法 学习VHDL 编程设计 实验内容:数值比较器设计 实验要求:熟练掌握QuartusII 开发环境下对可编程逻辑器件进行程序化设计的整套流程 设计输入使用插入模板 (Insert Template ) 在QuartusII 开发环境下对设计程序进行时序仿真 将生成的配置文件下载到实验板,进行最终的实物测试验证 实验原理:根据两位二进制数的大小得到对应的比较结果,其电路示意图及电路特性表为: 比较器特性表 比较器电路示意图 实验报告内容要求: (1) 实验目的; (2) 实验内容; (3) 实验要求; (4) 实验原理; (5) 程序编写; (6) 程序编译(首先选择器件具体型号); (7) 功能仿真和芯片时序仿真; (8) 芯片引脚设定; (9) 适配下载结果及结论。 Number Comparer A(3..0) B(3..0) In_s In_l In_e Yl Ye Ys Y

Experiment 3 Designing 8 to1-Multiplxer 实验目的:熟悉QuartusII的开发环境 熟练掌握编程开发流程 学习VHDL的基本语法 学习VHDL编程设计 实验内容:八选一数据选择器设计。 实验要求:熟练掌握QuartusII开发环境下对可编程逻辑器件进行程序化设计的整套流程设计输入使用插入模板(Insert Template) 在QuartusII开发环境下对设计程序进行时序仿真 将生成的配置文件下载到实验板,进行最终的实物测试验证 实验原理: 电路功能表及其电路外部符号如下: 电路功能表 实验报告内容要求: (1)实验目的; (2)实验内容; (3)实验要求; (4)实验原理; (5)程序编写; (6)程序编译(首先选择器件具体型号); (7)功能仿真和芯片时序仿真; (8)芯片引脚设定; (9)适配下载结果及结论。

数字逻辑课程设计数字时钟课程设计数电课程设计数字电子技术

数字逻辑课程设计 自从它被发明的那天起,就成为人们生活中必不可少的一种工具,尤其是在现在这个讲 究效率的年代,时钟更是在人类生产、生活、学习等多个领域得到广泛的应用。然而随着时 间的推移,人们不仅对于时钟精度的要求越来越高,而且对于时钟功能的要求也越来越多,时钟已不仅仅是一种用来显示时间的工具,在很多实际应用中它还需要能够实现更多其它的

功能。诸如闹钟功能、日历显示功能、温度测量功能、湿度测量功能、电压测量功能、频率测量功能、过欠压报警功能等。钟表的数字化给人们的生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。诸如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、自动起闭路灯、定时开关烘箱、通断动力设备、甚至各种定时电气的自动启用等,所有这些,都是以钟表数字化为基础的。可以说,设计多功能数字时钟的意义已不只在于数字时钟本身,更大的意义在于多功能数字时钟在许多实时控制系统中的应用。在很多实际应 用中,只要对数字时钟的程序和硬件电路加以一定的修改,便可以得到实时控制的实用系统, 从而应用到实际工作与生产中去。因此,研究数字时钟及扩大其应用,有着非常现实的意义。 数字钟从原理上讲是一种典型的数字电路,其中包括了组合逻辑电路和时序电路?目前,数字钟的功能越来越强,并且有多种专门的大规模集成电路可供选择? 前言 (2) 目录 (2) 题目 (2) 摘要 (2) 关键字 (3) 设计要求 (3) 正文 (3) 1电路结构与原理图 (3) 2数码显示器 (3) 60进制计数和24进制计数 (4) 校时 (7) 振荡器 (8) 3.计算、仿真的过程和结果 (9) 鸣谢 (11) 元器件清单 (11) 参考文献 (11) 总结与体会 (11) 教师评语 (12) 数字时钟的课程设计 摘要: 数字钟是一种用数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具有更高 的准确性和直观性,且无机械装置,具有更更长的使用寿命,因此得到了广泛的使用。 数字钟从原理上讲是一种典型的数字电路,其中包括了组合逻辑电路和时序电路。目前, 数字钟的功能越来越强,并且有多种专门的大规模集成电路可供选择。本设计采用74LS290. 74LS47.BCD七段数码管和适当的门电路构成,可实现对时、分、秒等时间信息的采集和较时 功能地实现?

数字系统设计

第一次作业 EDA 的英文全称是什么EDA 的中文含义是什么 答:ED自动化A 即Electronic Design Automation 的缩写,直译为:电子设计。 什么叫 EDA 技术利用 EDA 技术进行电子系统的设计有什么特点 答:EDA 技术有狭义和广义之分,狭义EDA 技术就是以大规模可编程逻辑器件为设计载体,以硬件描述语言为系统逻辑描述的主要表达方式,以计算机、大规模可编程逻辑器件的开发软件及实验开发系统为设计工具,通过有关的开发软件,自动完成用软件的方式设计的电子系统到硬件系统的逻辑编译、逻辑化简、逻辑分割、逻辑综合及优化、逻辑布局布线、逻辑仿真,直至完成对于特定目标芯片的适配编译、逻辑映射、编程下载等工作,最终形成集成电子系统或专用集成芯片的一门新技术,或称为IES/ASIC 自动设计技术。 ①用软件的方式设计硬件;②用软件方式设计的系统到硬件系统的转换是由有关的开发软件自动完成的;③设计过程中可用有关软件进行各种仿真;④系统可现场编程,在线升级;⑤整个系统可集成在一个芯片上,体积小、功耗低、可靠性高。 从使用的角度来讲,EDA 技术主要包括几个方面的内容这几个方面在整个电子系统的设计中分别起什么作用 答:EDA 技术的学习主要应掌握四个方面的内容:①大规模可编程逻辑器件;②硬件描述语言;③软件开发工具;④实验开发系统。其中,硬件描述语言是重点。对于大规模可编程逻辑器件,主要是了解其分类、基本结构、工作原理、各厂家产品的系列、性能指标以及如何选用,而对于各个产品的具体结构不必研究过细。对于硬件描述语言,除了掌握基本语法规定外,更重要的是要理解VHDL 的三个“精髓”:软件的强数据类型与硬件电路的惟一性、硬件行为的并行性决定了VHDL 语言的并行性、软件仿真的顺序性与实际硬件行为的并行性;要掌握系统的分析与建模方法,能够将各种基本语法规定熟练地运用于自己的设计中。对于软件开发工具,应熟练掌握从源程序的编辑、逻辑综合、逻辑适配以及各种仿真、硬件验证各步骤的使用。对于实验开发系统,主要能够根据自己所拥有

verilog数字系统设计教程习题答案

verilog 数字系统设计教程习题答案第二章 HDL 既是一种行为描述语言,也是一种结构描述语言。如果按照一定的规则和风格编写代码,就可以将功能行为模块通过工具自动转化为门级互联的结构模块。这意味着利用Verilog 语言所提供的功能,就可以构造一个模块间的清晰结构来描述复杂的大型设计,并对所需的逻辑电路进行严格的设计。 2.模块的基本结构由关键词module和endmodule构成。 3.一个复杂电路系统的完整Verilog HDL 模型是由若干个Verilog HDL模块构成的,每一个模块又可以由若干个子模块构成。其中有些模块需要综合成具体电路,而有些模块只是与用户所设计的模块交互的现存电路或激励信号源。利用Verilog HDL语言结构所提供的这种功能就可以构造一个模块间的清晰层次结构来描述极其复杂的大型设计,并对所作设计的逻辑电路进行严格的验证。 HDL和VHDL乍为描述硬件电路设计的语言,其共同的特点在于:能形式化地抽象表示电路的结构和行为、支持逻辑设计中层次与领域的描述、可借用高级语言的精巧结构来简化电路的描述、具有电路仿真与验证机制以保证设计的正确性、支持电路描述由高层到低层的综合转换、硬件描述与实现工艺无关(有关工艺参数可通过语言提供的属性包括进去)、便于文档管理、易于理解和设计重用。 5.不是

6.将用行为和功能层次表达的电子系统转换为低层次的便于具体实现的模块组合装配的过程。 7.综合工具可以把HDL变成门级网表。这方面Synopsys工具占有较大的优势,它的Design Compile 是作为一个综合的工业标准,它还有另外一个产品叫Behavior Compiler ,可以提供更高级的综合。 另外最近美国又出了一个软件叫Ambit ,据说比Synopsys 的软件更有效,可以综合50万门的电路,速度更快。今年初Ambit 被Cadence 公司收购,为此Cade nee放弃了它原来的综合软件Syn ergy。随着FPGA 设计的规模越来越大,各EDA公司又开发了用于FPGA设计的综合软件,比较有名的有:Sy nopsys 的FPGAExpress,Cade nee 的Syn plity ,Mentor的Leonardo,这三家的FPGA综合软件占了市场的绝大部分。 8.整个综合过程就是将设计者在EDA平台上编辑输入的HDL文本、原理图或状态图形描述,依据给定的硬件结构组件和约束控制条件 进行编译、优化、转换和综合,最终获得门级电路甚至更底层的电路描述网表文件。用于适配,适配将由综合器产生的网表文件配置于指定的目标器件中,使之产生最终的下载文件,如JEDEC Jam格式的 文件 9.在FPGA设计中,仿真一般分为功能仿真(前仿真)和时序仿真(后仿真)。功能仿真又叫逻辑仿真,是指在不考虑器件延时和布线延时的理想情况下对源代码进行逻辑功能的验证;而时序仿真是在布局布线后进行,它与

数字钟设计报告——数字电路实验报告

. 数字钟设计实验报告 专业:通信工程 :王婧 班级:111041B 学号:111041226 .

数字钟的设计 目录 一、前言 (3) 二、设计目的 (3) 三、设计任务 (3) 四、设计方案 (3) 五、数字钟电路设计原理 (4) (一)设计步骤 (4) (二)数字钟的构成 (4) (三)数字钟的工作原理 (5) 六、总结 (9) 1

一、前言 此次实验是第一次做EDA实验,在学习使用软硬件的过程中,自然遇到很多不懂的问题,在老师的指导和同学们的相互帮助下,我终于解决了实验过程遇到的很多难题,成功的完成了实验,实验结果和预期的结果也是一致的,在这次实验中,我学会了如何使用Quartus II软件,如何分层设计点路,如何对实验程序进行编译和仿真和对程序进行硬件测试。明白了一定要学会看开发板资料以清楚如何给程序的输入输出信号配置管脚。这次实验为我今后对 EDA的进一步学习奠定了更好的理论基础和应用基础。 通过本次实验对数电知识有了更深入的了解,将其运用到了实际中来,明白了学习电子技术基础的意义,也达到了其培养的目的。也明白了一个道理:成功就是在不断摸索中前进实现的,遇到问题我们不能灰心、烦躁,甚至放弃,而要静下心来仔细思考,分部检查,找出最终的原因进行改正,这样才会有进步,才会一步步向自己的目标靠近,才会取得自己所要追求的成功。 2

二、设计目的 1.掌握数字钟的设计方法。 2熟悉集成电路的使用方法。 3通过实训学会数字系统的设计方法; 4通过实训学习元器件的选择及集成电路手册查询方法; 5通过实训掌握电子电路调试及故障排除方法; 6熟悉数字实验箱的使用方法。 三、设计任务 设计一个可以显示星期、时、分、秒的数字钟。 要求: 1、24小时为一个计数周期; 2、具有整点报时功能; 3、定时闹铃(未完成) 四、设计方案 一个基本的数字钟电路主要由译码显示器、“时”,“分”,“秒”计数器和定时器组成。干电路系统由秒信号发生器、“时、 3

数字逻辑课程设计报告

数字逻辑课程设计报告

数字逻辑课程设计 多功能数字钟 班级: 学号: 课程设计人: 指导老师: 课题: 完成时间:

一、设计目的: 学会应用数字系统设计方法进行电路设计,熟练地运用汇编语言。 二、设计任务及要求: 1.记时、记分、记秒 2.校时、校分、秒清0 3.整点报时 4.时间正常显示 5.闹时功能 三、设计思路: 将整个闹钟分为以下几个模块,每个模块中都有详细的各部分的设计思路,源代码及仿真图像,生成的器件。 1.计时模块 计小时:24进制计数器 计分、计秒:60进制计数器 计时间过程: 计秒:1HZ计数脉冲,0~59循环计数,计数至59时产生进位信号。 计分:以秒计数器进位信号作为分计数脉冲,0~59循环计数,59时产生进位。 计时:以分计数器进位信号作为时计数脉冲,0~23循环计数,23时清0。 二十四进制计数器代码: library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity cnt24 is port (clk:in std_logic; qh,ql:out std_logic_vector(3 downto 0)); end cnt24; architecture behave of cnt24 is signal q1,q0:std_logic_vector(3 downto 0); begin process(clk) begin if(clk'event and clk='1')then if(q1="0010" and q0="0011")then q1<="0000";q0<="0000"; elsif(q0="1001")then q0<="0000";q1<=q1+'1'; else q0<=q0+'1'; end if; end if; qh<=q1; ql<=q0;

《verilog_数字系统设计课程》(第二版)思考题答案

Verilog数字系统设计教程思考题答案 绪论 1.什么是信号处理电路?它通常由哪两大部分组成? 信号处理电路是进行一些复杂的数字运算和数据处理,并且又有实时响应要求的电路。它通常有高速数据通道接口和高速算法电路两大部分组成。 2.为什么要设计专用的信号处理电路? 因为有的数字信号处理对时间的要求非常苛刻,以至于用高速的通用处理器也无法在规定的时间内完成必要的运算。通用微处理器芯片是为一般目的而设计的,运算的步骤必须通过程序编译后生成的机器码指令加载到存储器中,然后在微处理器芯片控制下,按时钟的节拍,逐条取出指令分析指令和执行指令,直到程序的结束。微处理器芯片中的内部总线和运算部件也是为通用目的而设计,即使是专为信号处理而设计的通用微处理器,因为它的通用性也不可能为某一特殊的算法来设计一系列的专用的运算电路而且其内部总线的宽度也不能随便的改变,只有通过改变程序,才能实现这个特殊的算法,因而其算法速度也受到限制所以要设计专用的信号处理电路。 3.什么是实时处理系统? 实时处理系统是具有实时响应的处理系统。 4.为什么要用硬件描述语言来设计复杂的算法逻辑电路? 因为现代复杂数字逻辑系统的设计都是借助于EDA工具完成的,无论电路系统的仿真和综合都需要掌握硬件描述语言。 5.能不能完全用C语言来代替硬件描述语言进行算法逻辑电路的设计? 不能,因为基础算法的描述和验证通常用C语言来做。如果要设计一个专用的电路来进行这种对速度有要求的实时数据处理,除了以上C语言外,还须编写硬件描述语言程序进行仿真以便从电路结构上保证算法能在规定的时间内完成,并能通过与前端和后端的设备接口正确无误地交换数据。 6.为什么在算法逻辑电路的设计中需要用C语言和硬件描述语言配合使用来提 高设计效率? 首先C语言很灵活,查错功能强,还可以通过PLI编写自己的系统任务,并直接与硬件仿真器结合使用。C语言是目前世界上应用最为广泛的一种编程语言,因而C程序的设计环境比Verilog HDL更完整,此外,C语言有可靠地编译环境,语法完备,缺陷缺少,应用于许多的领域。比较起来,Verilog语言只是针对硬件描述的,在别处使用并不方便。而用Verilog的仿真,综合,查错等大部分软件都是商业软件,与C语言相比缺乏长期大量的使用,可靠性较差,亦有很多缺陷。所以只有在C语言的配合使用下,Verilog才能更好地发挥作用。C 语言与Verilog HDL语言相辅相成,互相配合使用。这就是即利用C语言的完整性又要结合Verilog对硬件描述的精确性,来更快更好地设计出符合性能要求的

数字逻辑课程设计-数字时钟

数字逻辑课程设计实验报告 题目数字钟 姓名桂大有 班级网络工程103班 学号109074360 指导教师陆勤 完成日期2012年5月21日

数字钟的设计 1.数字钟的功能描述 (1)计时和显示功能 采用24小时计时并以十进制数字显示时、分、秒(时从00-23,分、秒从00-59)。 (2)校对动能 当数字时钟走的有偏差时,应能够手动校时。 2.数字钟的设计思路 根据功能要求,整个数字时钟分为计时和校时两大部分。 计时部分秒计时电路接收1Hz时基信号,进行60进制计数,计满后秒值归0,并产生1/60Hz时钟信号;分钟计时电路接受1/60Hz时钟信号,进行60进制计数,计满后分钟值归0,并产生1/3600Hz时钟信号,小时计时电路接收1/3600Hz时钟信号,进行24小时计数,计满后小时、分、秒皆归0,如此循环往复。 校时部分,采用两个瞬态按键配合实现,1号键产生单脉冲,控制数字钟在计时/校时/校分/校秒四种状态间切换,2号键通过控制计数使能端让时/分/秒计数器发生状态翻转以达到指定的数值。 3.系统功能模块介绍 Ⅰ.模块一:数字钟总体原理电路。 其中包含:(1)分钟、秒计时电路(2)小时计时电路(3)计时/校时的切换

Ⅱ.采用原理图和HDL混合设计方式实现数字钟 ①分钟、秒计时电路 分钟、秒计时需要60进制计数,其电路图如下所示: 该电路图用两片74160采用同步连接构成60进制计数器,通过译码电路识别稳态“59”,输出低电平使计数器置数为0。整个技术循环为00—>01—>02—>…—>58—>59—>00—>…,共有60个稳定状态。计数值采用BCD码形式,Q7~Q4表示分钟或秒的十位,Q3~Q0表示分钟或秒的各位。EN输入端当正常计数状态时接收分钟计时电路的进位输出,,而在校时状态时接收校时脉冲用于控制小时值的翻转。计满进位输出端CO用于触发高一级计数器的技术动作。 ②小时计时电路(采用24时制,电路图如下所示)

数字电路实验计数器的设计

数字电路与逻辑设计实验报告实验七计数器的设计 :黄文轩 学号:17310031 班级:光电一班

一、实验目的 熟悉J-K触发器的逻辑功能,掌握J-K触发器构成异步计数器和同步计数器。 二、实验器件 1.数字电路实验箱、数字万用表、示波器。 2.虚拟器件: 74LS73,74LS00, 74LS08, 74LS20 三、实验预习 1. 复习时序逻辑电路设计方法 ①根据设计要求获得真值表 ②画出卡诺图或使用其他方式确定状态转换的规律 ③求出各触发器的驱动方程 ④根据已有方程画出电路图。 2. 按实验内容设计逻辑电路画出逻辑图 Ⅰ、16进制异步计数器的设计 异步计数器的设计思路是将上一级触发器的Q输出作为下一级触发器的时钟信号,置所有触发器的J-K为1,这样每次到达时钟下降沿都发生一次计数,每次前一级 触发器从1变化到0都使得后一级触发器反转,即引发进位操作。 画出由J-K触发器组成的异步计数器电路如下图所示:

使用Multisim仿真验证电路正确性,仿真图中波形从上到下依次是从低位到高位 触发器的输出,以及时钟信号。: 可以看出电路正常执行16进制计数器的功能。 Ⅱ、16进制同步计数器的设计 较异步计数器而言,同步计数器要求电路的每一位信号的变化都发生在相同的时间点。

因此同步计数器各触发器的时钟脉冲必须是同一个时钟信号,这样进位信息就要放置在J-K 输入端,我们可以把J-K端口接在一起,当时钟下降沿到来时,如果满足进位条件(前几位触发器输出都为1)则使JK为1,发生反转实现进位。 画出由J-K触发器和门电路组成的同步计数器电路如下图所示 使用Multisim仿真验证电路正确性,仿真图中波形从上到下依次是从低位到高位触发器的输出,计数器进位输出,以及时钟信号。:

数字逻辑课程设计 数字电子钟

课程设计(综合实验)报告 题目:第四个实验数字电子钟院系:计算机科学系 班级:计算计科学与技术1班学号: 学生姓名: 队员姓名: 指导教师:

《数字逻辑》综合实验 任务书 一、目的与要求 1 目的 1.1综合实验是教学中必不可少的重要环节,通过综合实验巩固、深化和扩展学生的理论知识与初步的专业技能,提高综合运用知识的能力,逐步增强实际工程训练。 1.2注重培养学生正确的设计思想,掌握综合实验的主要内容、步骤和方法。 1.3培养学生获取信息和综合处理信息的能力、文字和语言表达能力以及协作工作能力。 1.4提高学生运用所学的理论知识和技能解决实际问题的能 及其基本工程素质。 2.要求 2.1 能够根据设计任务和指标要求,综合运用电子技术课程中所学到的理论知识与实践技能独立完成一个设计课题。 2.2根据课题需要选择参考书籍,查阅手册、图表等有关文献资料。要求通过独立思考、深入钻研综合实验中所遇到的问题,培养自己分析、解决问题的能力。 2.3进一步熟悉常用电子器件的类型和特性,掌握合理选用的原则。 2.4学会电子电路的安装与调试技能,掌握常用仪器设备的正确

使用方法。利用“观察、判断、实验、再判断”的基本方法,解决实验中出现的问题。 2.5学会撰写综合实验总结报告。 2.6通过综合实验,逐步形成严肃认真、一丝不苟、实事求是的工作作风和科学态度,培养学生树立一定的生产观点、经济观点和全局观点。要求学生在设计过程中,坚持勤俭节约的原则,从现有条件出发,力争少损坏元件。 2.7在综合实验过程中,要做到爱护公物、遵守纪律、团结协作、注意安全。 二、主要内容 数字电子钟 设计一台能显示时﹑分、秒的数字电子钟,要求如下: 1)秒﹑分为00—59六十进制计数器,时为00—23二十四进制计数器; 2)可手动校正:可分别对秒﹑分﹑时进行手动脉冲输入调整或连续脉冲输入校正,(校正时不能输出进位)。 元器件选择 74LS162:4块与非门74LS00:2块共阳数码管LED 74LS161:2块GAL16V8:2块晶体振荡器:1MHZ GAL20V8:1块TDS-4实验箱 导线若干 所需要器件的图片如下

数字电路及设计实验

常用数字仪表的使用 实验内容: 1.参考“仪器操作指南”之“DS1000操作演示”,熟悉示数字波器的使用。 2.测试示波器校正信号如下参数:(请注意该信号测试时将耦合方式设置为直流耦合。 峰峰值(Vpp),最大值(Vmax),最小值(Vmin), 幅值(Vamp),周期(Prd),频率(Freq) 顶端值(Vtop),底端值(Vbase),过冲(Overshoot), 预冲(Preshoot),平均值(Average),均方根值(Vrms),即有效值 上升时间(RiseTime),下降时间(FallTime),正脉宽(+Width), 负脉宽(-Width),正占空比(+Duty),负占空比(-Duty)等参数。 3.TTL输出高电平>2.4V,输出低电平<0.4V。在室温下,一般输出高电平是3.5V,输出低 电平是0.2V。最小输入高电平和低电平:输入高电平>=2.0V,输入低电平<=0.8V。 请采用函数信号发生器输出一个TTL信号,要求满足如下条件: ①输出高电平为3.5V,低电平为0V的一个方波信号; ②信号频率1000Hz; 在示波器上观测该信号并记录波形数据。

集成逻辑门测试(含4个实验项目) (本实验内容选作) 一、实验目的 (1)深刻理解集成逻辑门主要参数的含义和功能。 (2)熟悉TTL 与非门和CMOS 或非门主要参数的测试方法,并通过功能测试判断器件好坏。 二、实验设备与器件 本实验设备与器件分别是: 实验设备:自制数字实验平台、双踪示波器、直流稳压电源、数字频率计、数字万用表及工具; 实验器件:74LS20两片,CC4001一片,500Ω左右电阻和10k Ω左右电阻各一只。 三、实验项目 1.TTL 与非门逻辑功能测试 按表1-1的要求测74LS20逻辑功能,将测试结果填入与非门功能测试表中(测试F=1、0时,V OH 与V OL 的值)。 2.TTL 与非门直流参数的测试 测试时取电源电压V CC =5V ;注意电流表档次,所选量程应大于器件电参数规范值。 (1)导通电源电流I CCL 。测试条件:输入端均悬空,输出端空载。测试电路按图1-1(a )连接。 (2)低电平输入电流I iL 。测试条件:被测输入端通过电流表接地,其余输入端悬空,输出空载。测试电路按图1-1(b )连接。 (3)高电平输入电流I iH 。测试条件:被测输入端通过电流表接电源(电压V CC ),其余输入端均接地,输出空载。测试电路按图1-1(c )连接。 (4)电压传输特性。测试电路按图1-2连接。按表1-2所列各输入电压值逐点进行测量,各输入电压值通过调节电位器W 取得。将测试结果在表1-2中记录,并根据实测数据,做出电压传输特性曲线。然后,从曲线上读出V OH ,V OL ,V on ,V off 和V T ,并计算V NH ,V NL 等参数。 表1-1 与非门功能测试表

数字逻辑电路课程设计数字钟

数字逻辑课程设计 数字钟 姓名: 学号: 班级:物联网工程131班 学院:计算机学院 2015年10月10日

一、任务与要求 设计任务:设计一个具有整点报时功能的数字钟 要求: 1、显示时、分、秒的十进制数字显示,采用24小时制。 2、校时功能。 3、整点报时。 功能: 1、计时功能: 要求准确计时,以数字形式显示时、分、秒的时间。小时的计时要求为“12翻1”。 2、校时功能: 当数字钟接通电源或者计时出现误差时,需要校正时间(简称校时)。校时是数字钟应具备的基本功能,一般电子手表都具有时、分、秒等校时功能。为使电路简单,这里只进行分和小时的校时。对校时电路的要求是:在小时校正时不影响分和秒的正常计数;在分校正时不影响秒和小时的正常计数。校时方式有“快校时”和“慢校时”两种。“快校时”是通过开关控制,使计数器对1Hz的校时脉冲计数。“慢校时”是用手动产生单脉冲作校时脉冲。 3、整点报时: 每当数字钟计时快要到整点时发出声响;通常按照4低音1高音的顺序发出间断声响;以最后一声高音结束的时刻为整点时刻。 二、设计方案 电路组成框图: 主体电路 扩 展 电 路时显示器 时译码器 时计数器 分显示器 分译码器 分计数器 校时电路 秒显示器 秒译码器 秒计数器 定时控制 仿电台报时 报整点时数

数字钟电路是一个典型的数字电路系统,其由时、分、秒计数器以及校时和显示电路组成。其主要功能为计时、校时和报时。利用60进制和12进制递增计数器子电路构成数字钟系统,由2个60进制同步递增计数器完成秒、分计数,由12进制同步递增计数器完成小时计数。秒、分、时之间采用同步级联的方式。开关S1和S2分别是控制分和时的校时。报时功能在此简化为小灯的闪烁,分别在59分51秒、53秒、55秒、57秒及59秒时闪烁,持续的时间为1秒。 三、设计和实现过程 1.各元件功能 74LS160:可预置BCD异步清除器,具有清零与置数功能的十进制递增计数器。 74LS00:二输入端四与非门 74LS04:六反相器 74LS08:二输入端四与门 74LS20:四输入端双与非门 2.各部分电路的设计过程 (1)时分秒计数器的设计 时间计数电路由秒个位和秒十位计数器、分个位和分十位计数器及时个位和时十位计数器电路构成,其中秒个位和秒十位计数器、分个位和分十位计数器为60进制计数器,而根据设计要求,时个位和时十位计数器为12进制计数器。 秒/分钟显示电路:由于秒钟与分钟的都是为60进制的,所以它们的电路大体上是一样的,都是由一个10进制计数器和一个6进制计数器组成;有所不同的是分钟显示电路中的10进制计数器的ENP和ENT引脚是由秒钟显示电路的进位信号控制的。 分和秒计数器都是模M=60的计数器,其计数规律为00—01—…—58—59—00…。可选两片74LS160设计较为简单。 时计数器是一个“12翻1”的特殊进制计数器,即当数字钟运行到12时59分59秒时,秒的个位计数器再输入一个秒脉冲时,数字钟应自动显示为01时00分00秒,实现日常生活中习惯用的计时规律。可选两片74LS160设计。

数字逻辑课程设计 数字电子钟

课程设计(综合实验)报告题目:第四个实验数字电子钟院系:计算机科学系 班级:计算计科学与技术1班 学号: 学生姓名: 队员姓名: 指导教师:

《数字逻辑》综合实验 任务书 一、目的与要求 1 目的 综合实验是教学中必不可少的重要环节,通过综合实验巩固、深化和扩展学生的理论知识与初步的专业技能,提高综合运用知识的能力,逐步增强实际工程训练。 注重培养学生正确的设计思想,掌握综合实验的主要内容、步骤和方法。 培养学生获取信息和综合处理信息的能力、文字和语言表达能力以及协作工作能力。 提高学生运用所学的理论知识和技能解决实际问题的能 及其基本工程素质。 2.要求 能够根据设计任务和指标要求,综合运用电子技术课程中所学到的理论知识与实践技能独立完成一个设计课题。 根据课题需要选择参考书籍,查阅手册、图表等有关文献资料。要求通过独立思考、深入钻研综合实验中所遇到的问题,培养自己分析、解决问题的能力。 进一步熟悉常用电子器件的类型和特性,掌握合理选用的原则。 学会电子电路的安装与调试技能,掌握常用仪器设备的正确使用方法。利用“观察、判断、实验、再判断”的基本方法,解决实验中出现的问题。

学会撰写综合实验总结报告。 通过综合实验,逐步形成严肃认真、一丝不苟、实事求是的工作作风和科学态度,培养学生树立一定的生产观点、经济观点和全局观点。要求学生在设计过程中,坚持勤俭节约的原则,从现有条件出发,力争少损坏元件。 在综合实验过程中,要做到爱护公物、遵守纪律、团结协作、注意安全。 二、主要内容 数字电子钟 设计一台能显示时﹑分、秒的数字电子钟,要求如下: 1)秒﹑分为00—59六十进制计数器,时为00—23二十四进制计数器; 2)可手动校正:可分别对秒﹑分﹑时进行手动脉冲输入调整或连续脉冲输入校正,(校正时不能输出进位)。 元器件选择 74LS162:4块与非门74LS00:2块共阳数码管LED 74LS161:2块GAL16V8:2块晶体振荡器:1MHZ GAL20V8:1块TDS-4实验箱 导线若干 所需要器件的图片如下 1同步十进制计数器74LS162 3输入正与非门74LS00

数字电路与系统设计实验报告

数字电路与系统设计实验报告 学院: 班级: 姓名:

实验一基本逻辑门电路实验 一、实验目的 1、掌握TTL与非门、与或非门和异或门输入与输出之间的逻辑关系。 2、熟悉TTL中、小规模集成电路的外型、管脚和使用方法。 二、实验设备 1、二输入四与非门74LS00 1片 2、二输入四或非门74LS02 1片 3、二输入四异或门74LS86 1片 三、实验内容 1、测试二输入四与非门74LS00一个与非门的输入和输出之间的逻辑关系。 2、测试二输入四或非门74LS02一个或非门的输入和输出之间的逻辑关系。 3、测试二输入四异或门74LS86一个异或门的输入和输出之间的逻辑关系。 四、实验方法 1、将器件的引脚7与实验台的“地(GND)”连接,将器件的引脚14与实验台的十5V连接。 2、用实验台的电平开关输出作为被测器件的输入。拨动开关,则改变器件的输入电平。 3、将被测器件的输出引脚与实验台上的电平指示灯(LED)连接。指示灯亮表示输出低电平(逻辑为0),指示灯灭表示输出高电平(逻辑为1)。 五、实验过程 1、测试74LS00逻辑关系 (1)接线图(图中K1、K2接电平开关输出端,LED0是电平指示灯) (2)真值表 2、测试74LS02逻辑关系

(1)接线图 (2)真值表 3、测试74LS86逻辑关系接线图 (1)接线图 (2)真值表 六、实验结论与体会 实验是要求实践能力的。在做实验的整个过程中,我们首先要学会独立思考,出现问题按照老师所给的步骤逐步检查,一般会检查处问题所在。实在检查不出来,可以请老师和同学帮忙。

实验二逻辑门控制电路实验 一、实验目的 1、掌握基本逻辑门的功能及验证方法。 2、掌握逻辑门多余输入端的处理方法。 3、学习分析基本的逻辑门电路的工作原理。 二、实验设备 1、基于CPLD的数字电路实验系统。 2、计算机。 三、实验内容 1、用与非门和异或门安装给定的电路。 2、检验它的真值表,说明其功能。 四、实验方法 按电路图在Quartus II上搭建电路,编译,下载到实验板上进行验证。 五、实验过程 1、用3个三输入端与非门IC芯片74LS10安装如图所示的电路。 从实验台上的时钟脉冲输出端口选择两个不同频率(约7khz和14khz)的脉冲信号分别加到X0和X1端。对应B和S端数字信号的所有可能组合,观察并画出输出端的波形,并由此得出S和B(及/B)的功能。 2、实验得真值表

数字逻辑课程设计

数字逻辑课程设计 一、课程设计目的 《数字逻辑课程设计》是计算机大类学生的必修课之一,是《数字逻辑》课程的一个重要的实践教学环节,它与理论教学和实验教学相结合,培养学生综合运用所学的基础理论和掌握的基本技能来解决实际问题的能力。 课程设计通过完成一个课题的理论设计和实际调试工作,即能加深对所学知识的理解,又能培养综合的实践技能,从而提高分析问题和解决问题的能力。训练学生综合运用学过的数字逻辑的基本知识,独立设计比较复杂的数字电路的能力。通过实践教学引导学生在理论指导下有所创新,为专业课的学习和日后工程实践奠定基础。 二、课程设计要求 (一)教学要求 1.巩固和加深对数字逻辑各类型电路的设计方法及电子器件所构成电路的理解,并适当拓宽学生在电子线路领域的知识面。 2.初步掌握数字电路的设计、计算方法。能根据系统的技术指标,论证、拟订设计方案;选用合适的电路形式并进行工程计算及选择电路的元器件。 3.培养独立组织实验方案、正确选择使用实验仪器的能力,提高对功能电路和系统的安装调整、测试技术,以及综合运用所学理论知识解决实际问题的能力。(二)能力培养要求 1.通过查阅手册和有关文献资料培养学生独立分析和解决实际问题的能力。 2.通过实际电路方案的比较分析、设计计算、元件选取、安装调试等环节,掌握简单实用电路的分析方法和工程设计方法。 3.掌握常用仪器设备的使用方法,学会简单的实验调试,提高动手能力。 4.综合应用课程中学到的理论知识去独立完成一个设计任务。 5.培养严肃认真的工作作风和严谨的科学态度。

三、课程设计内容 从参考题目中自选1题进行资料查找和设计,具体课题及要求见附件1。 1.数码管显示控制器 2.乒乓球游戏机 3.智力竞赛抢答器 4.数字钟 5.交通灯控制器 四、设计报告的内容和要求 报告的内容包括以下几个方面: 1、课程设计题目:自选题目名称 2、设计任务及主要性能指标和要求 3、电路的设计 (1)根据功能要求构建总体设计方案,比较和选定设计的系统方案,确定整个电路的组成及各单元电路完成的功能,画出系统框图。 (2)单元电路的设计、参数计算、器件选择及介绍。 (3)画出完整的总体电路设计图(器件型号、元件参数应标出)和必要的波形图,并说明电路的工作原理。 4、整理测试数据,分析是否满足设计要求。 5、在安装调试中的方法技巧,遇到的问题、原因及解决方法。 6、元器件清单。 7、总结设计电路的特点和方案的优缺点。 8、设计收获体会 9、参考文献。 设计实验部分根据实际完成的实验内容,按照上面自选题目包括的各部分内容进行编写。 报告要求根据课程设计报告的内容要求认真书写,所有的内容一律用课程设计报告书手写,总页数不得少于15页。

数字系统设计实验

多周期MIPS微处理器设计 一、实验目的 (1)、熟悉MIPS指令系统。 (2)、掌握MIPS多周期微处理器的工作原理和实现方法。 (3)、掌握控制器的微程序设计方法。 (4)、掌握MIPS多周期微处理器的测试方法。 (5)、了解用软件实现数字系统设计的方法。 二、实验任务 设计一个32位MIPS多周期微处理器,具体的要求如下: 1、至少运行下列的6类32条MIPS指令。 (1)、算术逻辑指令:ADD、ADDU、SUB、SUBU、ADDI、ADDIU。 (2)、逻辑运算指令:AND、OR、NOR、XOR、ANDI、ORI、XORI、SLT、SLTU、SLTI、SLTIU。 (3)、位移指令:SLL、SLLV、SRL、SRLV、SRA。 (4)、条件分支指令:BEQ、BNE、BGEZ、BGTZ、BLEZ、BLTZ。 (5)、无条件跳转指令:J、JR。 (6)、数据传送指令:LW、SW。 2、在XUP Virtex-2 Pro开发系统中实现该32位MIPS多周期微处理器,要求运行速度(CPU 工作时钟)大于25MHz。 三、实验设备 1、装有ISE、Modelsim SE和Chipscope Pro软件的计算机。 2、XUP Virtex-2 pro开发系统一套。 3、SVGA显示器一台。 四、MIPS指令简介 MIPS指令集具有以下特点: 1、简单的LOAD/STORE结构:所有的计算机类型的指令均从寄存器堆中读取数据并

把结果写入寄存器堆中,只有LOAD和STORE指令访问存储器。 2、易于流水线CPU的设计:MIPS指令集的指令格式非常规整,所有的指令均为32位,而且指令操作码在固定的位置上。 3、易于编译器的开发:一般来讲,编译器在编译高级语言程序时,很难用到复杂的指令,MIPS指令的寻址方式非常的简单,每条指令的操作也非常简单。 MIPS系统的寄存器结构采用标准的32位寄存器堆,共32个寄存器,标号为0-31。其中第0号寄存器永远为常数0。 CPU所支持的MIPS指令格式一共有3种,分别为R、I、J。R类型的指令从寄存器堆中读出两个源操作数,计算结果写回到寄存器堆;I类型的指令使用一共16为立即数作为源操作数;J类型的指令使用一共26位立即数作为跳转的目标地址(target address)。 MIPS的指令格式如图1所示,指令格式中OP(operation)是指令操作码;RS(register sourse)是源操作数的寄存器号;RD(register destination)是目标寄存器号;RT(register target)可以既是源寄存器号,又可以使目标寄存器号,由具体位置决定;FUNCT(function)可以被认为是扩展的操作码;SA(shift amount)由移位指令使用,定义移位位数。 I型中的Immediate是16为立即数。立即数型算术逻辑运算指令、数据传输指令和条件分支指令均采用这种形式。在立即数型算术逻辑运算指令、数据传送指令中,Immediate进行符号扩展至32位;而在条件分支指令中,Immediate先进行符号扩展至32位再左移2位。 在J形指令中26为target由JUMP指令使用,用于产生跳转的目标地址。 下面通过表格简单介绍本实验使用的MIPS核心指令。表1列出了本实验使用到的MIPS指令的格式和OP、FUNCT等简要信息。

电子科技大学 数字逻辑课程设计——流水灯的实现

数字逻辑课程设计 ——流水灯的设计 1问题概述: 设计一个可以循环移动的流水灯,灯总数为8盏,具体要求如下: 1、5亮,其余灭,右移三次后全灭 4、8亮,其余灭,左移三次后全灭 4、5亮,其余灭,各向两边移三次后全灭 1、8亮,其余灭,各向中间移三次后全灭 所要求的彩灯电路在某电路板上完成,该电路板能够提供48MHz标准时钟信号,附带有8个共阳的LED管可作为彩灯使用。 2问题分析 本装置可以看作一个具有20个状态的无输入、8个输出的Moore型时钟同步状态机,每一个状态对应依次出现的每一种亮灯情况,用5位状态编码表示。这里构造一个模20的计数器来循环产生这20种状态。同时对于输入的48MHz的标准时钟信号,需要将其转化为1HZ的信号,此处同样用计数器来实现分频功能。8个输出分别控制LED的发光情况。这里使用5-32的译码器实现输出函数的构造。电路框图如下: 这里使用一个5位的状态编码Q4Q3Q2Q1Q0,表示20个状态。8位的输出函数F7F6F5F4F3F2F1F0分别表示由左至右每一个灯的通断情况。由于本题中LED灯采用共阳极连接方式,所以当Fn为低电平时,对应的LED灯发光。 本电路状态图如下:

本电路的转移/输出表如下: 现针对每一部分设计具体电路 3设计方案 3.11/48MHz分频电路 对于48MHz的信号,一秒钟内有4.8*10^7个周期,而所需1Hz信号,每秒只有一个周期。使输入信号每经过2.4*10^7个周期,输出信号翻转一次方向,便可获得所需的1Hz信号。可以构造一个模4.8*10^7的计数器用于计数,并使计数器输出的最高位在一秒之内恰好变化一次,且占空比为50%,故采用7片74x163进行级联。计数范围为:0110100100011100101000000000-1001011011100011010111111111。这样恰好可以保证最高

相关文档
最新文档