当前位置:文档之家› 基于FPGA的简易处理器设计

基于FPGA的简易处理器设计

基于FPGA的简易处理器设计

-75-

中国科技信息2005年第16期 CHINA SCIENCE AND TECHNOLOGY INFORMATION Aug.2005

科 技 论 坛

基于FPGA的简易处理器设计

王向红1 刘宝军2

(1,哈尔滨工程大学水声工程学院 150001; 2,中国船舶重工集团公司750试验场 650051)

摘 要:EDA技术正成为电子系统设计的主流。本文基于可编程逻辑器件FPGA,利用硬件描述语言VHDL设计实现了一个简易中央处理器,为今后的进一步开发打下了基础。

关键词:FPGA;VHDL;处理器

1,概述

随着半导体技术、集成技术和计算机技术的发展,电子系统的设计方法和手段发生了很大的变化。特别是进入到20世纪90年代以后,EDA(电子设计自动化)技术的发展和普及给电子系统设计带来了巨大的变化。

利用EDA工具,采用可编程器件,通过设计芯片实现系统功能,这种方法称为基于芯片的设计方法。这种设计方法可以通过芯片设计实现多种数字逻辑系统功能,增强设计的灵活性,提高了工作效率;同时,基于芯片的设计可以减少芯片的数量,缩小系统体积,降低能源消耗,提高系统的性能和可靠性,已经成为现代电子系统设计的主流。此外,FPGA的集成度不断提高,因此这种设计方法具有研制周期短、设计成本低、设计灵活性高等特点,在现代电子系统中占有越来越重要的地位。

计算机已经成为人们生活、工作、学习的好帮手。计算机之所以能得到广泛的应用,是因为它具有强大的、多用途的处理功能,而实施这种功能的就是计算机的核心部件——CPU。本文的研究对象就是基于可编程逻辑器件的系统设计,实现一个简易处理器。在该系统中,能够使用常用的算术和逻辑运算指令,可以完成从取指令到读写数据,再到算术和逻辑运算的功能。

2,硬件描述语言VHDL

EDA软件的自动化程度高、功能完善、运行速度快、而且操作界面友好,具有良好的数据开放性和互换性。现代EDA技术的基本特征是采用高级语言描述,具有系统级仿真和综合能力。

描述硬件电路的功能,信号连接关系及定时关系的语言称为硬件描述语言,它能比电路原理图更有效地表示硬件电路的特性。利用硬件描述语言编程来表示逻辑器件及系统硬件的功能和行为,是集成电路设计方法的一个重要特征。当前国内外普遍使用的主流硬件描述语言只有两种:VHDL和Verilog HDL,此外还有ABEL和AHDL等。这里采用的硬件描述语言是VHDL,设计方法是“自上至下”,即从系统的总体要求出发,逐步将设计内容细化,最后完成系统硬件的整体设计。

VHDL语言以ADA语言为基础,由美国国防高级研究计划局(DARPA)开发。1985年完成第一版,1987年成为IEEE标准,1993年增修为IEEE1164标准并使用至今。1996年又加入电路合成标准程序和规格,成为IEEE1076.3标准。美国国防部规定其为官方ASIC设计语言。1995年,中国国家技术监督局出版的《CAD通用技术规范》中,推荐VHDL为我国硬件描述语言的国家标准。与其他HDL语言相比,VHDL具有四大特色:(1)设计技术齐全、方法灵活、支持广泛VHDL语言可以支持自上至下(Top Down)和基于库(Library-Based)的设计方法,而且还支持同步电路、异步电路和FPGA等电路的设计。目前大多数EDA工具几乎都不同程度的支持VHDL语言。

(2)系统硬件描述能力强

VHDL语言具有多层次描述系统硬件特征的能力,从系统的数学模型直到门级电路。此外,

还可以自定义数据类型,极大地方便了编程人员。(3)VHDL语言可与工艺无关编程

在用VHDL语言设计系统硬件时,没有嵌入与工艺有关的信息。这样在工艺更新时,无须修改原设计程序,只要改变相应的映射工具就行了。(4)VHDL语言标准、规范,易于共享和复用利用VHDL语言设计成果便于复用和交流,可推动VHDL语言的推广和完善。此外,其语法较严格,便于阅读和使用。

