可逆计数器的设计.docx

上传人:b****2 文档编号:17671711 上传时间:2023-07-27 格式:DOCX 页数:16 大小:226.28KB
下载 相关 举报
可逆计数器的设计.docx_第1页
第1页 / 共16页
可逆计数器的设计.docx_第2页
第2页 / 共16页
可逆计数器的设计.docx_第3页
第3页 / 共16页
可逆计数器的设计.docx_第4页
第4页 / 共16页
可逆计数器的设计.docx_第5页
第5页 / 共16页
可逆计数器的设计.docx_第6页
第6页 / 共16页
可逆计数器的设计.docx_第7页
第7页 / 共16页
可逆计数器的设计.docx_第8页
第8页 / 共16页
可逆计数器的设计.docx_第9页
第9页 / 共16页
可逆计数器的设计.docx_第10页
第10页 / 共16页
可逆计数器的设计.docx_第11页
第11页 / 共16页
可逆计数器的设计.docx_第12页
第12页 / 共16页
可逆计数器的设计.docx_第13页
第13页 / 共16页
可逆计数器的设计.docx_第14页
第14页 / 共16页
可逆计数器的设计.docx_第15页
第15页 / 共16页
可逆计数器的设计.docx_第16页
第16页 / 共16页
亲,该文档总共16页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

可逆计数器的设计.docx

《可逆计数器的设计.docx》由会员分享,可在线阅读,更多相关《可逆计数器的设计.docx(16页珍藏版)》请在冰点文库上搜索。

可逆计数器的设计.docx

可逆计数器的设计

 

EDA设计基础实验课程论文

 

题目可逆计数器的设计

学院电子工程学院

专业班级通信081班

学生姓名

指导教师

 

2013年6月12日

摘要

本设计介绍了Verilog-HDL语言在可逆计数器的具体应用,给出了仿真波形并下载到FPGA开发板上实际验证。

说明了实现电子电路的自动化设计(EDA)过程和EDA技术在现代数字系统中的重要地位及作用.

关键词:

Verilog-HDLEDAFPGA开发板仿真

 

Abstract

ThisdesigndescribestheVerilog-HDLlanguageinreversiblecounterthespecificapplication,thesimulationwaveformsdownloadedtotheFPGAdevelopmentboardandtheactualverification.Illustratestherealizationofelectroniccircuitdesignautomation(EDA)processandEDAtechnologyinthemoderndigitalsystemsinanimportantpositionandrole.

Keywords:

StateMachineVerilog-HDLEDAFPGAdevelopmentboardSimulation

 

第1章绪论

1.1概述

EDA是电子设计自动化(ElectronicDesignAutomation)的缩写,在20世纪90年代初从计算机辅助设计(CAD)、计算机辅助制造(CAM)、计算机辅助测试(CAT)和计算机辅助工程(CAE)的概念发展而来的。

EDA技术就是以计算机为工具,设计者在EDA软件平台上,用硬件描述语言VHDL完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。

1.1.1EDA技术的优势

1.用HDL对数字系统进行抽象的行为与功能描述到具体的内部线路结构,从而可以在电子设计的各个阶段、各个层次进行计算机模拟验证,保证设计过程的正确性,可以大大降低设计成本,缩短设计周期。

2.EDA工具之所以能够完成各种自动设计过程,关键是有种类库的支持,如逻辑仿真时的模拟库、逻辑综合时的综合库、版图综合时的版图库、测试综合时的测试库等。

3.某些HDL本身也是文档型的语言(如VHDL),极大地简化了设计文档的管理。

4.EDA中最为瞩目的功能,最具现代化电子设计技术特征的功能,是日益强大的逻辑设计仿真测试技术。

极大地提高了大规模系统电子设计的自动化程度。

1.1.2EDA的发展趋势

1.超大规模集成电路的集成度和工艺水平不断提高,深亚微米(Deep-Submicron)工艺,如0.13um、90nm已经走向成熟,在一个芯片上完成的系统级的集成已经成为可能。

2.由于工艺不断减小,在半导体材料上的许多寄生效应已经不能简单地补码忽略,这就对EDA工具提出了更高的要求。

同时,也使得IC生产线的投资更为巨大。

3.高性能的EDA工具得到长足的发展,其自动化和智能化程度不断提高,为嵌入式系统设计提供了功能强大的开发环境。

4.市场对电子产品提出了更高的要求,从而也对系统的集成度不断提出更高的要求。

同时,设计的效率也成了一个产品能否成功的因素,促使EDA工具应用更为广泛。

1.2硬件描述语言

