进制计数器verilog 下载本文

内容发布更新时间 : 2024/5/18 9:30:23星期一 下面是文章的全部内容请认真阅读。

Harbin Institute of Technology

数字电子技术基础

课程名称: 数字电子技术课程大作业 设计题目: 基于Verilog HDL语言的

519电进制计数器设计

院 系: 班 级: 设 计 者: 学 号: 指导教师: 设计时间: 2011.12.03

哈尔滨工业大学

目 录

第一章 引言………………………………………………...…3

1.1 计数器简介 ……………………………….…….………...3 1.2 用可编程逻辑器件实现基本逻辑电路…….………...……3 1.3 Verilog HDL硬件描述语言简介……………………..……4 1.4 Verilog HDL硬件描述语言主要功能简介………………..4

第二章 510进制计数器设计……………..………….………6

2.1 510进制计数器设计要求 ………………….……………...6 2.2 510进制计数器设计思路……………….………………...6 2.2.1 逻辑电路描述方法的选择 …………………………….6 2.2.2 设计流程图 …………………………………………….6

2.3

利用Quartus II软件仿真实现 ………………………………6

2.3.1新建工程count510 ………………………………………6 2.3.2设计输入 ………………………………………………...7 2.3.3 Verilog语言描述 ………………………………………...7 2.3.4仿真电路图 ………………………………………………7 2.3.5 创建波形文件 ……………………………………………8 2.3.6 Quartus II仿真设置 ……………………………………….8 2.3.7 仿真结果 ………...……………………………………….8

第三章 总结…………………………………………….………11 参考文献…………………………………………………..………12

2 / 12

第一章 引言

1.1 计数器简介

计数是一种最简单基本的运算,计数器就是实现这种运算的逻辑电路,计数器在数字系统中主要是对脉冲的个数进行计数,以实现测量、计数和控制的功能,同时兼有分频功能,计数器是由基本的计数单元和一些控制门所组成,计数单元则由一系列具有存储信息功能的各类触发器构成,这些触发器有RS触发器、T触发器、D触发器及JK触发器等。计数器在数字系统中应用广泛,如在电子计算机的控制器中对指令地址进行计数,以便顺序取出下一条指令,在运算器中作乘法、除法运算时记下加法、减法次数,又如在数字仪器中对脉冲的计数等等。计数器可以用来显示产品的工作状态,一般来说主要是用来表示产品已经完成了多少份的折页配页工作。它主要的指标在于计数器的位数,常见的有3位和4位的。很显然,3位数的计数器最大可以显示到999,4位数的最大可以显示到9999。

1.2 用可编程逻辑器件实现基本逻辑电路

传统的电子设计通常是自底向上的,即首先确定构成系统的最底层的电路模块或原件的结构和功能,然后根据主系统的功能要求,将它们组合成更大的功能块,使它们的结构和功能满足上层系统的要求,以此流程,逐步向上递推,直至完成整个目标系统的设计。

自底向上设计方法的特点是,必须首先关注并致力于解决系统最底层硬件的可获得性及具体目标器件的技术细节。在这个设计过程中的任一时刻,最底层目标器件的更换,如某些技术参数不满足总体要求、缺货、由于市场竞争的变化临时提出降低系统成本以及要求提高运行速度等不可预测的外部因素,都可能需要重新开始设计。因此,在某些情况下自底向上的设计方法是一种低效、低可靠性、费时费力且成本高昂的设计方法。

PLD(可编程逻辑器件)的设计为自顶向下的设计方法,只有在EDA技术得到快速发展和成熟应用的几天才成为可能。自顶向下设计方法的有效应用必须给予功能强大的EDA工具,具备集系统描述、行为描述和结构描述为一体的硬件描述语言,以及先进的ASIC制造工艺和FPGA开发技术。当今,自顶向下的设计方法已是EDA技术的首选设计方法,是ASIC和FPGA开发的主要设计手段。

目前常用的可编程数字系统设计输入方式分别为原理图输入方式、硬件描述

3 / 12

语言输入方式和二者的混合输入方式。常见的硬件描述语言有VHDL和Verilog HDL语言等。

1.3 Verilog HDL硬件描述语言简介

