当前位置:文档之家› 基于FPGA的计数器设计

基于FPGA的计数器设计

基于FPGA的计数器设计
基于FPGA的计数器设计

EDA课程设计

工程名称基于FPGA地计数器地设计专业班级通信102班

学生姓名青瓜

指导教师

2013年 5 月28 日

摘要

本课程设计要完成一个1 位十进制计数器地设计.计数器是大规模集成电路中运用最广泛地结构之一.在模拟及数字集成电路设计当中, 灵活地选择与使用计数器可以实现很多复杂地功能, 可以大量减少电路设计地复杂度和工作量.讨论了一种可预置加减计数器地设计, 运用Ver ilog H DL 语言设计出了一种同步地可预置加减计数器, 该计数器可以根据控制信号分别实现加法计数和减法计数, 从给定地预置位开始计数, 并给出详细地VerilogHDL 源代码.最后, 设计出了激励代码对其进行仿真验证, 实验结果证明该设计符合功能要求, 可以实现预定地功能.

关键词:计数器;VerilogHDL;QuartusⅡ;FPGA;

Abstract

This course is designed to complete a one decimal counter design. The counter is LSI structure in one of the most widely used. In the analog and digital IC designs, the flexibility to select the counter can achieve a lot with the use of complex functions, can significantly reduce the complexity of circuit design and workload. Discusses a presettable down counter design, using Ver ilog H DL language designed a synchronous presettable down counter, the counter can be implemented according to the control signals are counted Addition and subtraction counting from a given the preset starts counting, and gives detailed VerilogHDL source code. Finally, the design of the incentive code its simulation, experimental results show that the design meets the functional requirements, you can achieve the intended function.

Key words: Decimal counter。VerilogHDL。Quartus Ⅱ。FPGA。

目录

摘要.......................................................................................................................................... I Abstract ..................................................................................................................................... II 第1章绪论 (1)

1.1计数器地种类 (1)

1.2计数器地发展 (1)

第2章设计环境 (2)

2.1 Quartus II (2)

2.1.1 软件简介 (2)

2.1.2 功能 (3)

2.2 Verilog HDL硬件描述语言 (4)

2.2.1 语言简介 (4)

2.2.2 主要能力 (4)

2.2.3 语言用途 (6)

2.2.4 Verilog HDL地发展历史 (6)

2.2.5 主要应用 (7)

2.3 Electronic Design Automation (8)

第3章设计思路 (10)

3.1 输入模块 (10)

3.2 寄存器模块 (11)

3.3 输出模块 (11)

3.4 计数模块 (11)

第4章程序设计 (13)

4.1 主程序 (13)

4.3 always语句 (13)

4.4 if-else语句 (13)

第5章波形仿真 (14)

结论 (15)

参考文献 (16)

附录1 (17)

致谢 (17)

第1章绪论

1.1计数器地种类

1、如果按照计数器中地触发器是否同时翻转分类,可将计数器分为同步计数器和异步计数器两种.

2、如果按照计数过程中数字增减分类,又可将计数器分为加法计数器、减法计数器和可逆计数器,随时钟信号不断增加地为加法计数器,不断减少地为减法计数器,可增可减地叫做可逆计数器.

另外还有很多种分类不一一列举,但是最常用地是第一种分类,因为这种分类可以使人一目了然,知道这个计数器到底是什么触发方式,以便于设计者进行电路地设计.

1.2计数器地发展

狭义地计数器是指一些常用计时器,例如体育比赛中测试时间地计时器等,但本词条所要介绍地并不是这种计时器,要介绍地是应用更为广泛地时序逻辑电路中地计数器.

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

在数字电子技术中应用地最多地时序逻辑电路.计数器不仅能用于对时钟脉冲计数,还可以用于分频、定时、产生节拍脉冲和脉冲序列以及进行数字运算等.但是并无法显示计算结果,一般都是要通过外接LCD或LED屏才能显示.

第2章设计环境

2.1 Quartus II

2.1.1 软件简介

Quartus II支持Altera地IP核,包含了LPM/MegaFunction宏功能模块库,使用户可以充分利用成熟地模块,简化了设计地复杂性、加快了设计速度.对第三方EDA工具地良好支持也使用户可以在设计流程地各个阶段使用熟悉地第三方EDA工具.

Quartus II 是Altera公司地综合性PLD/FPGA开发软件,支持原理图、VHDL、VerilogHDL以及AHDL(Altera Hardware Description Language)等多种设计输入形式,内嵌自有地综合器以及仿真器,可以完成从设计输入到硬件配置地完整PLD设计流程.

Quartus II可以在XP、Linux以及Unix上使用,除了可以使用Tcl脚本完成设计流程外,提供了完善地用户图形界面设计方式.具有运行速度快,界面统一,功能集中,易学易用等特点.

此外,Quartus II 通过和DSP Builder工具与Matlab/Simulink相结合,可以方便地实现各种DSP应用系统;支持Altera地片上可编程系统(SOPC)开发,集系统级设计、嵌入式软件开发、可编程逻辑设计于一体,是一种综合性地开发平台.

Maxplus II 作为Altera地上一代PLD设计软件,由于其出色地易用性而得到了广泛地应用.目前Altera已经停止了对Maxplus II 地更新支持,Quartus II 与之相比不仅仅是支持器件类型地丰富和图形界面地改变.Altera在Quartus II 中包含了许多诸如SignalTap II、Chip Editor和RTL Viewer地设计辅助工具,集成了SOPC和HardCopy 设计流程,并且继承了Maxplus II 友好地图形界面及简便地使用方法.

Altera Quartus II 作为一种可编程逻辑地设计环境, 由于其强大地设计能力和直观易用地接口,越来越受到数字系统设计者地欢迎.

图2-1 Quartus II

2.1.2 功能

Quartus II提供了完全集成且与电路结构无关地开发包环境,具有数字逻辑设计地全部特性,包括:

可利用原理图、结构框图、VerilogHDL、AHDL和VHDL完成电路描述,并将其保存为设计实体文件;

芯片(电路)平面布局连线编辑;

LogicLock增量设计方法,用户可建立并优化系统,然后添加对原始系统地性能影响较小或无影响地后续模块;

功能强大地逻辑综合工具;

完备地电路功能仿真与时序逻辑仿真工具;

定时/时序分析与关键路径延时分析;

可使用SignalTap II逻辑分析工具进行嵌入式地逻辑分析;

支持软件源文件地添加和创建,并将它们链接起来生成编程文件;

使用组合编译方式可一次完成整体设计流程;

自动定位编译错误;

高效地期间编程与验证工具;

可读入标准地EDIF网表文件、VHDL网表文件和Verilog网表文件;

能生成第三方EDA软件使用地VHDL网表文件和Verilog网表文件.

Altera地Quartus II可编程逻辑软件属于第四代PLD开发平台.该平台支持一个工作组环境下地设计要求,其中包括支持基于Internet地协作设计.Quartus平台与Cadence、ExemplarLogic、 MentorGraphics、Synopsys和Synplicity等EDA供应商地开发工具相兼容.改进了软件地LogicLock模块设计功能,增添了FastFit编译选项,推进了网络编辑性能,而且提升了调试能力.支持MAX7000/MAX3000等乘积项器件

Quartus II设计套装地其他特性包括:[1]

DSP Builder 12.0新地数字信号处理(DSP)支持——通过系统控制台,与MATLAB 地DDR存储器进行通信,并具有新地浮点功能,提高了设计效能,以及DSP效率.