硬件描述语言(HardwareDescriptionLanguage)是硬件设计人员和电子设计自动化(EDA)工具之间的界面。

其主要目的是用来编写设计文件,建立电子系统行为级的仿真模型。

即利用计算机的巨大能力对用VerilogHDL或VHDL建模的复杂数字逻辑进行仿真,然后再自动综合以生成符合要求且在电路结构上可以实现的数字逻辑网表(Netlist),根据网表和某种工艺的器件自动生成具体电路,然后生成该工艺条件下这种具体电路的延时模型。

仿真验证无误后,用于制造ASIC芯片或写入CPLD和FPGA器件中。

随着PC平台上的EDA工具的发展,PC平台上的VerilogHDL和VHDL仿真综合性能已相当优越,这就为大规模普及这种新技术铺平了道路。

目前国内只有少数重点设计单位和高校有一些工作站平台上的EDA工具,而且大多数只是做一些线路图和版图级的仿真与设计,只有个别单位展开了利用VerilogHDL和VHDL模型(包括可综合和不可综合)的进行复杂的数字逻辑系统的设计。

随着电子系统向集成化、大规模、高速度的方向发展,HDL语言将成为电子系统硬件设计人员必须掌握的语言。

1.2.1VHDL语言

VHDL(VeryHighSpeedIntegratedCircuitHardwareDescriptionLanguage,超高集成电路硬件描叙语言)诞生于1982年,是由美国国防部开发的一种快速设计电路的工具,目前已经成为IEEE(TheInstituteofElectricalandElectronics)的一种工业标准硬件描叙语言。

VHDL主要用于描述数字系统的结构、行为、功能和接口,非常适合用于可编程逻辑芯片的应用设计。

除了含有许多具有硬件特征的语句外,VHDL的语言形式和描述风格与

句法十分类似于一般的计算机高级语言。

VHDL的程序特点是将一项工程设计,或称为设计实体(可以是个元件、电路模块或一个系统)分成外部(或称可示部分,即端口)和内部(或称为不可视部分,即结构体)两部分,外部负责对设计实体和端口引脚命名和说明,内部负责对模块功能和算法进行描述。

在对一个设计实体定义了外部界面后,一旦其内部结构、功能开发完成,即可生成共享功能模块,这就意味着,在顶层综合或其他设计中可以直接调用这个实体模块。

VHDL具有较强的行为描述能力,可避开具体的器件结构,从逻辑功能和行为上进行描述和设计。

1.2.2VerilogHDL语言

VerilogHDL是在1983年,由GDA(GateWayDesignAutomatio)公司的PhilMoorby首创的。

PhilMoorby后来成为Verilog-XL的主要设计者和(CadenceDesignSystem)的第一个合伙人。

在1984-1985年Moorby设计出第一个关于Verilog-XL的仿真器,1986年他对VerilogHDL的发展又作出另一个巨大贡献,提出了用于快速门级仿真的XL算法。

随着Verilog-XL算法的成功,VerilogHDL语言得到迅速发展。

1989年Cadence公司收购了GDA公司,VerilogHDL语言成为Cadence公司的私有财产,1990年,Cadence公司公开了VerilogHDL语言,成立了OVI(OpenVerilogInternatiinal)组织来负责VerilogHDL的发展。

IEEE于1995年制定了VerilogHDL的IEEE标准,即VerilogHDL1364-1995。

1987年,IEEE接受VHDL(VHSICHadewareDescriptionLanguage)为标准HDL,即IEEE1076-87标准,1993年进一步修订,定为ANSI/IEEE1076-93标准。

现在很多EDA供应商把VerilogHDL作为其EDA软件输入/输出的标准。

例如,Cadence、Synopsys、Viewlogic、MentorGraphic等厂商都提供了VHDL的支持。

1.2.3VerilogHDL与VHDL的比较

VerilogHDL和VHDL作为描述硬件电路设计的语言,其共同的特点在于:

能形式化地抽象表示电路的行为和结构;支持逻辑设计中层次与范围的描述;可借用高级语言的精巧结构来简化电路行为的描述;具有电路仿真与验证机制以保证设计的正确性;支持电路描述由高层到低层的综合转换;硬件描述与实现工艺无关;便于文档管理;易于理解和设计重用。

目前版本的VerilogHDL与VHDL在行为级抽象建模的覆盖范围方面也有所不同。

一般认为VerilogHDL在系统抽象方面比VHDL强一些。

VerilogHDL较为适合算法级(Alogrithem)、寄存器传输级(RTL)、逻辑级(Logic)、门级(Gate)、设计。

而VHDL更为适合特大型的系统级(System)设计。

