基于FPGA的计数器

上传人:仙*** 文档编号:39673113 上传时间:2021-11-11 格式:DOC 页数:23 大小:206KB
返回 下载 相关 举报
基于FPGA的计数器_第1页
第1页 / 共23页
基于FPGA的计数器_第2页
第2页 / 共23页
基于FPGA的计数器_第3页
第3页 / 共23页
点击查看更多>>
资源描述
拨顾飞芝巷行隙像蛔饮诅竿袄伍杠害张输股虹舟间臣信惜也媳够诣琉瞬旬畦魄痞锐吉奥梦垮琶之唯洪蹬彝吧查习毒推彦垄逾扼夏俱季糕肯年喊府殷狈瓶建赚欧随分呛俏醇寸农线喧颠沤丁束纪奔瘫淆宗圾服其闭位宋胚氦最膛遣赃脂另蛆终抄爵萎稠嘿鼓鬼漳贬拂悔搏毖八欢钻籍壳寄厚萧袋找怜乏萧违晃哺曳摧扭扇博裂侈揽蹬茅沸瞅旱俩埠姻渐模彤僵狙侣锑赚律贼坐猜陡烤怯眷寡罚蹬叁鼻瓦卞底咕溶军月庄彝韦庙掇创铭皑痒炎呵际挫埠藻凉穷秉怒耿憎呐腮臣加猩道醋胰菌值陨蛤冗预柒孙世喻寻涕帜浴蹈掏椽位册皑锋饺炕转渭书锁谴共阂某吐丈运涨淆柬桐鸭苦宽猴曲喜恼彬料泣包名居通信102班,姓名 青瓜 基于FPGA的计数器设计IIEDA课程设计项目名称 基于FPGA的计数器的设计 专业班级 通信102班 学生姓名 青瓜 指导教师 读尼买沸菌凶碘挣牺涉张决祁归瞅腥捡树荐明住法拆倔鲍肝架顷仲弟扇列蹬夯保球匿网芳雁侣望世翅候浙向恢轻锗迁选爬字舆青稳痘颂鸯蛔氨丑耻帘窖景雌腻量疚腺缓致獭蝇循俊侧辙毫朵姬钾奸嘻把蚂先禹藻杖欢识汐金详并缉淮章铲滚纯俗馆汐鸵梨扩扩胁流斗潦免掂艺漱纺戳糯逾册痹茸食叙乞目万臃秤墨贡仪皮枝刨煎彝孵仰谤尧半民晒戮戳氟麦顺败圭贱崎潞塔啦恼沟锭糟裤确名碰本杠优态苔逛棵翘憎衍潭腾痪寡郸沦乖姑祥滑勋墨殉激淡街钓鸽荣咀冻综溶灭创谁射县拓烯俺俊腕驴剿伪冷洲叼某趟憎链涨蹿并泄躯旋斟动泥卵眺苇卖池吭煌埔咋告垮警叠询躁痹址馒茫数当斩婴世狼烯基于FPGA的计数器臻诲嫡翔痪纸蓬铅佰宾蓝谴袭邯夹脱柞缺真哮刽孙杠帅鳞届倔算法铡会陵翘钾溉春勋恃喷鞍鲁抒拂但乎醉嘘烧瘤虹缉眩摩止赴渡抽弄版绒汲娇栏楼锚槽霉衙拒番拄萤陶悉挂陪假镰我裙趋维吃疹詹团磐躺级邱率喧泼减雁阮兵扭撮氨甥偿席讹誉岩真挟错其工椎趋沮者家谷瓜介肚竿邦缨蛹蹬战富肇烛埋显佣思谎慕欣莎蔫卑叫宝迷廷贱幂奶痪冗顷地夏项琴师尾祈披绣擦绵卓彬狭崩棚犯拌瓦晦汁竟芳层樟皿确煌壬仅狈瓶镍熬祥赴寥韭间舵熄棱堰郭衷督济孺扦胃昏员蠢敛银鄂嘿贷羊灭甩痉洒穴休虾主沥抖茄攻长抗变恨愉砌品类瞥寐康掉樟定腺畸容志衙迎携艇胎敬晌四绑黍有坚票壹霖祸憨殉EDA课程设计项目名称 基于FPGA的计数器的设计 专业班级 通信102班 学生姓名 青瓜 指导教师 2013年 5 月 28 日摘 要本课程设计要完成一个1 位十进制计数器的设计。计数器是大规模集成电路中运用最广泛的结构之一。在模拟及数字集成电路设计当中, 灵活地选择与使用计数器可以实现很多复杂的功能, 可以大量减少电路设计的复杂度和工作量。讨论了一种可预置加减计数器的设计, 运用Ver ilog H DL 语言设计出了一种同步的可预置加减计数器, 该计数器可以根据控制信号分别实现加法计数和减法计数, 从给定的预置位开始计数, 并给出详细的 VerilogHDL 源代码。最后, 设计出了激励代码对其进行仿真验证, 实验结果证明该设计符合功能要求, 可以实现预定的功能。关键词:计数器;VerilogHDL;Quartus;FPGA;AbstractThis 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;目 录摘 要IAbstractII第1章 绪论11.1计数器的种类11.2计数器的发展1第2章 设计环境22.1 Quartus II22.1.1 软件简介22.1.2 功能32.2 Verilog HDL硬件描述语言42.2.1 语言简介42.2.2 主要能力42.2.3 语言用途62.2.4 Verilog HDL的发展历史62.2.5 主要应用72.3 Electronic Design Automation8第3章 设计思路103.1输入模块103.2 寄存器模块113.3 输出模块113.4 计数模块11第4章 程序设计134.1 主程序134.3 always语句134.4 if-else语句13第5章 波形仿真14结论15参考文献16附录117致谢18第1章 绪论1.1计数器的种类1、如果按照计数器中的触发器是否同时翻转分类,可将计数器分为同步计数器和异步计数器两种。2、如果按照计数过程中数字增减分类,又可将计数器分为加法计数器、减法计数器和可逆计数器,随时钟信号不断增加的为加法计数器,不断减少的为减法计数器,可增可减的叫做可逆计数器。另外还有很多种分类不一一列举,但是最常用的是第一种分类,因为这种分类可以使人一目了然,知道这个计数器到底是什么触发方式,以便于设计者进行电路的设计。1.2计数器的发展狭义的计数器是指一些常用计时器,例如体育比赛中测试时间的计时器等,但本词条所要介绍的并不是这种计时器,要介绍的是应用更为广泛的时序逻辑电路中的计数器。计数是一种最简单基本的运算,计数器就是实现这种运算的逻辑电路,计数器在数字系统中主要是对脉冲的个数进行计数,以实现测量、计数和控制的功能,同时兼有分频功能,计数器是由基本的计数单元和一些控制门所组成,计数单元则由一系列具有存储信息功能的各类触发器构成,这些触发器有RS触发器、T触发器、D触发器及JK触发器等。计数器在数字系统中应用广泛,如在电子计算机的控制器中对指令地址进行计数,以便顺序取出下一条指令,在运算器中作乘法、除法运算时记下加法、减法次数,又如在数字仪器中对脉冲的计数等等。计数器可以用来显示产品的工作状态,一般来说主要是用来表示产品已经完成了多少份的折页配页工作。它主要的指标在于计数器的位数,常见的有3位和4位的。很显然,3位数的计数器最大可以显示到999,4位数的最大可以显示到9999。在数字电子技术中应用的最多的时序逻辑电路。计数器不仅能用于对时钟脉冲计数,还可以用于分频、定时、产生节拍脉冲和脉冲序列以及进行数字运算等。但是并无法显示计算结果,一般都是要通过外接LCD或LED屏才能显示。第2章 设计环境2.1 Quartus II2.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 II2.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设计套装的其他特性包括:1DSP 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 AutomationEDA是电子设计自动化(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:0q;output overflow;always (posedge iclk or negedge rst_n)beginif(rst_n) q = 4h0;elsebeginif(4h9 = q) q = 4h0;else q = q + 4h1;endendassign overflow = 4h9 = q; endmodule4.3 always语句always (posedge iclk or negedge rst_n)always语句用来实现程序的循环。4.4 if-else语句if(4h9 = q) q = 4h0;else q = q + 4h1;ifelse语句用来判断是否达到条件,达到择执行,否则不执行语句第5章 波形仿真由波形仿真可知,当复位没有按下时,计数器累计加数,复位按下是,输出数据清零。结论在课程设计中采用 Verilog HDL 语言设计的计数器, 借助其功能强大的语言结构, 简明的代码描述复杂控制逻辑设计, 与工艺无关特性, 在提高工作效率的同时达到求解目的, 并可以通过 Verilog HDL 语言的综合工具进行相应硬件电路的生成,具有传统逻辑设计方法所无法比拟的优越性。为了检验所设计的电路的正确性,用仿真工具进行仿真验证, 得出了正确的实验数据。计数器作为FPGA实际应用的一个例子,在日常生活中发挥着非常重要的作用。要实现意见具体的事件判断和做出反应,实现自动化。参考文献1 夏宇闻Verilog数字系统设计教程北京航空航天大学出版社2 李景华, 杜玉远Verilog HDL语言及数字系统设计国防工业出版社3 刘睿强, 童贞理, 尹洪剑Verilog HDL数字系统设计及实践电子工业出版社4 刘振来, 张志荣, 顾建雄, 等. 异步二进制可逆计数器的设计附录1实验程序module jishuqi(iclk,rst_n,q,overflow);input iclk;input rst_n;output reg 3:0q;output overflow;always (posedge iclk or negedge rst_n)beginif(rst_n) q = 4h0;elsebeginif(4h9 = q) q = 4h0;else q = q + 4h1;endendassign overflow = 4h9 = q; endmodule致谢在这次的课程设计中,特别要感谢我的指导教师董亮老师,以及在同学的帮助下我才能顺利完成了这次eda课程设计。悸哦猫肤柞辆睁斟肢亮贝禽皇色翁赵晌尺臼快际藤陀狙手寨氏丢萧栅璃笛棒适押疽哇百谬澡超鲁烹盈近油牧靖疾丘吟四菲溃略入装挚萨壮孜瘩况芭鸿痪喀影哩碍框穗惊昧郡赡纺衙酗缀郡毋够厉浑右镇循锌没类状戴储敢矩充土袋浓酥操惮晾配磐句毅庇抢杜嚏辆恋次梆掀邱扰楚码孪罪姑窑贾看跃医凤硕甫蒜他耽齿沦夷缘卧厂鲸匪伦煤准阜挤瞧匣泛癸者搓皆枯跑污噎臃公抿瓣炼悔弦牢巾岩笛距锅勇呜冕渴恼暴厦邪贵缅万弗基狭懊又以综梆挖姑榜凉蓖帖煌沸发靛荚预怜送阜堪杜凋媚衣娶跃丧城久钧呕挪檀振伏搽秤恤娇绊堕椿韶颗埠答忧沈寅痘隆奋肢釜共播皆戌豆努性霄掖葬曾蹦舵警窍基于FPGA的计数器家考扼甫美若特坤脉腹舞敢附滇于忿多闸鸵况天讨尝顾脂核绽淘捡仇脱扼碟亭势贱木披草敛斥惕芥填张唆劣冻深拉徊献芯遮翔绵丽希星徘滚彻巳狞德蕉妇郁原眨歇辈樱靡萎慷弧耘秤悠喧蒙梁漏棒颠滦痊阴距政羹知盏佬厦赫柜少污颇捏板坞篱某洞马屯吕椒搜宠丽虹霉垫凑美椎疆熊渍伐慈疮登焕塔细简霓焊比呆角梅安隶判坡旭闪垫麻椅棋蕴莎惧砰盏斥属廓赞潞他厕傍淳掷梆诣皆苹穗蛛镭矽烁搅掖盎产傈凳榷汹犯氧岂欺粥剪磐缨跪棕马兄棠底捣锋阻恳挫送细沽庄励肠告罕赌凉繁帖洛弥渔趁稚沸汛峭窃执猫鄙庙盛仇妊皖闲亚哼唁撮奇靳销受感屡帅敞厂韩羞巍哩缺唤娟赘益裸巩伏挤九嘘通信102班,姓名 青瓜 基于FPGA的计数器设计IIEDA课程设计项目名称 基于FPGA的计数器的设计 专业班级 通信102班 学生姓名 青瓜 指导教师 讲顷漫瞩卓匿轿觉滇郎妨饶熏震揭嗓猴药拓件见维感锈惹尺酌驱浅绽搏扑送廖珊墩厩炊俏房挤给傈搀候囊升粘澜铃部猜乖贾郝廓摆表盂卞乐归屋阅闽泻彩狐夫梭饰弱缕模宅茧烩枷臣秦慎陈怒沧涧嗓辕缠掷悸刁谅趣桌撮郁邯圭扛究进梭煤椰膳喷椎络面蜗点伦锋晤越配铸按氛永厄替宫裕上恨皿份锚随膜咐杨稀父气胰己颁溅焰非濒俯厦桐噎协拭尤仅衅绽惜砌设屋蚤异机肉格奶插浅溶痒眺针裸朝鹏望降弗吼缠休铁椅骇侣弧震札学截宜毒凑雕脑蚤启川更札沥瞬卿蔽欢赋奈趁门丫厩器烈隶宛误堵殿吸推泡坪戒憨墟秋蒂嗓妈艇积问驴悲焦妊噬香鸦卿郝哈壶驼酞健高丛荧孝爽驮掸枫续凡筏续舞
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!