经过改进地视频和图像处理(VIP)套装以及视频接口IP——通过具有边缘自适应算法地Scaler II MegaCore功能以及新地Avalon-Streaming (Avalon-ST)视频监视和跟踪系

统IP内核,简化了视频处理应用地开发.

增强收发器设计和验证——更新了Arria V FPGA地收发器工具包支持,进一步提高收发器数据速率(对于Stratix V FPGA,高达14.1 Gbps).

2.2 Verilog HDL硬件描述语言

Verilog HDL是一种硬件描述语言(HDL:Hardware Discription Language),是一种以文本形式来描述数字系统硬件地结构和行为地语言,用它可以表示逻辑电路图、逻辑表达式,还可以表示数字逻辑系统所完成地逻辑功能. Verilog HDL和VHDL是目前世界上最流行地两种硬件描述语言,都是在20世纪80年代中期开发出来地.前者由Gateway Design Automation公司(该公司于1989年被Cadence公司收购)开发.两种HDL均为IEEE标准.

2.2.1 语言简介

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

Verilog HDL 语言具有下述描述能力:设计地行为特性、设计地数据流特性、设计地结构组成以及包含响应监控和设计验证方面地时延和波形产生机制.所有这些都使用同一种建模语言.此外,Verilog HDL语言提供了编程语言接口,通过该接口可以在模拟、验证期间从设计外部访问设计,包括模拟地具体控制和运行.

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

2.2.2 主要能力

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

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

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

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

可采用三种不同方式或混合方式对设计建模.这些方式包括:行为描述方式—使用

过程化结构建模;数据流方式—使用连续赋值语句方式建模;结构化方式—使用门和模块实例语句描述建模.

Verilog HDL中有两类数据类型:线网数据类型和寄存器数据类型.线网类型表示构件间地物理连线,而寄存器类型表示抽象地数据存储元件.

能够描述层次设计,可使用模块实例结构描述任何层次.

设计地规模可以是任意地;语言不对设计地规模(大小)施加任何限制.

Verilog HDL不再是某些公司地专有语言而是IEEE标准.

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

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

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

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

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

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

在行为级描述中,Verilog HDL不仅能够在RTL级上进行设计描述,而且能够在体系结构级描述及其算法级行为上进行设计描述.

能够使用门和模块实例化语句在结构级进行结构描述.

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

Verilog HDL 还具有内置逻辑函数,例如&(按位与)和(按位或).

高级编程语言结构,例如条件语句、情况语句和循环语句,语言中都可以使用.

可以显式地对并发和定时进行建模.

提供强有力地文件读写能力.

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

2.2.3 语言用途

Verilog HDL就是在用途最广泛地C语言地基础上发展起来地一种硬件描述语言,它是由GDA(Gateway Design Automation)公司地PhilMoorby在1983年末首创地,最初只设计了一个仿真与验证工具,之后又陆续开发了相关地故障模拟与时序分析工具.1985年Moorby推出它地第三个商用仿真器Verilog-XL,获得了巨大地成功,从而使得Verilog HDL迅速得到推广应用.1989年CADENCE公司收购了GDA公司,使得VerilogHDL成为了该公司地独家专利.1990年CADENCE公司公开发表了Verilog HDL,并成立LVI组织以促进Verilog HDL成为IEEE标准,即IEEE Standard 1364-1995.

Verilog HDL地最大特点就是易学易用,如果有C语言地编程经验,可以在一个较短地时间内很快地学习和掌握,因而可以把Verilog HDL内容安排在与ASIC设计等相关课程内部进行讲授,由于HDL语言本身是专门面向硬件与系统设计地,这样地安排可以使学习者同时获得设计实际电路地经验.与之相比,VHDL地学习要困难一些.但Verilog HDL较自由地语法,也容易造成初学者犯一些错误,这一点要注意.

2.2.4 Verilog HDL地发展历史

1、1981年Gateway Automation(GDA)硬件描述语言公司成立.

2、1983年该公司地Philip Moorby首创了Verilog HDL,Moorby后来成为Verrlog HDL-XL地主要设计者和Cadence公司地第一合伙人.

3、1984-1985年Moorby设计出第一个关于Verilog HDL地仿真器.

4、1986年Moorby对Verilog HDL地发展又做出另一个巨大地贡献,提出了用于快速门级仿真地XL算法.

5、随着Verilog HDL-XL地成功,Verilog HDL语言得到迅速发展.

6、1987年Synonsys公司开始使用Verilog HDL行为语言作为综合工具地输入.

7、1989年Cadence公司收购了Gateway公司,Verilog HDL成为Cadence公司地私有财产.

8、1990年初Cadence公司把Verilong HDL和Verilong HDL-XL分开,并公开发布了Verilog HDL.随后成立地OVI(Open Verilog HDL International)组织负责Verilog HDL地发展,OVI由Verilog HDL地使用和CAE供应商组成,制定标准.

9、1993年,几乎所有ASIC厂商都开始支持Verilog HDL,并且认为Verilog HDL-XL是最好地仿真器.同时,OVI推出2.0版本地Verilong HDL规范,IEEE接收将OVI地Verilong HDL2.0作为IEEE标准地提案.

10、1995年12月,IEEE制定了Verilong HDL地标准IEEE1364-1995.

任何新生事物地产生都有它地历史沿革,早期地硬件描述语言是以一种高级语言为基础,加上一些特殊地约定而产生地,目地是为了实现RTL级仿真,用以验证设计地正确性,而不必像在传统地手工设计过程中那样,必须等到完成样机后才能进行实测和调试.

2.2.5 主要应用

下面列出地是Verilog硬件描述语言地主要能力:

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

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

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

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

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

· Verilog HDL中有两类数据类型:线网数据类型和寄存器数据类型.线网类型表示构件间地物理连线,而寄存器类型表示抽象地数据存储元件.

·能够描述层次设计,可使用模块实例结构描述任何层次.

·设计地规模可以是任意地;语言不对设计地规模(大小)施加任何限制.

· Verilog HDL不再是某些公司地专有语言而是I E E E标准.

·人和机器都可阅读Verilog 语言,因此它可作为E D A地工具和设计者之间地交互语言.

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

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

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

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

·Verilog HDL 能够监控模拟验证地执行,即模拟验证执行过程中设计地值能够被

监控和显示.这些值也能够用于与期望值比较,在不匹配地情况下,打印报告消息.

·在行为级描述中,Verilog HDL不仅能够在RT L级上进行设计描述,而且能够在体系结构级描述及其算法级行为上进行设计描述.

·能够使用门和模块实例化语句在结构级进行结构描述.

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

· Verilog HDL 还具有内置逻辑函数,例如&(按位与)和|(按位或).

·对高级编程语言结构,例如条件语句、情况语句和循环语句,语言中都可以使用.

·可以显式地对并发和定时进行建模.

·提供强有力地文件读写能力.

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

2.3 Electronic Design Automation

EDA是电子设计自动化(Electronic Design Automation)地缩写,在20世纪60年代中期从计算机辅助设计(CAD)、计算机辅助制造(CAM)、计算机辅助测试(CAT)和计算机辅助工程(CAE)地概念发展而来地.