在VHDL程序中,通常包含实体(ENTITY)、结构体(ARCHITECTURE)、配置(CONFIGURATION)、包集合(PACKAGE)和库(LIBRARY)5个部分。其中实体和结构体这两个基本结构是必需的,它们可以构成最简单的VHDL程序。

可编程逻辑器件是一种数字集成电路的半成品,在它的芯片上按照一定的排列方式集成了大量的门和触发器等基本逻辑元件,使用者可以利用某种开发工具对它进行加工,等于把片内的元件连接起来,使它完成某个逻辑电路或系统功能,成为一个可以在实际电子系统中使用的专用集成电路。常用的EDA工具软件有:Altera公司的MAX+PLUSII和Quartus,Xilinx公司的Foundation,Montor Graphics公司的Quick VHDL等,这里采用比较常用的Altera公司的MAX+PLUSII,FPGA亦选用该公司的产品。

3,简易处理器的设计

本文设计的是基于可编程逻辑器件FPGA的一个简易化中央处理器系统,具有这样一些功能:首先设计系统的复位开关RESET,对系统各关键部分进行复位清零;其次是系统各部分能够在时钟脉冲的作用下,按照一定的时序执行相应操作。

按照顶层设计的结构和设计的总体要求,系统的基本组成部分有时钟分频器、控制器、程序计数器、地址寄存器、累加器、存储器、辅助寄存器和输出寄存器等。

图1 简易处理器结构图

其中,存储器模块是本系统的指令代码和数据的存放空间,是系统设计的重要组成部分。它的存储容量是256×8位,地址编码是从00000000到11111111。

这里设计了这样几条指令,加法、减法、取反、同或、异或、左移和右移等。每条指令代码为16位,高八位为操作码场,低八位为操作数场,这样一条指令占两个存储单元,所以程序计数器工作时,每来一次CP脉冲,模块内部的计数值加二。数据存储器存放指令执行过程中的相关数据,例如0C0H

-0C2H单元存放的数据如表1所示。

表1 存储器中数据分配表地址存储内容110000000000010111000001000010011100001000000010

系统的整体工作流程可以描述为:(1)通过时钟分频器将系统的外部时钟分频成系统内部所要求的时钟标准;(2)控制器根据系统时钟,控制各模块统一工作;(3)程序计数器记录指令执行流程;(4)地址寄存器存放指令地址,以便在下一个时钟到来时输出给下一级;(5)根据指令地址,在存储器中找到指令的操作代码;(6)在存储器中寻找指令操作过程中用到的数据,并把它们送给累加器或辅助寄存器;(7)根据指令操作码控制指令进行运算;(8)控制器控制输出操作结果。一些指令的仿真波形如图2和图3所示。图2将数据存储器中的两个数据05H和09H相加,结果为0EH;图3是将操作数05H取反,结果为FAH。

图2 加法指令仿真波形

图3 取反指令仿真波形

4,结论

系统级芯片设计是电子信息整机和集成电路产品设计相结合的完美体现。开展系统级芯片设计工作有利于摆脱电子信息产品设计与集成电路芯片设计相脱节的局面,21世纪将会是EDA技术全面发展壮大的时代。

本文利用硬件描述语言

VHDL设计了具有简单运算功能的处理器系统。虽然这只是一个简易化CPU,但系统的设计过程和设计思想有利于今后的进一步应用。参考文献:

[1]VHDL硬件描述语言与数字逻辑电路设计 侯伯亨,顾新编著.西安电子科技大学出版社[2]VHDL与数字电路设计,卢毅,赖杰编著.科学出版社

[3]CPLD/FPGA高级应用开发指南,任晓东,文博编著.电子工业出版社

基于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的计数器的程序设设计 精品

郑州轻工业学院 电子技术课程设计 题目 _基于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

基于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的定时器计数器的设计与实现

基于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十进制同步计数器

十进制同步计数器 一、实验目的 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;

基于FPGA的二十四进制计数器

实验名称:二十四进制计数器二十四进制计数器

实验步骤或程序: 十进制计数器程序: library ieee; use ieee.std_logic_1164.all; entity count10 is port(ep,et,clk,nld,nrd: in std_logic; d: in std_logic_vector(3 downto 0); q:buffer std_logic_vector(3 downto 0); c:buffer std_logic ); end count10; architecture rtl of count10 is begin process(ep,et,clk,nld,nrd,d) begin if ep='1' and et='1' then if nrd='0' then q<="0000"; c<='0'; else if clk'event and clk='1' then if nld='0' then q<=d;