Verilog HDL是一种硬件描述语言,用于从算法级、门级到开关级的多种抽象设计层次的数字系统建模。被建模的数字系统对象的复杂性可以介于简单的门和完整的电子数字系统之间。数字系统能够按层次描述,并可在相同描述中显式地进行时序建模。

Verilog HDL描述逻辑电路时常用3种描述方式,分别为:行为型描述、数据流型描述和结构型描述。行为型描述指对行为与功能进行描述,它只描述行为特征,而没有涉及用什么样的逻辑电路来实现,因此是一种高级语言描述方式,具有很强的通用性与有效性;数据流型描述指通过assign连续赋值实现组合逻辑功能的描述方式;结构型描述指描述实体连接的结构方式,这里的实体一般指Verilog语言已定义的基元,也就是说结构型描述指利用Verilog语言已定义的基元描述逻辑电路的描述方式。

Verilog HDL的3种描述方式中,行为型描述方式注重整体与功能,语句可能更简略,但写出来的语句可能不能被硬件所实现,即不能被综合;结构型语句通常更容易被综合,但可能语句显得更复杂。在实际开发中往往结合使用多种描述方法。

Verilog HDL语言不仅定义了语法,而且对每个语法结构都定义了清晰的模拟、仿真语义。因此,用这种语言编写的模型能够使用Verilog仿真器进行验证。语言从C编程语言中继承了多种操作符和结构。Verilog HDL提供了扩展的建模能力,其中许多扩展最初很难理解。但是,Verilog HDL语言的核心子集非常易于学习和使用,这对大多数建模应用来说已经足够。当然,完整的硬件描述语言足以对从最复杂的芯片到完整的电子系统进行描述。

1.4 Verilog HDL硬件描述语言主要功能简介

* 基本逻辑门,例如and、or和nand等都内置在语言中。

*用户定义原语(UDP)创建的灵活性。用户定义的原语既可以是组合逻辑原语,也可以是时序逻辑原语。

* 开关级基本结构模型,例如pmos 和nmos等也被内置在语言中。

* 提供显式语言结构指定设计中的端口到端口的时延及路径时延和设计的时序检查。

* 可采用三种不同方式或混合方式对设计建模。这些方式包括:行为描述方式—使用过程化结构建模;数据流方式—使用连续赋值语句方式建模;结构化方式—使用门和模块实例语句描述建模。

4 / 12

* Verilog HDL中有两类数据类型:线网数据类型和寄存器数据类型。线网类型表示构件间的物理连线,而寄存器类型表示抽象的数据存储元件。 * 能够描述层次设计,可使用模块实例结构描述任何层次。

* 设计的规模可以是任意的;语言不对设计的规模(大小)施加任何限制。 * Verilog HDL不再是某些公司的专有语言而是IEEE标准。

* 人和机器都可阅读Verilog 语言,因此它可作为EDA的工具和设计者之间的交互语言。

* Verilog HDL语言的描述能力能够通过使用编程语言接口(PLI)机制进一步扩展。PLI是允许外部函数访问Verilog 模块内信息、允许设计者与模拟器交互的例程集合。

* 设计能够在多个层次上加以描述,从开关级、门级、寄存器传送级(RTL)到算法级,包括进程和队列级。

* 能够使用内置开关级原语在开关级对设计完整建模。

* 同一语言可用于生成模拟激励和指定测试的验证约束条件,例如输入值的指定。

* Verilog HDL 能够监控模拟验证的执行,即模拟验证执行过程中设计的值能够被监控和显示。这些值也能够用于与期望值比较,在不匹配的情况下,打印报告消息。

* 在行为级描述中,Verilog HDL不仅能够在RTL级上进行设计描述,而且能够在体系结构级描述及其算法级行为上进行设计描述。 * 能够使用门和模块实例化语句在结构级进行结构描述。

* Verilog HDL 的混合方式建模能力,即在一个设计中每个模块均可以在不同设计层次上建模。

* Verilog HDL 还具有内置逻辑函数,例如&(按位与)和|(按位或)。 * 对高级编程语言结构,例如条件语句、情况语句和循环语句,语言中都可以使用。

* 可以显式地对并发和定时进行建模。 * 提供强有力的文件读写能力。

* 语言在特定情况下是非确定性的,即在不同的模拟器上模型可以产生不同的结果;例如,事件队列上的事件顺序在标准中没有定义。

5 / 12