20世纪90年代,国际上电子和计算机技术较为先进地国家,一直在积极探索新地电子电路设计方法,并在设计方法、工具等方面进行了彻底地变革,取得了巨大成功.在电子技术设计领域,可编程逻辑器件(如CPLD、FPGA)地应用,已得到广泛地普及,这些器件为数字系统地设计带来了极大地灵活性.这些器件可以通过软件编程而对其硬件结构和工作方式进行重构,从而使得硬件地设计可以如同软件设计那样方便快捷.这一切极大地改变了传统地数字系统设计方法、设计过程和设计观念,促进了EDA技术地迅速发展.

EDA技术就是以计算机为工具,设计者在EDA软件平台上,用硬件描述语言VHDL完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片地适配编译、逻辑映射和编程下载等工作.EDA技术地出现,极大地提高了电路设计地效率和可操作性,减轻了设计者地劳动强度.

概念

EDA技术地概念

EDA技术是指以计算机为工作平台,融合了应用电子技术、计算机技术、信息处理及智能化技术地最新成果,进行电子产品地自动设计.

利用EDA工具,电子设计师可以从概念、算法、协议等开始设计电子系统,大量工作可以通过计算机完成,并可以将电子产品从电路设计、性能分析到设计出IC版图或PCB版图地整个过程地计算机上自动处理完成.

应用

现在对EDA地概念或范畴用得很宽.包括在机械、电子、通信、航空航天、化工、矿产、生物、医学、军事等各个领域,都有EDA地应用.目前EDA技术已在各大公司、企事业单位和科研教案部门广泛使用.例如在飞机制造过程中,从设计、性能测试及特性分析直到飞行模拟,都可能涉及到EDA技术.本文所指地EDA技术,主要针对电子电路设计、PCB设计和IC设计.

EDA设计可分为系统级、电路级和物理实现级.

第3章设计思路

模块是Verilog 地基本描述单位,用于描述某个设计地功能或结构及其与其他模块通信地外部端口.一个设计地结构可使用开关级原语、门级原语和用户定义地原语方式描述。设计地数据流行为使用连续赋值语句进行描述。时序行为使用过程结构描述.一个模块可以在另一个模块中调用.

图3-1 总设计图

3.1输入模块

输入端由输入时钟信号和清零控制输入构成,用来接收输入信号,实现对信号地控制计数.

图3-2 输入

3.2 寄存器模块

图3-2 输出寄存器

寄存器是中央处理器内地组成部分.寄存器是有限存贮容量地高速存贮部件,它们可用来暂存指令、数据和地址.在中央处理器地控制部件中,包含地寄存器有指令寄存器(IR)和程序计数器(PC).在中央处理器地算术及逻辑部件中,包含地寄存器有累加器(ACC).

3.3 输出模块

图3-6 输出

输出端用来输出计数后地结果

3.4 计数模块

图3-7 计数器

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

第4章程序设计4.1 主程序

使用Verilog HDL语言编程.

module jishuqi(iclk,rst_n,q,overflow)。

input iclk。

input rst_n。

output reg [3:0]q。

output overflow。

always @(posedge iclk or negedge rst_n)

begin

if(~rst_n) q <= 4'h0。

else

begin

if(4'h9 == q) q <= 4'h0。

else q <= q + 4'h1。

end

end

assign overflow = 4'h9 == q。

endmodule

4.3 always语句

always @(posedge iclk or negedge rst_n)

always语句用来实现程序地循环.

4.4 if-else语句

if(4'h9 == q) q <= 4'h0。

else q <= q + 4'h1。

if—else语句用来判断是否达到条件,达到择执行,否则不执行语句

第5章波形仿真

由波形仿真可知,当复位没有按下时,计数器累计加数,复位按下是,输出数据清零.

结论

在课程设计中采用 Verilog HDL 语言设计地计数器, 借助其功能强大地语言结构, 简明地代码描述复杂控制逻辑设计, 与工艺无关特性, 在提高工作效率地同时达到求解目地, 并可以通过 Verilog HDL 语言地综合工具进行相应硬件电路地生成,具有传统逻辑设计方法所无法比拟地优越性.为了检验所设计地电路地正确性,用仿真工具进行仿真验证, 得出了正确地实验数据.计数器作为FPGA实际应用地一个例子,在日常生活中发挥着非常重要地作用.要实现意见具体地事件判断和做出反应,实现自动化.

参考文献

[1] 夏宇闻.Verilog数字系统设计教程.北京航空航天大学出版社.

[2] 李景华, 杜玉远.Verilog HDL语言及数字系统设计.国防工业出版社.

[3] 刘睿强, 童贞理, 尹洪剑.Verilog HDL数字系统设计及实践.电子工业出版社.

[4] 刘振来, 张志荣, 顾建雄, 等. 异步二进制可逆计数器地设计

基于FPGA的数字时钟的设计1

基于FPGA的数字时钟的设计课题: 基于FPGA的数字时钟的设计 学院: 电气信息工程学院 专业: 测量控制与仪器 班级 : 08测控(2)班 姓名 : 潘志东 学号 : 08314239 合作者姓名: 颜志林 2010 年12 月12 日

综述 近年来随着数字技术的迅速发展,各种中、大规模集成电路在数字系统、控制系统、信号处理等方面都得到了广泛的应用。这就迫切要求理工科大学生熟悉与掌握常用中、大规模集成电路功能及其在实际中的应用方法,除通过实验教学培养数字电路的基本实验方法、分析问题与故障检查方法以及双踪示波器等常用仪器使用方法等基本电路的基本实验技能外,还必须培养大学生工程设计与组织实验能力。 本次课程设计的目的在于培养学生对基本电路的应用与掌握,使学生在实验原理的指导下,初步具备基本电路的分析与设计能力,并掌握其应用方法;自行拟定实验步骤,检查与排除故障、分析与处理实验结果及撰写实验报告的能力。综合实验的设计目的就是培养学生初步掌握小型数字系统的设计能力,包括选择设计方案,进行电路设计、安装、调试等环节,运用所学知识进行工程设计、提高实验技能的实践。数字电子钟就是一种计时装置,它具有时、分、秒计时功能与显示时间功能;具有整点报时功能。 本次设计我查阅了大量的文献资料,学到了很多关于数字电路方面的知识,并且更加巩固与掌握了课堂上所学的课本知识,使自己对数字电子技术有了更进一步的认识与了解。

1、课题要求 1、1课程设计的性质与任务 本课程就是电子与信息类专业的专业的专业基础必修课——“数字电路”的配套实验课程。目的在于培养学生的理论联系实际,分析与解决问题的能力。通过本课程设计,使学生在理论设计、计算机仿真、指标调测、故障排除等方面得到进一步的训练,加强学生的实践能力。学生通过设计、仿真、调试、撰写设计报告等过程,培养学生的动手能力与严谨的工作作风。 1、2课程设计的基本技术要求 1)根据课题要求,复习巩固数字电路有关专业基础知识; 2)掌握数字电路的设计方法,特别就是熟悉模块化的设计思想; 3) 掌握QUARTUS-2软件的使用方法; 4) 熟练掌握EDA工具的使用,特别就是原理图输入,波形仿真,能对仿真波形进行分析; 5) 具备EDA技术基础,能够熟练使用VHDL语言进行编程,掌握层次化设计方法; 6) 掌握多功能数字钟的工作原理,学会不同进制计数器及时钟控制电路的设计方法; 7) 能根据设计要求对设计电路进行仿真与测试; 8) 掌握将所设计软件下载到FPGA芯片的下载步骤等等。 9) 将硬件与软件连接起来,调试电路的功能。 1、3课程设计的功能要求 基本功能:能进行正常的时、分、秒计时功能,分别由6个数码管显示24小时,60分钟,60秒钟的计数器显示。 附加功能:1)能利用硬件部分按键实现“校时”“校分”“清零”功能; 2)能利用蜂鸣器做整点报时:当计时到达59’59’’时开始报时, 鸣叫时间1秒钟; 3)定时闹铃:本设计中设置的就是在七点时进行闹钟功能,鸣叫 过程中,能够进行中断闹铃工作。 本人工作:负责软件的编程与波形的仿真分析。 2、方案设计与分析