1.2.4VHDL和QuartusII在设计数字电路中的应用

以VHDL为工具的EDA设计方法与传统的人工设计方法相比,有以下几个优点:

1、缩短了开发周期;2、提高了效率;3、产品的质量得到了提高。

用VHDL进行数字系统开发与设计,其设计的抽象层次有6个,分别是系统级、芯片级、寄存器级、门级、电路级和版图/硅片级,可以在不同的抽象层次级别上设计系统。

使用QuartusII作为开发环境时应该根据软件支持的芯片资源情况选择合适的设计层次。

在VHDL设计中,常常采用多进程描述的方法来进行程序设计,通过使用进程可以把整体的功能局部化,分块设计,多个进程通过进程间通信机制互相配合,达到设计要求。

当进程比较多的时候,它们之间的配合问题就比较复杂,因此在设计之前应该合理规划安排。

1.3FPGA介绍

FPGA是英文FieldProgrammableGateArray的缩写,即现场可编程门阵列,它是在PAL、GAL、FPLD等可编程器件的基础上进一步发展的产物。

它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路有限的缺点。

FPGA采用了逻辑单元阵列LCA这样一个新概念,内部包括可配置逻辑模块CLB(ConfigurableLogicBlock)、输出输入模块IOB(InputOutputBlock)和内部连线(Interconnect)三个部分。

FPGA的基本特点主要有以下几点:

一、FPGA设计ASIC电路,用户不需要投片生产,就能得到合用的芯片。

二、FPGA可做其它全定制或半定制ASIC电路中的试样片。

三、FPGA内部有丰富的触发器和I/O引脚。

四、FPGA是ASIC电路中设计周期最短、开发费用最低、风险最小的器件。

可以说,FPGA芯片是小批量系统提高系统集成度、可靠性的最佳选择之一。

目前FPGA的品种很多,有XILINX的XC系列、TI公司的TPC系列、ALTERA公司的FIEX系列等。

FPGA是由存放在片内RAM中的程序来设置其工作状态的,因此,工作时需要对片内的RAM进行编程。

用户可以根据不同的配置模式,采用不同的编程方式。

加电时,FPGA芯片将EPROM中的数据读入片内编程RAM中,配置完成后,FPGA进入工作状态。

掉电后,FPGA恢复成白片,内部逻辑关系消失,因此,FPGA能够反复使用。

FPGA的编程无须专用的FPGA编程器,只须用通用的EPROM、PROM编程即可。

当需要修改FPGA功能时,只须换一块EPROM第8页即可。

这样,同一片FPGA,不同的编程数据,可以产生不同的电路功能。

因此,FPGA的使用非常灵活。

FPGA的配置模式非常灵活,它可以有多种配置方式:

平行主模式为一片FPGA加一片EPROM的方式;主从模式为多片FPGA加一片PROM;串行模式可以采用串行PROM编程FPGA外设模式可以将FPGA作为微处理器的外设,由微处理器对其编程。

 

第2章可逆计数器设计的基本理论

2.1设计原理

计数器是数字系统中使用较多的一种时序逻辑器件。

计数器的基本功能是统计时钟脉冲的个数,即对脉冲实现计数操作。

其工作原理可概述为:

当输入时钟脉冲的一个上升沿(也可以是下降沿)来临时,二进制数据的低一位加1(或减1),并向高位进1(或借1)。

在没有外部约束条件时,计数器可进行与其二进制位数对应的数值的相应进制的自循环计数,如位数为3的计数器可进行8进制的自循环加法或减法计数。

 

可根据需要来设置计数器的位数,并通过外部约束条件来人为设定计数器的计数模数,来得到计数进制符合需要的N进制计数器。

所谓N进制计数器,是指一个计数器的计数过程,在经历时钟脉冲信号的个为N之后,二进制数据又回到初始状态的计数器

本论文所设计的4位二进制可逆计数器,其中4位计数器输出Q[3..0]=000,时钟CLK的下降沿到来时,计数器处于预置工作状态,输出Q[3..0]= D[3..0],D[3..0]是3位并行数据输入端,COUT是进位输入端,当UPDOWN=0(进行加法操作)且输出Q[3..0]=111时,COUT=1表示进位输出。

2.2电路设计系统仿真

2.2.1编辑文件

(1)启动Quartus双击桌面上的QuartusⅡ图标或单击开始按扭,启动QuartusⅡ。

(2)编辑文件单击标题栏中的File→New对话框,输入选择对话框单击New对话框的DeviceDesignFiles选项卡,选择编译文件的语言类型。

这里选择VHDLFiles,选好后单击【OK】按钮,打开VHDL文本编辑器窗口。