else case q is when"0000"=>q<="0001";c<='0'; when"0001"=>q<="0010";c<='0'; when"0010"=>q<="0011";c<='0'; when"0011"=>q<="0100";c<='0'; when"0100"=>q<="0101";c<='0'; when"0101"=>q<="0110";c<='0'; when"0110"=>q<="0111";c<='0'; when"0111"=>q<="1000";c<='0'; when"1000"=>q<="1001";c<='1'; when others=>q<="0000"; c<='0'; end case; end if; else q<=q; c<=c; end if; end if; else q<=q; c<=c; end if; end process; end rtl; 管脚设置: 二十四进制计数器:

基于FPGA的环形计数器设计

龙源期刊网 https://www.doczj.com/doc/f715195757.html, 基于FPGA的环形计数器设计 作者:段品凡郭昭利王彦博张哲曾健于海霞 来源:《电脑知识与技术》2019年第09期 摘要:设计一个能自启动的模8右移扭环形计数器和模4右移环形计数器,以Verilog语言进行程序编写,并设以FPGA应用设计为基础,使用Quartus Ⅱ进行仿真。 关键词:FPGA;Verilog;Quartus Ⅱ。 中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2019)09-0217-02 在信息化时代的今天,无论是工厂的生产,还是日常生活,自动化的程度越来越高,在许多场合,人,已不再是必须主角,而代替人类完成诸多工作的是高度自动化的设备,而其中关键的一环便是计数器。 1 原理 1.1 FPGA简介 以硬件描述语言(Verilog或VHDL)所完成的电路设计,可以经过简单的综合与布局,快速的烧录至 FPGA 上进行测试,是现代 IC设计验证的技术主流。这些可编辑元件可以被用来实现一些基本的逻辑门电路(比如AND、OR、XOR、NOT)或者更复杂一些的组合功能比如解码器或数学方程式。在大多數的FPGA里面,这些可编辑的元件里也包含记忆元件例如触发器(Flip-flop)或者其他更加完整的记忆块。 1.2 计数模块简介 此模块为本次设计的主模块,由两个小模块IC181模块(模8右移扭环形计数器模块)和IC182模块(模4右移环形计数器模块)组成,完成本设计的计数功能。其中,扭环形计数器又称约翰逊计数器,它具有电路结构简单,工作速度快且循环码等优点,因而应用较广。 2 总体设计 2.1 总体框图 2.2 总体流程图 3 具体设计

基于FPGA的计数器设计

一级建造师工程经济模拟题100道 得分规则:备选答案为ABCD四项的为单项选择题,每题1分,每题的备选项中,只有1个最符合题意:备选答案为ABCDE五项的为多项选择题,每题2分,每题的备选项中,有2个或2个以上符合题意,至少有1个错项。错选,本题不得分;少选,所选的每个选项得0.5分。 1、在工程经济学中,作为衡量资金时间价值的绝对尺度,利息是指( )。P2 A.占用资金所付出的代价 B.放弃使用资金所得的补偿 C.考虑通货膨胀所得的补偿 D.资金的一种机会成本 E.投资者的一种收益 2、利率是各国调整国民经济的杠杆之一。其高低首先取决于( )。P2 A.金融市场借贷资本的供求状况 B.借贷资本的期限 C.通货膨胀的波动影响 D.社会平均利润率的高低 3、下列关于利息和利率的说法中,正确的有( )。P2-3 A.利息是占用资金所付出的代价 B.利息能够促进企业加强经济核算 C.利率的高低取决于平均投资利润率的高低 D.利息是衡量资金时间价值的绝对尺度 E.利息和利率是以信用方式动员和筹集资金的动力 4、在工程经济分析中,通常采用( )计算资金的时间价值。P5 A、连续复利 B、间断复利 C、连续单利 D、瞬时单利 5、关于现金流量图绘制规则的说法,正确的有( )。P5 A.横轴为时间轴,整个横轴表示经济系统寿命期 B.横轴的起点表示时间序列第一期期末 C.横轴上每一间隔代表一个计息周期 D.与横轴相连的垂直箭线代表现金流量 E.垂直箭线的长短应体现各时点现金流量的大小 6、要正确绘制现金流量图,必须把握好现金流量的要素主要包括( )。P6 A.现金流量的时间点 B.现金流量的大小 C.现金流量的运动状态 D.现金流量的方向 E.现金流量的作用点 7、现金流量的分布情况,说明( )。P8 A.从收益方面来看,获得时间越早,数额越多,其现值越大 B.从收益方面来看,获得时间越早,数额越少,其现值越大 C.建设项目早投产,早获收益,多获收益,才能达到最佳经济效益