基于FPGA的数字钟设计

摘要 伴随着集成电路技术的发展, 电子设计自动化(EDA)技术逐渐成为数字电路设计的重要手段。基于FPGA的EDA技术的发展和应用领域的扩大与深入,使得EDA技术在电子信息,通信,自动控制,计算机等领域的重要性日益突出。 本设计给出了一种基于FPGA的多功能数字钟方法,采用EDA作为开发工具,VHDL语言和图形输入为硬件描述语言,QuartusII作为运行程序的平台,编写的程序经过调试运行,波形仿真验证,下载到EDA实验箱的FPGA芯片,实现了设计目标。 系统主芯片采用CycloneII系列EP2C35F672C8。采用自顶向下的设计思想,将系统分为五个模块:分频模块、计时模块、报时模块、显示模块、顶层模块。用VHDL语言实现各个功能模块, 图形输入法生成顶层模块. 最后用QuartusII 软件进行功能仿真, 验证数字钟设计的正确性。 测试结果表明本设计实现了一个多功能的数字钟功能,具有时、分、秒计时显示功能,以24小时循环计时;具有校正小时和分钟的功能;以及清零,整点报时功能。 关键词:EDA技术;FPGA;数字钟;VHDL语言;自顶向下

Abstract Accompanied by the development of integrated circuit technology, electro nic design automation (EDA) technology is becoming an important means of digital circuit design. FPGA EDA technology development and expansion of a pplication fields and in-depth, the importance of EDA technology in the field of electronic information, communication, automatic control, computer, etc. hav e become increasingly prominent. This design gives a FPGA-based multifunctional digital clock using ED A as a development tool, VHDL language and graphical input hardware descri ption language, the QuartusII as a platform for running the program, written procedures debugging and running, the waveform simulation downloaded to th e FPGA chip to achieve the design goals. The main system chip CycloneII series EP2C35F672C8. Adopted a topdw n design ideas, the system is divided into five modules: frequency module, ti ming module, timer module, display module, the top-level module. With VHD L various functional modules, graphical input method to generate the top-level module. Last QuartusII under simulation, to verify the correctness of the digi tal clock design. The test results show that the design of a multifunctional digital clock, with seconds time display, 24-hour cycle timing; has a school, cleared, and th e whole point timekeeping functions. Key words: EDA technology; FPGA; VHDL language; top-down; digital cloc k

基于FPGA的计数器的程序的设计方案

基于FPGA的计数器的程序设计方案 1.1 FPGA简介 FPGA(Field-Progrmable Gate Array),即现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了 原有可编程器件门电路数有限的缺点。 自1985 年Xilinx 公司推出第一片中大规模现场可编程逻辑器件(FP2GA) 至 今,FPGA 已经历了十几年的历。在这十几年的过程中,可编程器件有了惊人的发展: 从最初的1200 个可利用门,到今天的25 万可利用门,规模增大了200 多倍; FPGA 供应商也从Xilinx 的一枝独秀,到今天近20 个厂商的分庭抗争;FPGA 从单一的基于SRAM结构到今天各种结构类型的出现,都充分体现了可编程器件这一巨大市场的吸引力。FPGA 不仅可以解决电子系统小型化、低功耗、高可靠性等问题,而且其开 发周期短、开发软件投入少、芯片价格 不断降低。由于目前电子产品生命周期相对缩短,相近功能产品的派生设计增多 等特点,促使FPGA 越来越多地取代了ASIC 的市场,特别是对国内众多的科研单位来说,小批量、多品种的产品需求,使得FPGA 成为首选。 1.2 硬件描述语言VHDL特点 功能强大、设计灵活。VHDL具有功能强大的语言结构,可以用简洁明确的源代码来描述复杂的逻辑控制。它具有多层次的设计描述功能,层层细化,最后可直接生成电路级描述。VHDL支持同步电路、异步电路和随机电路的设计,这是其他硬件描述语言所不能比拟的。VHDL还支持各种设计方法,既支持自底向上的设计,又支持自顶向下的设计;既支持模块化设计,又支持层次化设计。支持广泛、易于修改。由于VHDL已经成为IEEE标准所规范的硬件描述语言,目前大多数EDA工具几乎都支持VHDL,这为VHDL的进一步推广和广泛应用奠定了基础。在硬件电路设计过程中,主要的设计文件是用VHDL编写的源代码,因为VHDL易读和结构化,所以易于修改设计。强大的系统硬件描述能力。VHDL具有多层次的设计描述功能,既可以描

fpga数字钟课程设计报告

f p g a数字钟课程设计报告 Prepared on 24 November 2020

课程设计报告 设计题目:基于FPGA的数字钟设计 班级:电子信息工程1301 姓名:王一丁 指导教师:李世平 设计时间:2016年1月 摘要 EDA(Electronic Design Automation)电子设计自动化,是以大规模可编程器件为设计载体,以硬件描述语言为系统逻辑描述的主要表达方式,通过相关的软件,自动完成软件方式设计得电子系统到硬件系统,最终形成集成电子系统或专用集成芯片。本次课程设计利用Quartus II 为设计软件,VHDL为硬件描述语言,结合所学知识设计一个多功能时钟,具有显示年、月、日、时、分、秒显示,计时,整点报时,设定时间等功能。利用硬件描述语言VHDL 对设计系统的各个子模块进行逻辑描述,采用模块化的思想完成顶层模块的设计,通过软件编译、逻辑化简、逻辑综合优化、逻辑仿真、最终完成本次课程设计的任务。 关键词:EDA VHDL语言数字钟 目录 摘要 1 课程设计目的 2 课程设计内容及要求

设计任务 设计要求 3 VHDL程序设计 方案论证 系统结构框图 设计思路与方法 状态控制模块 时分秒模块 年月日模块 显示模块 扬声器与闹钟模块 RTL整体电路 4 系统仿真与分析 5 课程设计总结,包括.收获、体会和建议 6 参考文献 1 课程设计目的 (1)通过设计数字钟熟练掌握EDA软件(QUARTUS II)的使用方法,熟练进行设计、编译,为以后实际工程问题打下设计基础。 (2)熟悉VHDL 硬件描述语言,提升分析、寻找和排除电子设计中常见故障的能力。 (3)通过课程设计,锻炼书写有理论根据的、实事求是的、文理通顺的课程设计报告。

FPGA实训报告——简易数字钟

桂林电子科技大学职业技术学院 课题:FPGA实训 专业:电子信息工程技术 学号: 姓名:

目录 关键词: (1) 引言: (1) 设计要求: (1) EDA技术介绍: (1) Verilog HDL简介: (1) 方案实现: (2) 工作原理: (2) 总结: (3) 结语: (3) 程序设计: (4)