文本编辑器输入完成之后,单击File→SaveAs选项,将编辑的文本文件存在已建立的文件夹c:

\Users下,存盘文件名应该与VHDL程序的实体名一致,即Vhdl1.vhd。

当出现问句Doyouwanttocreate…时,可选“否”。

2.3.2创建工程

(1)打开建立新工程向导 

单击File→New Project Wizard菜单,出现新建工程向导对话框。

单击【Next】按钮,出现工程基本设置对话框在最上面的输入框中输入工作库文件夹的地址,本例的地址是C:

\User/GongYu/Desktop/EDA/cnt16,或者单击该对话框最上一栏右侧的【…】按钮,出现选择文件夹的目录。

 

(2) 将设计文件加入工程中 

单击【Next】按钮,在弹出的对话框中,将与本工程有关的文件加入,有两种方法:

一种是单击右边的【Add All】按钮,将设定工程目录中的所有VHDL文件加入到工程文件栏;另一种是单击【Add …】按钮,从工程目录中选出相关的VHDL文件。

 图5中间的输入框就是该工程的名称,一般可以用顶层文件的名称作为工程名称,本例的顶层文件名是conster。

最下面的输入框要求输入顶层设计文件实体的名称,本例顶层文件的实体名称是conster。

 

 (3) 选择仿真器和综合器类型 

单击【Next】按钮,这时弹出选择仿真器和综合器类型的窗口。

如果选择默认的NONE,表示使用QuartusⅡ中自带的仿真器和综合器。

在本例中都选默认的NONE选项。

 

(4) 选择目标芯片 

单击【Next】按钮,根据系统设计的实际需要选择目标芯片。

首先在Family栏选择芯片系列,本例选择ACEX20KE系列。

在此栏下方,询问选择目标器件的方式,选No,表示允许编程器自动选择该系列中的一个器件;单击Yes选项,表示手动选择。

本例采用手动选择,单击图10中的【Next】按钮,选择此系列的具体芯片:

EP20K30ETC144-1。

 

 单击【Next】按钮后,弹出工程设置统计窗口。

 

(5) 结束设置 

最后单击【Finish】按钮,结束设置。

在QuartusⅡ主窗口的左侧。

 

 

2.3.2仿真

仿真就是对设计项目进行一项全面彻底的测试,以确保设计项目的功能和时序特性符合设计要求,保证最后的硬件器件的功能与原设计相吻合。

仿真可分为功能仿真和时序仿真。

功能仿真只测试设计项目的逻辑行为,而时序仿真不但测试逻辑行为,还测试器件在最差条件下的工作情况。

 

(1) 建立波形文件 与MAX+plusⅡ仿真操作相同,仿真前必须建立波形文件。

单击File→New选项,打开文件选择窗口。

然后单击Other Files选项卡,选择其中的Vector Waveform File选项。

 

(2) 打开波形编辑器 

单击图中的【OK】按钮,即出现空白的波形编辑器。

 

 为了使仿真时间设置在一个合理的时间区域上,单击Edit→End Time选项,在弹出窗口中的Time输入框键入50,单位选us,即整个仿真域的时间设定为50微秒。

 

单击【OK】按钮。

结束设置后,要将波形文件存盘。

单击File→Save as选项,将波形文件以文件名ex1_v.vwf(默认名)存入文件夹D:

\Designs中。

 

(3) 输入信号节点 

单击View→Utility Windows→Node Finder选项,会打开一个对话框。

在该对话框的Filter空白栏中选Pins:

all,然后点击【list】按钮。

在下方的Nodes Found窗口中会出现了设计工程的所有端口管脚名。

 

用鼠标将输入端口节点A、B和输出信号节点C逐个拖到波形编辑窗口,单击图中的关闭按钮,关闭Node Finder窗口。

 (4) 编辑输入波形 

波形编辑器的按钮操作方法与MAX+plusⅡ相同。

利用这些按钮,分别给输入管脚编辑波形。

 

 (5) 启动仿真及阅读仿真报告 

单击标题栏中的Processing→Start Simulation选项,即可启动仿真器。

利用QuartusII软件平台的仿真功能来对所设计的电子线路系统进行时序仿真,以检测所设计的系统是否能够实现预期的功能,以便对源程序进行修改。

完成整体电子线路系统的设计工作后,新建vwf仿真文件,对所设计的电子线路系统进行功能仿真,检测电子线路系统的正确性。

第3章系统的仿真结果

3.1编译成功

图1编译成功图

 

 

图2波形仿真成功图

3.2波形图

图3波形仿真图