基于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、当出租车启动时,开始记里程数,并且计费,起始费用为7.0元; 2、当出租车等待时,不计数和收取费用; 3、当出租车停止时,不进行任何计数和收费。 二、目的: 1、培养综合运用知识和独立开展实践创新的能力; 2、掌握FPGA设计步骤及流程; 3、深入学习V erilog HDL,了解其编程环境; 4、学会运用Modelsim和Quartus II等编程仿真软件; 5、将硬件语言编程与硬件实物功能演示相结合,加深理解V erilog HDL 的学习; 三、使用环境: 1、软件:Modelsim和Quartus II等编程仿真软件; 2、硬件:FPGA DE2开发板。 四、课程设计详细方案及功能验证: 1、设计规范: 1、功能描述 1.当按动计价启动按钮时,开始计价,按车轮转动一周产生一个时钟脉冲,且一周距离为2m。 2.当里程数在3km内时(包括3km),计价器显示起步价7.0元。

3.当里程数大于3km时,每km增加2元。 4. 里程数精确到0.1km,价格精确到0.1元,价格和里程数用数码管显示。 2、顶层划分

管脚功能: 管脚名称PIN 功能 CLK input 输入时钟50M rst input 复位信号 start input 计价启动/暂停/停止信号 Led1 output 里程数信号十位 Led2 output 里程数信号个位 Led3 output 里程数信号小数点后一位 Led4 output 价格信号十位 Led5 output 价格信号个位 Led6 output 价格信号小数点后一位 3、子模块描述 1、分频模块 <1>功能描述: 通过分频,产生一个10hz的分频时钟信号。 <2>管脚功能: 管脚名称PIN 功能 CLK input 原时钟信号counter input 计数信号rst input 复位信号 start input 计价启动/暂停/停止信号 fclk output 分频时钟信号 即模拟车轮每转动一圈所用时 间 <3>实现原理: 当复位信号有效时,counter,fclk清零,当复位信号无效且计价开

基于FPGA的计数器

FPGA课程设计 题目:基于FPGA的计数显示控制设计 班级:微电子学1001班 姓名:李蓓 学号: 1006080101

一:设计任务 1.基于VHDL 语言完成十进制加法计数器设计 2.基于VHDL 语言完成分频器的设计 3.基于VHDL 语言完成数码管动态扫描显示设计 4.将上述设计按一定的连接关系连接起来,使其实现如下功能:指定输入时钟频率为50HZ 。 a 在数码管上显示0—9十进制数; b 数字跳变时间为1s ; c 可以通过按键实现显示开启、停止、复位功能。 二、总体设计方案 1.基于QuartusII 软件完成十进制加法计数器、分频器、数码管动态扫描显示设计; 2.采用Modelsim 仿真软件对上述设计进行仿真验证; 3.将上述各模块按照一定的连接关系连接,使其实现功能。 此次试验共分为三个模块进行,分别是分频计,计数器,和译码显示电路。这几个部分的完成都必须靠QuartusII 和Modelsim 完成。 本设计采用数控分频计,可以对信号实现不同分频比,输出信号作为计数器输入。当系统正常工作时,输入信号标提供频率,经过分频器分频,产生计数信号送入计数器模块,计数模块对输入的脉冲个数进行计数数结束后,将计数结果送入锁存器中,保证系统可以稳定显示数据,计数结果能够显示在七段数码显示管上。 图1:设计方案 输入clk 复位端cr 使能端en 三、各功能模块设计 1.十进制加法计数器的设计 分频器 计数器 数码管显示