数字钟 关键词:EDA、Verilog HDL、数字钟 引言: 硬件描述语言HDL(Hardware Des-cription Language)是一种用形式化方法来描述数字电路和系统的语言。目前,电子系统向集成化、大规模和高速等方向发展,以硬件描述语言和逻辑综合为基础的自顶向下的电路设计发放在业界得到迅猛发展,HDL在硬件设计领域的地位将与C和C++在软件设计领域的地位一样,在大规模数字系统的设计中它将逐步取代传统的逻辑状态表和逻辑电路图等硬件描述方法,而成为主要的硬件描述工具。 Verilog HDL是工业和学术界的硬件设计者所使用的两种主要的HDL之一,另外一种是VHDL。现在它们都已经成为IEEE标准。两者各有特点,但Verilog HDL拥有更悠久的历史、更广泛的设计群体,资源也远比VHDL丰富,且非常容易学习掌握。 此次以Verilog HDL语言为手段,设计了多功能数字钟,其代码具有良好的可读性和易理解性。 设计要求: 数字钟模块、动态显示模块、调时模块、到点报时模块等;必须有键防抖动功能。可自行设计8位共阴数码管显示;亦可用FPGA实验平台EDK-3SAISE上的4位数管,但必须有秒指导灯。 EDA技术介绍: 20世纪90年代,国际上电子和计算机技术较先进的国家,一直在积极探索新的电子电路设计方法,并在设计方法、工具等方面进行了彻底的变革,取得了巨大成功。在电子技术设计领域,可编程逻辑器件(如CPLD、FPGA)的应用,已得到广泛的普及,这些器件为数字系统的设计带来了极大的灵活性。这些器件可以通过软件编程而对其硬件结构和工作方式进行重构,从而使得硬件的设计可以如同软件设计那样方便快捷。这一切极大地改变了传统的数字系统设计方法、设计过程和设计观念,促进了EDA技术的迅速发展。 EDA是电子设计自动化(Electronic Design Automation)的缩写,在20世纪90年代初从计算机辅助设计(CAD)、计算机辅助制造(CAM)、计算机辅助测试(CAT)和计算机辅助工程(CAE)的概念发展而来的。EDA技术就是以计算机为工具,设计者在EDA软件平台上,用硬件描述语言HDL完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。EDA技术的出现,极大地提高了电路设计的效率和可操作性,减轻了设计者的劳动强度。 这些器件可以通过软件编程而对其硬件结构和工作方式进行重构,从而使得硬件的设计可以如同软件设计那样方便快捷。这一切极大地改变了传统的数字系统设计方法、设计过程和设计观念,促进了EDA技术的迅速发展。 Verilog HDL简介: 硬件描述语言Verilog是Philip R.Moorby于1983年在英格兰阿克顿市的Gateway Design Automation硬件描述语言公司设计出来的,用于从开关级到算法级的多个抽象设

基于FPGA的Verilog HDL数字钟设计 -

基于FPGA的Verilog HDL数字钟设计 专业班级姓名学号 一、实验目的 1.掌握可编程逻辑器件的应用开发技术——设计输入、编译、仿真和器件编程; 2.熟悉一种EDA软件使用; 3.掌握Verilog设计方法; 4.掌握分模块分层次的设计方法; 5.用Verilog完成一个多功能数字钟设计; 6.学会FPGA的仿真。 二、实验要求 ?功能要求: 利用实验板设计实现一个能显示时分秒的多功能电子钟,基本功能: 1)准确计时,以数字形式显示时、分、秒,可通过按键选择当前显示时间范围模式; 2)计时时间范围00:00:00-23:59:59 3)可实现校正时间功能; 4)可通过实现时钟复位功能:00:00:00 扩展功能: 5)定时报:时间自定(不要求改变),闹1分钟(1kHz)---利用板上LED或外接电路实现。 6)仿广播电台正点报时:XX:59:[51,53,55,57(500Hz);59(1kHz)] ---用板上LED或外接 7)报整点时数:XX:00:[00.5-XX.5](1kHz),自动、手动---用板上LED或外接 8)手动输入校时; 9)手动输入定时闹钟; 10)万年历; 11)其他扩展功能; ?设计步骤与要求: 1)计算并说明采用Basys2实验板时钟50MHz实现系统功能的基本原理。 2)在Xilinx ISE13.1 软件中,利用层次化方法,设计实现模一百计数及显示的电路系 统,设计模块间的连接调用关系,编写并输入所设计的源程序文件。 3)对源程序进行编译及仿真分析(注意合理设置,以便能够在验证逻辑的基础上尽快 得出仿真结果)。 4)输入管脚约束文件,对设计项目进行编译与逻辑综合,生成下载所需.bit文件。 5)在Basys2实验板上下载所生成的.bit文件,观察验证所设计的电路功能。

推荐-基于FPGA的计数器的程序设设计 精品

郑州轻工业学院 电子技术课程设计 题目 _基于FPGA的计数器设计___ _________________________ 学生姓名 _ XXX_________________ 专业班级 _电子信息工程10-01班____ 学号 _5401001030XXX__________ 院(系)电气信息工程学院___ ____ 指导教师 _杜海明耿鑫____________ 完成时间20XX年06月22日_______

郑州轻工业学院 课程设计任务书 题目基于FPGA的计数器的程序设设计_______________ 专业、班级电子信息工程学号姓名 _____ 主要内容、基本要求、主要参考资料等: 主要内容: 要求学生使用硬件描述语言(Verilog 或者VHDL)设计基于FPGA的计数器的 源程序。实现如下功能:显示1个0-9999的四位计数器;四位七段数码管的译码与 显示。理解数码管的译码原理,同时需要做一个分频器,理解时钟分频的原理及意 义。 基本要求: 1、学会quartusII的使用,掌握FPGA 的程序设计方法。 2、掌握硬件描述语言语法。 3、程序设计完成后要求在quartusII中实现功能仿真。 主要参考资料: 1、. [M]..20XX,4 2、陈怀琛.MATLAB及在电子信息课程中的应用[M].北京:电子工业出版 社.20XX,1 完成期限:20XX.6.21—20XX.6.25 指导教师签名: ________________ 课程负责人签名: ___________________ 20XX年6月18日

目录

基于FPGA的计数器的程序设设计 摘要 本文介绍了一种基于FPGA的,由顶层到底层设计的数字频率计。本文主要包括该频率计的设计基础和实现方法以及译码与显示等内容,描述了它的设计平台、工作原理和软硬件实现。本设计主要有分频器、四位计数器、16位锁存器以及数码管显示电路。计数器设计采用VHDL硬件描述语言编程,极大地减少了硬件资源的占用,仿真与分析结果表明,该数字频率计性能优异,软件设计语言灵活,硬件简单,速度快。 关键词FPGA 计数器 VHDL

Verilog HDL数字时钟课程设计

课程设计报告 课程设计名称:EDA课程设计课程名称:数字时钟 二级学院:信息工程学院 专业:通信工程 班级:12通信1班 学号:1200304126 姓名:@#$% 成绩: 指导老师:方振汉 年月日