图4波形仿真图

3.3原理图

图5原理图

第4章心得体会

通过这次设计,进一步加深了对EDA的了解,让我对它有了更加浓厚的兴趣。

特别是当每一个子模块编写调试成功时,心里特别的开心。

但是在编写顶层文件的程序时,遇到了不少问题,特别是各元件之间的连接,以及信号的定义,总是有错误,在细心的检查下,终于找出了错误和警告,排除困难后,程序编译就通过了,心里终于舒了一口气。

在波形仿真时,也遇到了一点困难,想要的结果不能在波形上得到正确的显示:

在设定输入的时钟信号后,数字钟开始计数,但是始终看不到小时、星期的循环计数。

经过屡次调试,终于成功了。

仿真之后,就能清楚的看出分钟、小时、星期的循环倒计数。

      

总的来说,这次设计的数字钟还是比较成功的,有点小小的成就感,终于觉得平时所学的知识有了实用的价值,达到了理论与实际相结合的目的,不仅学到了不少知识,而且锻炼了自己的能力,使自己对以后的路有了更加清楚的认识,同时,对未来有了更多的信心。

结论

本文主要介绍了可逆计时器的Verilog HDL的设计与实现,其可以在Altera 公司的FPGA开发板等可编程器件来实现。

其中介绍了倒计时的设计与实现,七段显示译码器的设计与实现,动态显示模块的设计与实现。

 

由上调试过程可知,该计数器实现了可逆的技术功能。

 

参考文献 

[1]王松武,于  鑫,武思军. 电子创新设计与实践.北京:

国防工业出版社. 2005 

[2]孙延鹏,张芝贤,尹常永. VHDL与可编程逻辑器件应用. 北京:

航空工业出版社. 2006 

[3]曹昕燕,周凤臣,聂春燕. EDA技术与课程设计. 北京:

清华大学出版社. 2006 

[4]谭会生,张昌凡.EDA技术及应用(第二版).西安 :

西安电子科技大学出版社. 2004 

[5]张凯,林伟.VHDL实例剖析.北京:

国防工业出版社. 2004 

[6]杨刚,龙海燕.现代电子技术--VHDL与数字系统设计.北京:

电子工业出版社. 2004 

[7]黄智伟.FPGA系统设计与实践.北京:

电子工业出版社. 2005 

[8]李国洪,沈明山,胡辉.可编程器件EDA技术与实践.北京:

机械工业出版社. 2004 

[9]卢毅,赖杰.VHDL与数字电路设计. 北京:

科学出版社. 2002 

[10]谭会生.EDA技术综合应用实例与分析.西安:

西安电子科技大学出版社. 2004 

[11] Synopsys Company. Power Compiler User Guide Release 2004.06 

[12] Synopsys Company. Power Compiler Quick Reference version 2004.06 [13] At renta Company. SpyGlass  L  P2Designing  RTL for Low Power. [14] Munch M,Wurth B.Automating RT2Level Operand Isolation to Minimize Power Consumption in Datapaths,Design,Automation and Test in Europe(DATE’00) 

[15] Lattice Inc..Data Book.Washington SA:

 La ttice Inc.2002

附录1

设计程序:

modulecounter(Q,CLK,CR,UD);

inputCLK,CR,UD;

output[3:

0]Q;

reg[3:

0]cnt;

initial

begin

cnt<=4'b0000;

end

assignQ=cnt;

always@(posedgeCLK)

begin

if(!

CR)cnt<=4'b0000;

elsebegin

if(UD)cnt=cnt+1;

elsecnt=cnt-1;

end

end

endmodule

moduleclk_div(clk_out,clk_in);

inputclk_in;

outputclk_out;

regclk_out;

reg[25:

0]counter;//50_000_000=1011_1110_1011_1100_0010_0000_00

parametercnt=50_000_000;///50MHzisthesysclk,50_000_000=2FAF080

always@(posedgeclk_in)

begin

counter<=counter+1;

if(counter==cnt/2-1)

begin

clk_out<=!

clk_out;

counter<=0;

end

end

endmodule

致谢

本次论文格式是在通信与电子工程学院的领导及各位老师的鞭挞下完成,在论文格式的写作过程中在此特别感谢帮助我的老师们。

时间很快快过去了我要和我的EDA设计说再见了,但是我始终也忘不了老师对我们的教导想起其中经历的,对在设计过程中,曾经给予我帮助的老师和同学表示深深的谢意。

老师在这次设计中耐心的指导的身影深深地留在了我的心中,为了达到教学目标为了同学们有个整体的提高,他做的太多太多了。

甚至牺牲了休息

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2