1.1工作原理 计数是一种最简单基本的运算,计数器就是实现这种运算的逻辑电路,计数器在数字系统中主要是对脉冲的个数进行计数,以实现测量、计数和控制的功能,同时兼有分频功能,计数器是由基本的计数单元和一些控制门所组成,计数单元则由一系列具有存储信息功能的各类触发器构成,这些触发器有RS触发器、T 触发器、D触发器及JK触发器等。计数器在数字系统中应用广泛。 十进制加数的合法设计范围为0到9,故当输入的加数大于9的时候要将其统一变换成0。本实验采用一个带有异步复位和使能端的十进制加法计数器,这种计数器有许多实际的用处。 1.2源程序 library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity add10 is port(clk,cr,en:in std_logic; Q:out std_logic_vector(3 downto 0)); end entity add10; architecture arch of add10 is begin process(clk,cr,en) variable Q1:std_logic_vector(3 downto 0); begin if(cr='1')then Q1:="0000"; elsif(clk'event and clk='1')then if(en='1')then if(Q1<9)then Q1:=Q1+1; else Q1:="0000"; end if; end if; end if; Q<=Q1; end process; end architecture arch; 1.3仿真波形

基于FPGA的计算器设计说明

研究生课程论文 课程名称 FPGA及片上系统SOPC应用 授课学期学年 第一学期 学院 X 专业 C 学号 C1 C 任课教师 C 论文题目基于FPGA的计算器设计 交稿日期 2014年01月09日 成绩 X

基于FPGA的计算器设计 研究生:XX 指导老师:XX 摘要 本文介绍了一个简单计算器的设计,基于硬件描述语言VHDL采用了现场可编程逻辑器件FPGA进行设计,并在Altera公司的Quartus Ⅱ软件上实现仿真。系统由键控模块、运算、存储模块和译码显示模块四个部分组成,计算部分为加法器、减法器、乘法器和除法器,存储部分需要3个存储器来实现:部累加器(acc)、输入寄存器(reg)以及结果暂存器(ans)。显示部分由四个七段译码管组成,分别来显示输入数字,输入部分采用外接键盘,外部的8个按键他们能以单键和组合键的形式完成0~9999之的‘加’、‘减’、‘乘’、‘除’、‘符号变换’、‘存储数据’和‘读取数据’等七种功能运算其结构简单,易于实现。 关键词:FPGA;VHDL;计算器;设计 The design of calculator based on FPGA Graduate Student: Dongdong Fan Supervisor: Shuxiang Song Abstract This article describes the design of a simple calculator, the design uses Field Programmable Gate Array FPGA based on VHDL hardware description language to design and Altera's Quartus Ⅱ in software for emulation. This system is componented by the key control module, computing, storage and decoding display module of the four parts, the computing part include adder, subtractor, multiplier and divider,Storage part needs three memory to help achieved: internal accumulator (acc), input register (reg) as well as the results of registers (ans). Display part is made up four decoder of 7 sections, respectively to show the number of input. The 8 keys they can by single combined key forms to be completed addition, multiplication, division arithmetic operator and symbol transform,stored data and read seven function of operation within 0 to 9999 numbers.its structure is simple and easy to implement. Key words:FPGA; VHDL; calclute ; design

数电课程设计——基于FPGA的数字时钟的设计

基于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的计算器设计

基于FPGA的计算器设计 摘要 本文介绍了一个简单计算器的设计,该设计采用了现场可编程逻辑器件FPGA设计,并基于硬件描述语言VHDL在Altera公司的Quartus Ⅱ软件上实现仿真。系统由计算部分、存储部分、显示部分和输入部分四个部分组成,计算部分为加法器、减法器、乘法器和除法器,存储部分需要3个存储器来实现:内部累加器(acc)、输入寄存器(reg)以及结果暂存器(ans)。显示部分由四个七段译码管组成,分别来显示输入数字,输入部分采用外接键盘,由0—9十个数字按键,加减乘除四个运算符按键,一个等号按键和一个清零按键组成的。通过外部的按键可以完成四位数之内的‘加’、‘减’、‘乘’、‘除’四种功能运算,其结构简单,易于实现。 关键词:FPGA;VHDL;计算器

1 概述 在国外,电子计算器在集成电路发明后,只用短短几年时间就完成了技术飞跃,经过激烈的市场竞争,现在的计算器技术己经相当成熟。计算器已慢慢地脱离原来的“辅助计算工具”的功能定位,正向着多功能化、可编程化方向发展,在各个领域都得到了广泛的应用。用计算器不仅可以实现各种各样复杂的数学计算还可以用来编制、运行程序,甚至解方程组,图形计算器还可以进行图形处理。计算器内置的软件允许用户进行类似于对计算机的文件和目录管理等操作,允许用户对图形界面进行定制,同时各种新技术也被应用到计算器里使计算器功能越来越强大。可以说,计算器就是一个“微微型”的计算机。国内也有厂商利用计算器芯片开发新的产品,但对计算器技术的研究、计算器芯片的设计还处于起步阶段。计算器的主要功能还是在于“计算”,不妨称之为“低档计算器”。即便是对这种计算器,很多厂商也只从事计算器的组装、销售业务。一些IC 设计公司、芯片提供商也开始研究计算器技术。 本次设计基于现场可编程逻辑器件FPGA进行设计,应用硬件描述语言VHDL编程并在Altera公司的Quartus Ⅱ软件上实现仿真。需要进行计算器的常用运算功能的实现,通过外接键盘输入、LED数码显示来达成运算目的。

基于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。

基于FPGA的计算器设计

研究生课程论文 课程名称FPGA及片上系统SOPC应用授课学期学年 第一学期 学院X 专业 C 学号C1 姓名 C 任课教师 C 论文题目基于FPGA的计算器设计 交稿日期2014年01月09日 成绩 X

基于FPGA的计算器设计 研究生:XX 指导老师:XX 摘要 本文介绍了一个简单计算器的设计,基于硬件描述语言VHDL采用了现场可编程逻辑器件FPGA进行设计,并在Altera公司的Quartus Ⅱ软件上实现仿真。系统由键控模块、运算、存储模块和译码显示模块四个部分组成,计算部分为加法器、减法器、乘法器和除法器,存储部分需要3个存储器来实现:内部累加器(acc)、输入寄存器(reg)以及结果暂存器(ans)。显示部分由四个七段译码管组成,分别来显示输入数字,输入部分采用外接键盘,外部的8个按键他们能以单键和组合键的形式完成0~9999之内的‘加’、‘减’、‘乘’、‘除’、‘符号变换’、‘存储数据’和‘读取数据’等七种功能运算其结构简单,易于实现。 关键词:FPGA;VHDL;计算器;设计 The design of calculator based on FPGA Graduate Student: Dongdong Fan Supervisor: Shuxiang Song Abstract This article describes the design of a simple calculator, the design uses Field Programmable Gate Array FPGA based on VHDL hardware description language to design and Altera's Quartus Ⅱ in software for emulation. This system is componented by the key control module, computing, storage and decoding display module of the four parts, the computing part include adder, subtractor, multiplier and divider,Storage part needs three memory to help achieved: internal accumulator (acc), input register (reg) as well as the results of registers (ans). Display part is made up four decoder of 7 sections, respectively to show the number of input. The 8 keys they can by single combined key forms to be completed addition, multiplication, division arithmetic operator and symbol transform,stored data and read seven function of operation within 0 to 9999 numbers.its structure is simple and easy to implement. Key words:FPGA; VHDL; calclute ; design

华中科技大学基于FPGA的十进制加减可逆计数器

实验名称:十进制加减可逆计数器 实验组别:⑨ 实验人:XJY 班级:光信1102 学号:U201114XXX 目标要求: 利用实验板实现十进制加减可逆计数器设计,具体要求为: 拨码开关键SW1为自动可逆加减功能键,当SW1为HIGH时,计数器实现自动可逆模十加减计数功能,即4个七段数码管上几乎同步显示0—1—2—3—4—…9—8—7—…0—1…的模十自动可逆加减计数结果;当SW1为LOW时,计数器按拨码开关键SW0的选择分别执行加减计数功能。即当SW0为HIGH时,计数器实现模十加计数功能,即4个七段数码管上几乎同步显示0—1—2—3—4—…9——0—1…的模十加计数结果;当SW0为LOW时,8—7…的模十减计数结果。 实现原理:

源码清单: `timescale 1ns / 1ps ////////////////////////////////////////////////////////////////////////////////// // Company: // Engineer: // // Create Date: 14:24:13 12/09/2013 // Design Name: // Module Name: xjy // Project Name: // Target Devices: // Tool versions: // Description: // // Dependencies: // // Revision: // Revision 0.01 - File Created // Additional Comments: // ////////////////////////////////////////////////////////////////////////////////// module xjy( input clk, input SW1, input SW0, input clear, input reset, output reg[3:0] sl_reg, output reg [6:0]segdat_reg ); reg [26:0] count; reg [3:0] q; reg x; always@(posedge clk) begin if(clear) begin sl_reg<=0; count<=0; end else count<=count+1;

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