目录 第一部分 EDA技术的仿真 (3) 1奇偶校验器 (3) 1.1奇偶校验器的基本要求 (3) 1.2奇偶校验器的原理 (3) 1.3奇偶校验器的源代码及其仿真波形 (3) 28选1数据选择器 (4) 2.18选1数据选择器的基本要求 (4) 2.28选1数据选择器的原理 (4) 2.38选1数据选择器的源代码及其仿真波形 (5) 34位数值比较器 (6) 3.14位数值比较器的基本要求 (6) 3.24位数值比较器的原理 (6) 3.34位数值比较器的源代码及其仿真波形 (7) 第二部分 EDA技术的综合设计与仿真(数字时钟) (8) 1概述 (8) 2数字时钟的基本要求 (9) 3数字时钟的设计思路 (9) 3.1数字时钟的理论原理 (9) 3.2数字时钟的原理框图 (10) 4模块各功能的设计 (10) 4.1分频模块 (10) 4.2计数模块(分秒/小时) (11) 4.3数码管及显示模块 (13) 5系统仿真设计及波形图........................... 错误!未定义书签。5 5.1芯片引脚图.................................... 错误!未定义书签。5 5.2数字时钟仿真及验证结果 (16) 5.3数字时钟完整主程序 (17) 6课程设计小结 (23) 7心得与体会 (23) 参考文献 (24)

基于FPGA的数字钟设计

南昌大学实验报告 学生姓名:邓儒超学号:6100210045 专业班级:卓越通信101 实验类型:□验证□综合□√设计□创新实验日期:2012.10.28 实验成绩: 实验三数字钟设计 一、实验目的 (1)掌握数字钟的设计 二、实验内容与要求 (1)设计一个数字钟,要求具有调时功能和24/12进制转换功能 (2)进行波形仿真,并分析仿真波形图; (3)下载测试是否正确; 三、设计思路/原理图 本次数字钟的设计采用了自顶向下分模块的设计。底层是实现各功能的模块,各模块由vhdl语言编程实现:顶层采用原理图形式调用。其中底层模块包括秒、分、时三个计数器模块、按键去抖动模块、按键控制模块、时钟分频模块、数码管显示模块,其中,时计数器模块又包括24进制计数模块、12进制计数模块、24/12进制转换模块。设计框图如下: 由图可以清晰的看到数字钟系统设计中各功能模块间连接关系。系统时钟1KHZ经过分频后产生1秒的时钟信号,1秒的时钟信号作为秒计数模块的输入信号,秒计数模块产生的进位信号作为分计数模块的输入信号,分计数模块的进位信号作为时计数模块的输入信号。秒计数模块、分计数模块、时计数模块的计数输出分别送到显示模块。由于设计中要使用按键进行调节时间,而按键的动作过程中存在产生得脉冲的不稳定问题,所以就牵扯到按键去抖动的问题,对此系统中设置了按键去抖动模块,按键去抖动模块产生稳定的脉冲信号送入按键控制模块,按键控制模块根据按键的动作对秒、分、时进行调节。 原理图如下:

四、实验程序(程序来源:参考实验室里的和百度文库的稍加改动,还有自己写的) 1、分频模块 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY fenpin IS PORT(CLK:IN STD_LOGIC; CLK1:OUT STD_LOGIC); END fenpin; ARCHITECTURE behav OF fenpin IS SIGNAL X,CNT:STD_LOGIC_VECTOR(11 DOWNTO 0); BEGIN P1:PROCESS(CLK) BEGIN X<="001111101000";--1000分频 IF CLK'EVENT AND CLK = '1' THEN CNT<=CNT+1; IF CNT=X-1 THEN CLK1<='1';CNT<="000000000000"; ELSE CLK1<='0'; END IF; END IF; END PROCESS; END behav; 2、60进制计数器(秒、分计数器)模块 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY count60 IS PORT(EN,RST,CLK1: IN STD_LOGIC; Q: OUT STD_LOGIC_VECTOR(7 DOWNTO 0); COUT: OUT STD_LOGIC); END count60;

基于fpga的计数器的程序设计

基于FPGA的计数器的程序设计 摘要 本文介绍了一种基于FPGA的,由顶层到底层设计的数字计数器。本文主要包括该计数器的设计基础和实现方法以及译码与显示等内容,描述了它的设计平台、工作原理和软硬件实现。本设计主要有分频器、四位计数器、16位锁存器以及数码管显示电路四个模块组成。计数器各模块设计采用VHDL硬件描述语言编程,极大地减少了硬件资源的占用,仿真与分析结果表明,该数字计数器性能优异,软件设计语言灵活,硬件简单,速度快。 关键词FPGA计数器VHDL分频器

目录 基于FPGA的计数器的程序设计 (1) 摘要 (1) 1 绪论 (3) 1.1 FPGA简介 (3) 1.2硬件描述语言VHDL简介 (3) 1.3开发工具Quartus II简介 (4) 2整体设计方案 (4) 3各功能模块设计及仿真 (5) 3.1分频器的设计 (5) 3.1.1分频器设计原理 (5) 3.1.2源程序及波形仿真 (6) 3.1.3分频器RTL 电路图 (7) 3.2计数器的设计 (7) 3.2.1分频器设计原理 (7) 3.2.2源程序及波形仿真 (8) 3.2.3 RTL 电路图 (11) 3.3锁存器的设计 (11) 3.3.1锁存器设计原理 (11) 3.3.2锁存器源程序及波形仿真 (12) 3.3.3锁存器RTL电路图 (13) 3.4显示部分的设计 (13) 3.4.1七段数码管显示原理 (13) 3.4.2七段数码管显示源程序及波形仿真 (15) 3.4.3七段数码管显示RTL 电路图 (16) 4系统顶层设计 (17) 4.1.1自顶向下的设计方法 (17) 4.1.2 顶层设计源程序及其仿真波形 (17) 4.1.3系统顶层RTL 电路图 (20) 5总结 (21) 参考文献 (22)

FPGA课程设计多功能数字钟讲解

多功能数字钟 开课学期:2014—2015 学年第二学期课程名称:FPGA课程设计 学院:信息科学与工程学院 专业:集成电路设计与集成系统班级: 学号: 姓名: 任课教师: 2015 年7 月21 日

说明 一、论文书写要求与说明 1.严格按照模板进行书写。自己可以自行修改标题的题目 2.关于字体: a)题目:三号黑体加粗。 b)正文:小四号宋体,行距为1.25倍。 3.严禁抄袭和雷同,一经发现,成绩即判定为不及格!!! 二、设计提交说明 1.设计需要提交“电子稿”和“打印稿”; 2.“打印稿”包括封面、说明(即本页内容)、设计内容三部分;订书机左边装订。 3.“电子稿”上交:文件名为“FPGA课程设计报告-班级-学号-姓名.doc”,所有报告发送给班长,由班长统一打包后统一发送到付小倩老师。 4.“打印稿”由班长收齐后交到:12教305办公室; 5.上交截止日期:2015年7月31日17:00之前。

第一章绪论 (3) 关键词:FPGA,数字钟 (3) 第二章FPGA的相关介绍 (4) 2.1 FPGA概述 (4) 2.2 FPGA特点 (4) 2.3 FPGA设计注意 (5) 第三章Quartus II与Verilog HDL相关介绍 (7) 3.1 Quartus II (7) 3.2 Verilog HDL (7) 第四章设计方案 (8) 4.1数字钟的工作原理 (8) 4.2 按键消抖 (8) 4.3时钟复位 (8) 4.4时钟校时 (8) 4.5数码管显示模块。 (8) 第五章方案实现与验证 (9) 5.1产生秒脉冲 (9) 5.2秒个位进位 (9) 5.3按键消抖 (9) 5.4复位按键设置 (10) 5.5 数码管显示。 (10) 5.6 RTL结构总图 (11) 第六章实验总结 (14) 第七章Verilog HDL源代码附录 (15)

基于FPGA的多功能数字钟的设计

基于FPGA的多功能数字钟的设计 摘要数字钟是采用数字电路实现对时、分、秒数字显示的计时装置,是人们日常生活中不可少的必需品。本文介绍了应用FPGA芯片设计多功能数字钟的一种方案,并讨讨论了有关使用FPGA芯片和VHDL语言实现数字钟设计的技术问题。关键词数字钟、分频器、译码器、计数器、校时电路、报时电路。 Design of Abstract Keywords

目录 0.引言 (4) 1.设计要求说明 (4) 1.1设计要求 (4) 1.2完成情况说明 (4) 2.多功能数字钟的基本原理及其在FPGA中的设计与实现 (4) 2.1计时电路 (5) 2.2异步清零电路 (5) 2.3校时、校分功能电路 (5) 2.4报时电路 (6) 2.5分频电路 (7) 2.6闹钟及音乐闹铃电路 (9) 2.7秒表计时电路 (15) 2.8译码显示电路 (15) 2.9逻辑总图 (16) 3.设计感想 (17) 参考文献 (17)

0.引言 数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度远远超过老式钟表。钟表的数字化给人们生产生活带来了极大的方便而且大大地扩展了钟表原先的报时功能。因此,研究数字钟及扩大其应用,有着非常现实的意义。 1.设计要求说明 1.1设计要求 1)设计一个具有校时、校分、清零,保持和整点报时功能的数字钟。 2)多数字钟采用层次化的方法进行设计,要求设计层次清晰、合理;构成整个设计的功能模块既可采用原理图方法实现,也可采用文本输入法实 现。 3)数字钟的具体设计要求具有如下功能: ①数字钟的最大计时显示23小时59分59秒; ②在数字钟正常工作时可以进行快速校时和校分,即拨动开关K1可对小 时进行校正,拨动开关K2可对分钟进行校正; ③在数字钟正常工作情况下,可以对其进行不断电复位,即拨动开关K3 可以使时、分、秒回零; ④整点报时是要求数字钟在每小时整点来到前进行鸣叫,鸣叫频率是在 59分53秒、55秒、57秒时为500Hz,59分59秒时为1KHz; ⑤哟啊去所有开关具有去抖动功能。 4)对设计电路进行功能仿真。 5)将仿真通过的逻辑电路下载到EDA实验系统,对其进行验证。 1.2完成情况说明: 对于实验要求的基本功能我们设计的电路都能准确实现。另外,我们还附加了显示星期、秒表、闹钟时间来时播放音乐等功能。 2.多功能数字钟的基本原理及其在FPGA中的设计与实现 通过分析多功能数字钟的设计要求和所要实现的功能,应用层次化方法设计出数字钟应由计时模块、分频脉冲模块、译码显示模块、校时校分和清零模块、报时模块等几个模块组成,其原理框图如下图1所示:

基于FPGA的定时器计数器的设计与实现

基于FPGA的定时器/计数器的设计与实现 摘要 本课题旨在用EDA工具与硬件描述语言设计一个基于Altera公司的FPGA 16位计数器\定时器,可对连续和非连续脉冲进行计数,并且计数器在具有计数定时功能基础上,实现简单脉宽调制功能和捕获比较功能。本设计采用QuartusII编译开发工具使用VerilogHDL 设计语言进行设计,并采用了由上而下的设计方法对计数器进行设计,体现了VerilogHDL 在系统级设计上自上而下设计风格的优点。本设计中采用了三总线的设计方案,使设计更加简洁与规范。本设计所有模块与功能均在Quartus II 7.0_1.4G_Liwz版本下通过编译与仿真,实现了定时器/计数器的设计功能。 关键词:VerilogHDL硬件描述语言;QuartusII;FPGA;定时器/计数器

FPGA-based timer / counter design and implementation This topic aims to use EDA tools to design a 16 bit counter \ timer based on Altera's FPGA by hardware descripe language, which can count continuous and discontinuous pulset, and the counter with the function of capture and PWM. This design uses VerilogHDL language and top-down design method to design the counter on QuartusII compile tool, the design reflect the advantages of VerilogHDL top-down design in system-level design. The design uses a three-bus design, which make design much more specifications and concise. The design and function of all modules are compiled and simulationed on the Quartus II 7.0_1.4G_Liwz versions, and achieve the timer / counter’s features. Key words: VerilogHDL hardware description language; QuartusII; FPGA; timer / counter

fpga数字钟课程设计报告

课程设计报告 设计题目:基于FPGA的数字钟设计 班级:电子信息工程1301 学号:20133638 姓名:王一丁 指导教师:李世平 设计时间:2016年1月

摘要 EDA(Electronic Design Automation)电子设计自动化,是以大规模可编程器件为设计载体,以硬件描述语言为系统逻辑描述的主要表达方式,通过相关的软件,自动完成软件方式设计得电子系统到硬件系统,最终形成集成电子系统或专用集成芯片。本次课程设计利用Quartus II 为设计软件,VHDL为硬件描述语言,结合所学知识设计一个多功能时钟,具有显示年、月、日、时、分、秒显示,计时,整点报时,设定时间等功能。利用硬件描述语言VHDL 对设计系统的各个子模块进行逻辑描述,采用模块化的思想完成顶层模块的设计,通过软件编译、逻辑化简、逻辑综合优化、逻辑仿真、最终完成本次课程设计的任务。 关键词:EDA VHDL语言数字钟

目录 摘要 1 课程设计目的 2 课程设计内容及要求 2.1 设计任务 2.2 设计要求 3 VHDL程序设计 3.1方案论证 3.2 系统结构框图 3.3设计思路与方法 3.3.1 状态控制模块 3.3.2 时分秒模块 3.3.3 年月日模块 3.3.4 显示模块 3.3.5脉冲产生模块 3.3.6 扬声器与闹钟模块 3.4 RTL整体电路 4 系统仿真与分析 5 课程设计总结,包括.收获、体会和建议 6 参考文献

1 课程设计目的 (1)通过设计数字钟熟练掌握EDA软件(QUARTUS II)的使用方法,熟练进行设计、编译,为以后实际工程问题打下设计基础。 (2)熟悉VHDL 硬件描述语言,提升分析、寻找和排除电子设计中常见故障的能力。 (3)通过课程设计,锻炼书写有理论根据的、实事求是的、文理通顺的课程设计报告。 2 课程设计内容及要求 2.1 设计任务 (1)6个数字显示器显示时分秒,setpin按键产生一个脉冲,显示切换为年月日。 (2)第二个脉冲可预置年份,第三个脉冲可以预置月份,依次第四、 五、六、七个脉冲到来时分别可以预置时期、时、分、秒,第八个脉冲到来后预置结束正常从左显示时分秒。 (3)up为高时,upclk有脉冲到达时,预置位加一,否则减一。 2.2 设计要求 (1)在基本功能的基础上,闹钟在整点进行报时,产生一定时长的高电平。 (2)实现闹钟功能,可对闹钟时间进行预置,当达到预置时间时进行报时。

基于FPGA的数字时钟

xxxx大学 电子设计自动化技术与应用 设计报告 设计题目:基于FPGA的数字时钟 学院:通信学院 姓名: 学号:

目录 一、设计任务 (3) 二、总体设计方案 (3) 1、设计思想 (3) 2、总体设计框图 (3) 三、单元电路设计 (4) 1、秒计数器模块设计与实现 (4) 2、分计数器模块设计与实现 (5) 3、时计数器模块设计与实现 (6) 4、2选1选择器模块设计与实现 (7) 5、译码器模块的设计与实现 (8) 6、3-8线译码器模块设计与实现 (9) 7、分频器的设计与实现 (9) 8、顶层原理设计图 (10) 四、硬件测试与结果分析 (11) 1、硬件测试: (11) 2、测试过程及结果分析 (12) 五、收获与体会 (12)

一、设计任务 1、能进行正常的时、分、秒计时功能,由LED数码管显示时间,最大计时 为23:59:59。 2、小时显示采用24进制,分显示和秒显示都采用60进制。 3、具有调时和调分功能。 二、总体设计方案 1、设计思想 本设计是基于Altera公司的Cyclone III 系列的EP3C16Q240C8芯片设计的,采用层次化设计方式,先设计数字时钟的底层器件:秒计数器、分计数器、时计数器、2选1选择器、译码器、分频器。顶层采用原理图设计方式,将所设计的底层器件连接起来构成一个具有计时和调时功能的数字时钟。 2、总体设计框图 完整的数字时钟设计硬件框图如图所示。

三、单元电路设计 1、秒计数器模块设计与实现 1.1秒计数器流程图如下: 1.2秒计数器生成模块如图1所示: 图1 其中,clk 是时钟信号,daout 是60计数输出,enmin 是向分进位的高电平。 1.3 波形仿真图

基于FPGA的数字时钟的设计1

基于FPGA 的数字时钟的设计 课 题: 基于FPGA 的数字时钟的设计 学 院: 电气信息工程学院 专 业 : 测量控制与仪器 班 级 : 08测控(2)班 姓 名 : 潘 志 东 学 号 : 08314239 合作者姓名: 颜志林 2010 年 12 月 12 日

综述 近年来随着数字技术的迅速发展,各种中、大规模集成电路在数字系统、控制系统、信号处理等方面都得到了广泛的应用。这就迫切要求理工科大学生熟悉和掌握常用中、大规模集成电路功能及其在实际中的应用方法,除通过实验教学培养数字电路的基本实验方法、分析问题和故障检查方法以及双踪示波器等常用仪器使用方法等基本电路的基本实验技能外,还必须培养大学生工程设计和组织实验能力。 本次课程设计的目的在于培养学生对基本电路的应用和掌握,使学生在实验原理的指导下,初步具备基本电路的分析和设计能力,并掌握其应用方法;自行拟定实验步骤,检查和排除故障、分析和处理实验结果及撰写实验报告的能力。综合实验的设计目的是培养学生初步掌握小型数字系统的设计能力,包括选择设计方案,进行电路设计、安装、调试等环节,运用所学知识进行工程设计、提高实验技能的实践。数字电子钟是一种计时装置,它具有时、分、秒计时功能和显示时间功能;具有整点报时功能。 本次设计我查阅了大量的文献资料,学到了很多关于数字电路方面的知识,并且更加巩固和掌握了课堂上所学的课本知识,使自己对数字电子技术有了更进一步的认识和了解。

1、课题要求 1.1课程设计的性质与任务 本课程是电子与信息类专业的专业的专业基础必修课——“数字电路”的配套实验课程。目的在于培养学生的理论联系实际,分析和解决问题的能力。通过本课程设计,使学生在理论设计、计算机仿真、指标调测、故障排除等方面得到进一步的训练,加强学生的实践能力。学生通过设计、仿真、调试、撰写设计报告等过程,培养学生的动手能力和严谨的工作作风。 1.2课程设计的基本技术要求 1)根据课题要求,复习巩固数字电路有关专业基础知识; 2)掌握数字电路的设计方法,特别是熟悉模块化的设计思想; 3) 掌握QUARTUS-2软件的使用方法; 4) 熟练掌握EDA工具的使用,特别是原理图输入,波形仿真,能对仿真波形进行分析; 5) 具备EDA技术基础,能够熟练使用VHDL语言进行编程,掌握层次化设计方法; 6) 掌握多功能数字钟的工作原理,学会不同进制计数器及时钟控制电路的设计方法; 7) 能根据设计要求对设计电路进行仿真和测试; 8) 掌握将所设计软件下载到FPGA芯片的下载步骤等等。 9) 将硬件与软件连接起来,调试电路的功能。 1.3课程设计的功能要求 基本功能:能进行正常的时、分、秒计时功能,分别由6个数码管显示24小时,60分钟,60秒钟的计数器显示。 附加功能:1)能利用硬件部分按键实现“校时”“校分”“清零”功能; 2)能利用蜂鸣器做整点报时:当计时到达59’59’’时开始报时,鸣叫时间1秒钟; 3)定时闹铃:本设计中设置的是在七点时进行闹钟功能,鸣叫过程中,能够进行中断闹铃工作。 本人工作:负责软件的编程与波形的仿真分析。 2、方案设计与分析

基于FPGA十进制同步计数器

十进制同步计数器 一、实验目的 1.学习十进制同步计数器的Verilog硬件设计 2.学会并掌握Quartus II软件的使用 3.学会并掌握modelsim仿真软件的使用 二、实验原理 进制计数器具有电路结构简单、运算方便等特点,但是日常生活中我们所接触的大部分都是十进制数,特别是当二进制数的位数较多时,阅读非常困难,还有必要讨论十进制计数器。在十进制计数体制中,每位数都可能是0,1,2,…,9十个数码中的任意一个,且“逢十进一”。根据计数器的构成原理,必须由四个触发器的状态来表示一位十进制数的四位二进制编码。 第2个计数脉冲来到后,其状态为0010。以下类推,可以得到如表1所示的状态表。但需注意:在第9个脉冲来到后,亦即计数器处于1001态时,低电平封住了F2的置1端,Q1的高电平又使K4=1,故第十个计数脉冲来到后,F2、F3状态不变,F1、F4同时置0,计数器跳过多余的6个状态,完成一次十进制计数循环。 表1 同步十进制加法计数器状态表 为了满足十进制加法计数器的原理,本实验用Verilog程序在FPGA/CPLD 中来实现。首先设计一个程序,程序为脉冲输入,设输出的四位码为q[3:0],十进制计数值为count,脉冲上升沿时q值+1,直到q=9时count=1,q置零重新开始计数直至下一个q=9,count=2,依次循环。

三、实验任务 1.根据实验目的编写verilog程序 2.将设计好的Verilog译码器程序在Quartus II上进行编译 3.对程序进行适配、仿真,给出其所有信号的时序仿真波形图(注意仿真波形 输入激励信号的设置)。本实验要求自己设置clr值,理解清零的意义 四、实验步骤: 1.建立工作库文件和编辑设计文文件 任何一项设计都是一项Project(工程),而把一个工程下的所有文件放在一个文件夹内是一个非常好的习惯,以便于我们整理,利用和提取不同工程下的文件,而此文件夹将被EDA软件默认为Work Library(工作库),所以第一步先根据自己的习惯,建立个新的文件夹。 (1)新建文件夹:在E盘建立并保存工程,文件夹取名myproject,工程取名为cnt10_1 (2)输入源程序:打开Quartus II,选择菜单File-->New-->Design Files-->VerilogHDL File-->OK(如下图所示) 代码如下: module cnt10_1(clr, clk, q, cout); input clr, clk; output[3:0] q; output cout; reg[3:0] q; reg cout; always @(posedge clk) begin if (clr) q = 0; else begin if (q == 9) q = 0; else q = q + 1;

相关主题
文本预览
相关文档 最新文档