VHDL设计FPGA数字系统:计算器

合集下载

基于FPGA的计算器设计

基于FPGA的计算器设计

基于FPGA的计算器设计基于FPGA(可编程逻辑门阵列)的计算器设计是一种使用FPGA开发板和硬件描述语言来实现的计算器。

它可以进行基本的数学运算,如加法、减法、乘法和除法等。

FPGA计算器不仅具有快速的运算速度和高度的可靠性,还具有较小的体积和低功耗。

FPGA计算器通常由输入、控制单元、运算单元和输出组成。

输入可以通过按钮、键盘或其他输入设备来实现。

控制单元负责解析输入并发出相应的控制信号。

运算单元是FPGA计算器的核心组件,它负责接收控制信号,并执行相应的运算操作。

输出单元将运算结果显示在计算器的屏幕上。

使用硬件描述语言(HDL)来实现FPGA计算器的设计可以提供高度的灵活性和可扩展性。

HDL允许开发人员通过编程方式定义逻辑门和电路功能,而不是通过物理硬件组件来实现。

这意味着开发人员可以根据需要添加新的运算功能,并且可以很容易地在FPGA计算器上进行修改和更新。

FPGA计算器可以通过对数据进行二进制表示来实现各种数学运算。

例如,加法可以通过将两个二进制数相加来实现。

具体实现可以使用查找表(Look-up Table)或全加器等组合逻辑电路来完成。

除法则比较复杂,通常需要使用除法算法来实现。

除了基本的数学运算,FPGA计算器还可以实现其他功能,如逻辑运算、位操作和存储器操作等。

逻辑运算可以用于实现条件语句和循环语句等流程控制功能。

位操作可以用于提取和修改数据的特定位。

存储器操作可以用于存储和读取数据。

基于FPGA的计算器设计有许多优点。

首先,FPGA计算器具有非常快的运算速度,比软件计算器更加高效。

其次,FPGA计算器具有较小的体积和低功耗,适合嵌入式系统或低功耗应用场景。

此外,由于FPGA计算器的硬件实现,它也具有较高的稳定性和可靠性。

然而,基于FPGA的计算器设计也存在一些挑战。

首先,硬件描述语言的学习成本较高,需要开发人员具备一定的硬件设计知识。

其次,FPGA 计算器的开发过程相对复杂,需要编写和调试大量的HDL代码。

veriloghdl简单计算器设计

veriloghdl简单计算器设计

V e r i l o g H D L简单计算器设计(总13页)-CAL-FENGHAI.-(YICAI)-Company One1-CAL-本页仅作为文档封面,使用请直接删除目录第一章设计目的及任务要求 (1)1.1 设计目的 (1)1.2 设计任务 (1)1.3 课设要求 (1)第二章设计思路 (2)2.1 设计总体框图 (2)2.2 设计原理 (2)2.2.1 计算其原理 (2)2.2.2 数码显示原理 (2)2.2.3 八位数码管扫描的原理 (3)第三章设计源程序及分析 (4)3.1 计算器模块 (4)3.1.1 计算器源程序 (4)3.1.2 计算器程序分析 (4)3.2 数码管显示部分 (5)3.2.1 数码管显示源程序 (5)3.2.2 数码管显示程序分析 (5)3.3 循环扫描模块 (6)3.3.1 循环扫描程序 (6)3.3.2 循环程序分析 (6)3.4 总程序及其分析 (7)第四章时序仿真和结果验证 (10)4.1 计算器时序仿真及其分析 (10)4.2 数码管时序仿真及分析 (10)4.3 总体时序仿真图 (11)4.4 结果验证 (11)第五章心得体会 (12)第一章设计目的及任务要求1.1 设计目的(1)进一步加强熟练EDA基础知识。

(2)熟练掌握Quartus 6.0软件的使用以及用该软件编程和仿真的全过程。

(3)培养独立思考问题,解决问题的能力以及查阅相关资料和资料的正确使用能力,为明年的毕业设计打下良好的设计基础。

1.2 设计任务设计一个简单计算器,输入为8位二进制数,分别用两位数码管显示,输出的计算结果为16位二进制数,并用四位数码管显示,能够实现+、-、 *、/ 四种运算,其中除法的结果显示分为商和余数两部分,分别用两位数码管显示。

1.3 课设要求(1)说明题目的设计原理和思路、采用方法及设计流程。

(2)系统框图、Verilog语言设计程序或原理图。

(3)对各子模块的功能以及各子模块之间的关系做较详细的描述。

数字逻辑与数字系统课程设计简单计算器

数字逻辑与数字系统课程设计简单计算器

简单计算器一、设计分析1、功能描述设计一个简单0-9数之间的加、减、乘法运算的计算器,,输入和输出均可以显示在数码管上。

2、实现工具1、用VHDL 语言文本形式输入;2、maxplusII行语言编写时序仿真和综合。

二、设计思想采用自顶向下的设计方式,分层进行设计。

设计分为五个模块进行;计算器模块、八位二进制数转化成8421BCD码模块,四选一数据选择器模块,七段显示译码器模块、模4计数器模块、模8计数器块、3—8译码器块。

顶层设计可以完全独立于目标器件芯片物理结构的硬件描述语言。

使用VHDL模型在所综合级别上对硬件设计进行说明、建模和仿真。

1、顶层原原理框图2、具体实现1、计算器模块、2、八位二进制数转化成8421BCD码模块3、四选一数据选择器模块4、七段显示译码器模块5、模4计数器模块6、模8计数器块7、3—8译码器块三、设计过程1、建立工程建立一个Project,命名为jiandanjisuanqi。

将各个模块生成的文件放在同一个文件夹下。

2、文本输入将各个模块的VHDL代码输入,保存并综合。

3、仿真建立各个模块的gdf图,设置输入波形并仿真。

4、顶层原理图输入利用各个模块生成的sym文件建立顶层原理图,编译并仿真。

5、硬件实现实验室提供的器件为FLEX10K,型号为EPF10K10LC84-4,将文件下载到器件当中,在实验箱中进行模拟。

四、整体框图五、VHDL部分代码及说明1、计算器模块、library IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;entity jisuanqi isPort (a,b: in STD_LOGIC_VECTOR (3 downto 0);sel:in STD_LOGIC_VECTOR (1 downto 0); -----加减乘控制端s: out STD_LOGIC_VECTOR (7 downto 0));end jisuanqi;architecture Behavioral of jisuanqi issignal q1 ,q2: STD_LOGIC_VECTOR (3 downto 0);signal q3: STD_LOGIC_VECTOR (7 downto 0);signal q4: STD_LOGIC_VECTOR (1 downto 0);beginq1<=a;q2<=b;q4<=sel;process(q4,q3)begincase q4 iswhen "00" => ----加减乘算法q3<=q1+q2;s<=q3;when "01" =>if(q1>q2)thenq3<= q1-q2;s<=q3;elseq3<=q2-q1;s<=q3;end if;when "10"=>q3<=q1*q2;s<=q3;when "11"=>q3<=q1*q2;s<=q3;when others=>q3<="00000000";s<=q3;end case;end process;end Behavioral;2、八位二进制数转化成8421BCD码模块library IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;entity bcd isPort (s : in STD_LOGIC_VECTOR (7 downto 0);a : out STD_LOGIC_VECTOR (3 downto 0);b : out STD_LOGIC_VECTOR (3 downto 0));end bcd;architecture Behavioral of bcd issignal q0: STD_LOGIC_VECTOR (7 downto 0);signal q1: STD_LOGIC_VECTOR (3 downto 0);signal q2: STD_LOGIC_VECTOR (3 downto 0);beginprocess(s)beginq0<=s;case q0 is ----把八位二进制数转化为8421BCD码when"00000000"=>q1<="0000";q2<="0000";when"00000001"=>q1<="0000";q2<="0001";when"00000010"=>q1<="0000";q2<="0010";when"00000011"=>…………………………….3、四选一数据选择器模块library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_signed.all;entity mux4_1 isport(d0,d1,d2,d3 :in std_logic_vector(3 downto 0);q :out std_logic_vector(3 downto 0);sel :in std_logic_vector(1 downto 0) );end mux4_1;architecture rtl of mux4_1 isbeginprocess(sel)begin ------实现从四个数据中选择一个出来if(sel = "00") thenq<=d0;elsif(sel = "01")thenq<=d1;elsif(sel = "10")thenq<=d2;elsif(sel = "11")thenq<=d3;end if;end process;end rtl;4、七段显示译码器模块library ieee;use ieee.std_logic_1164.all;entity bcd_7dis isport (bcdm: in std_logic_vector(3 downto 0);a,b,c,d,e,f,g : out std_logic);end bcd_7dis;architecture art of bcd_7dis issignal w : std_logic_vector(6 downto 0);beginprocess(bcdm)begina<=w(6);b<=w(5);c<=w(4);d<=w(3);e<=w(2);f<=w(1);g<=w(0);case bcdm is -----实现8421码转化为2进制码的转换when "0000" =>w<="1111110";when "0001" =>w<="0110000";when "0010" =>w<="1101101";when "0011" =>w<="1111001";when "0100" =>w<="0110011";when "0101" =>w<="1011011";when "0110" =>w<="1011111";when "0111" =>w<="1110000";when "1000" =>w<="1111111";when "1001" =>w<="1111011";when "1100" =>w<="0000001";when others =>w<="0000000";end case;end process;end art;5、模4计数器模块library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_signed.all;entity mo4 isport(q :out std_logic_vector(1 downto 0);clk :in std_logic);end mo4;architecture rtl of mo4 issignal qcl : std_logic_vector(1 downto 0);beginprocess(clk)begin ----实现模为4的计数if(clk'event and clk = '1')thenif(qcl = "11")thenqcl <= "00";elseqcl <= qcl + '1';end if;end if;q <= qcl;end process;end rtl;6、模8计数器块library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity count_8 isport( clk:in std_logic;ql :out std_logic_vector(2 downto 0));end count_8;architecture rt1 of count_8 issignal qcl:std_logic_vector(2 downto 0);beginprocess(clk)begin ---- 实现模8的计数if(clk'event and clk='1') thenif (qcl="111") thenqcl<="000";elseqcl<=qcl+'1';end if;end if;ql<=qcl;end process;end rt1;7、3—8译码器块library ieee;use ieee.std_logic_1164.all;entity decode3_8 isport(d :in std_logic_vector(2 downto 0);y :out std_logic_vector(7 downto 0));end decode3_8 ;architecture rt1 of decode3_8 isbeginprocess(d)begincase d is ------实现3对8的译码when "000"=>y<="10000000";when "001"=>y<="01000000";when "010"=>y<="00100000";when "011"=>y<="00010000";when others=>y<="00000000";end case;end process;end rt1;六、各模块仿真结果1、计算器模块2、八位二进制数转化成8421BCD码模块3.、四选一数据选择器模块4、七段显示译码器模块5、模4计数器模块6、模8计数器块7、3—8译码器块8、整体仿真七、管脚锁定及硬件实现1、管脚锁定2、文件下载将文件下载完后在硬件实验箱中进行仿真检查。

FPGA—基于HDL的十进制计数器设计

FPGA—基于HDL的十进制计数器设计

基于HDL 的十进制计数器设计一、 实验目的1、掌握基于语言的ISE 设计全流程;2、熟悉、应用VerilogHDL 描述数字电路;3、掌握基于Verilog 的组合和时序逻辑电路的设计方法。

4、掌握chipscope 片内逻辑分析仪的使用与调试方法。

5、设计具有异步复位、同步使能的十进制计数器,其计数结果可以通过七段数码管、发光二极管等进行显示。

二、 实验原理1、十进制计数器的设计即是设置一变量,当计数脉冲上升沿到来时,先判断是否为9,若是则置零,否则就进行加一操作。

将变量再进行一个译码操作输出到数码管显示即可。

图1 实验原理图2、数码管分为7 段和8 段,七段数码管由 7段二极管组成。

8段数码管比起7段数码管多了一个显示小数点的LED 。

数码管按发光二极管单元衔接方式分为共阳极数码管和共阴极数码管。

本实验使用共阳数码管。

它是指将一切发光二极管的阳极接到一同构成公共阳极(COM)的数码管。

共阳数码管在应用时应将公共极COM 接到电源VCC 上,当某一字段发光二极管的阴极为低电平相应字段就点亮。

当某一字段的阴极为高电平相应字段就不亮。

共阳端可以作为位选端,实现动态扫描。

动态扫描即是利用了人眼睛的视觉暂留现象,以合适的频率显示每一位数码管,便会产生所有数码使能控制异步清零十进制计数器七段数码管显示译时钟端FPG进管是一起点亮的错觉,数码管原理图如图:图2 共阳数码管示意图3、数码管显示数字与对应的输入数据的关系如表所示:0 8'hc01 8'hf92 8'ha43 8'hb04 8'h995 8'h926 8'h827 8'hf88 8'h809 8'h90表1 数码管显示表4、本次设计一共有11个端口:输入信号:clk -------待计数的时钟。

clr ---------异步清零信号,当clr=1,输出复位为0,当clr=0,正常计数。

计数器的VHDL设计与实现

计数器的VHDL设计与实现

期刊论文—EDA课程设计题目:计数器的VHDL设计与实现学生姓名:李雷学生学号:09专业班级:计算机科学与技术0902班指导老师:方恺晴计数器的VHDL设计与实现摘要:介绍了各种基本计数器的组成及其工作原理,重点研究了可变模计数器的设计与实现,在对现有的可变模计数器的研究基础上,在Quartus 开发环境中,用VHDL语言设计一种功能更加强大的可变模计数器,它具有清零、置数、使能控制、可逆计数和可变模等功能,并且对传统的可变模计数器的计数失控问题进行研究,最终设计出一种没有计数失控缺陷的可变模计数器,并通过波形仿真和EPF10K20TI144—4系列实验箱,验证了其各项设计功能。

结果表明该设计正确.功能完整。

运行稳定.关键词:VHDL;计数器;可变模计数;可逆计数VHDL Design and Realization of CounterAbstract:This paper analyzes all kinds of basic counter and its working principle, focus on the counter variable mode of design and implementation。

In the environment of Quartus based on research of the existing module—alterable counter,a module—alterable counter with more functions,such as clear,set,enable control,reversible count,module—alterable count and so on,which is designedwith VHDL.By researching the problem of losing control existed in traditional module—alterable counter。

基于FPGA的计算器设计讲解

基于FPGA的计算器设计讲解

基于FPGA的计算器设计摘要本文介绍了一个简单计算器的设计,该设计采用了现场可编程逻辑器件FPGA设计,并基于硬件描述语言VHDL在Altera公司的Quartus Ⅱ软件上实现仿真。

系统由计算部分、存储部分、显示部分和输入部分四个部分组成,计算部分为加法器、减法器、乘法器和除法器,存储部分需要3个存储器来实现:内部累加器(acc)、输入寄存器(reg)以及结果暂存器(ans)。

显示部分由四个七段译码管组成,分别来显示输入数字,输入部分采用外接键盘,由0—9十个数字按键,加减乘除四个运算符按键,一个等号按键和一个清零按键组成的。

通过外部的按键可以完成四位数之内的…加‟、…减‟、…乘‟、…除‟四种功能运算,其结构简单,易于实现。

关键词:FPGA;VHDL;计算器1 概述在国外,电子计算器在集成电路发明后,只用短短几年时间就完成了技术飞跃,经过激烈的市场竞争,现在的计算器技术己经相当成熟。

计算器已慢慢地脱离原来的“辅助计算工具”的功能定位,正向着多功能化、可编程化方向发展,在各个领域都得到了广泛的应用。

用计算器不仅可以实现各种各样复杂的数学计算还可以用来编制、运行程序,甚至解方程组,图形计算器还可以进行图形处理。

计算器内置的软件允许用户进行类似于对计算机的文件和目录管理等操作,允许用户对图形界面进行定制,同时各种新技术也被应用到计算器里使计算器功能越来越强大。

可以说,计算器就是一个“微微型”的计算机。

国内也有厂商利用计算器芯片开发新的产品,但对计算器技术的研究、计算器芯片的设计还处于起步阶段。

计算器的主要功能还是在于“计算”,不妨称之为“低档计算器”。

即便是对这种计算器,很多厂商也只从事计算器的组装、销售业务。

一些IC 设计公司、芯片提供商也开始研究计算器技术。

本次设计基于现场可编程逻辑器件FPGA进行设计,应用硬件描述语言VHDL编程并在Altera公司的Quartus Ⅱ软件上实现仿真。

需要进行计算器的常用运算功能的实现,通过外接键盘输入、LED数码显示来达成运算目的。

一种基于FPGA的可变模计数器的VHDL实现

一种基于FPGA的可变模计数器的VHDL实现

一种基于FPGA的可变模计数器的VHDL实现【摘要】可变模计数器是数字系统中广泛应用的一种电路模块,本文讨论了一种基于VHDL语言实现的可变模计数器的EDA设计方案,采用FPGA芯片作为设计载体,FPGA具有在线可重构的优点,如需对计数器的技术指标进行修改,只需修改源程序中的相应参数,重新进行编译、仿真、配置即可,使得设计本身灵活性好,便于升级和维护。

【关键词】FPGA;VHDL;可变模计数器1.引言EDA是将数字系统以某一种特定的表达方式输入计算机开发平台进行处理,经由综合,仿真,下载到目标芯片,最终实现设计的智能化设计技术。

其中输入文件的种类众多,有原理图输入法、硬件描述语言输入法、状态图输入法、波形输入法等。

硬件描述语言(HDL)是EDA技术的重要组成部分,是设计数字系统的重要表达手段,和原理图输入法,波形输入法相比,具有灵活度高,易于修改、升级,方便调用,库资源丰富等优点。

常见的HDL主要有VHDL、Verilog HDL、ABEL、AHDL等,其中标准化语言VHDL、Verilog使用最广泛,可以被几乎所有的EDA工具支持。

可变模计数器是数字系统中广泛应用的一种电路模块,本文讨论了一种基于VHDL语言实现的可变模计数器的EDA设计方案,采用FPGA芯片作为设计载体,FPGA具有在线可重构的优点,如需对计数器的技术指标进行修改,只需修改源程序中的相应参数,重新进行编译、仿真、配置即可,使得系统本身灵活性好,便于升级和维护。

2.可变模计数器的功能指标本文设计的计数器为5位输出可变模计数器,采用两位控制信号选择计数的模值,因此可进行四种模值的切换。

计数器在工作时,可以通过控制信号m[1:0]的值选择相应的模值m,计数时,在每个时钟的上升沿进行加法计数,从0计到m-1,然后自动归零循环计数。

在本设计中,输出端口为5位,可以实现模小于等于32的计数应用。

如果需要增可选择模值的数量,只需要增加选择控制信号位数即可。

用VHDL实现计算器

用VHDL实现计算器

谢谢观看!
then in3:=in1/in2; t<=in3; end if; end process p1111;
--'*'
p111:process(t) begin case t is when 0=>g<="11111100";--0 when 1=>g<="01100000";--1 when 2=>g<="11011010";--2 when 3=>g<="11110010";--3 when 4=>g<="01100110";--4 when 5=>g<="10110110";--5 when 6=>g<="10111110";--6 when 7=>g<="11100000";--7 when 8=>g<="11111110";--8 when 9=>g<="11110110";--9 when others=>t<="00000010";--错 end case; end process p111;
程序源码
--库的引用 LIBRARY IEEE; --USE IEEE.std_logic_arith.ALL; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; --use ieee.numeric_bit.all;
--实体声明 entity adder is port( d0,d1,d2,d3,d4,d5,d6,d7,d8,d9,d10,d11,d12,d13,d
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

大连海事大学毕业论文二○一四年六月VHDL设计FPGA数字系统:计算器专业班级: 通信工程10-3班姓名: 马哈得指导老师: 严飞信息科学技术学院摘要本文针对FPGA的计算器数字系统的设计,进行了软件硬件的仿真与实现。

实现了计算器控制系统的最基本的加减法功能设计。

本设计所研究的数字系统是由四个不同的模块完成的,包括键盘输入模块、译码模块、计算主控制模块以及数码管显示模块。

当键盘输入信号时,依次通过这几个模块,完成数据的运算及显示。

其中计算主控制模块完成加减运算,是系统核心模块。

本设计利用EDA技术,用VHDL语言来编程实现四个模块的基本功能,在Quartus II软件中实现模块的设计、编译、综合、优化、仿真直至生成器件之后下载到FPGA目标芯片上。

在ZY11EDA13BE实验系统中完成计算器控制系统的功能的实现,通过键盘等操作输入数值、运算符号,通过数码管及指示灯显示系统运行结果,从而可以更清晰的观察了计算器的运行情况。

关键词:计算器;EDA;FPGA;QuartusIIABSTRACTThis article for FPGA of the calculator digital system design, conducted a software hardware Simulation and Realization. A calculator to achieve the control system the most basic functions designs.This design studied Digital System is composed of added and subtracted of module to complete, including the keyboard input module, decoding module, calculate the main control module and a digital tube display module. When the keyboard input signal passes through these modules, complete data display computing requirements. This calculation control system Math four computing module is the core.This design, with the aid of VHDL language to the programming four modules of the basic functions, is in Quartus II software realize the connection and function modules simulation, comprehensive optimization generation device until after the download to FPGA target chip. In the ZY11EDA13BE experimental system mid complete the calculator control function of the system the realization of, through the keyboard, etc. operation input numerical value, computing symbols, through the digital pipe and indicator shows the operation of the system, and a clear view of the operation.Keywords: Calculator; EDA; FPGA; QuartusII;目录第一章绪论 (1)1.1计算器研究的背景和发展 (1)1.2课题研究任务 (2)1.3文章小结 (2)第二章项目基础 (3)2.1软件与硬件介绍 (3)2.1.1EDA (3)2.1.2EDA的特点及发展 (3)2.2Quartus II (4)2.2.1QUARTUS Ⅱ软件的用户界面 (4)2.2.2QuartusⅡ的开发流程 (5)2.3VHDL语言 (6)2.3.1VHDL发展现状 (6)2.3.2VHDL程序结构 (6)2.3.3VHDL语言的特点 (7)2.4FPGA (8)2.4.1FPGA的概念 (8)2.4.2FPGA的基本特点 (8)2.5ZY11EDA13BE实验系统介绍 (9)2.6本章小结 (10)第三章计算器数字系统设计方案介绍 (11)3.1总体方案设计 (11)3.1.1计算器功能和要求 (11)3.1.2计算器设计流程图 (12)3.2系统设计框图 (13)3.3本章小结 (14)第四章计算器系统主要模块设计 (15)4.1输入模块 (15)4.1.1键盘输入模块 (15)4.1.2译码模块 (15)4.2计算器数字系统运算的实现 (16)4.2.1控制模块 (16)4.2.2加法器 (17)4.2.3减法器 (18)4.3显示模块 (19)4.4计算器控制系统的顶层原理图 (20)4.5本章小结 (21)第五章硬件实现计算器系统主要模块设计 (22)5.1计算器数字系统管脚锁定 (22)5.2实验箱结果展示 (22)5.3本章小结 (25)第六章结束语 (26)参考文献 (27)致谢 (29)VHDL设计FPGA数字系统:计算器第1章绪论1.1 计算器研究的背景和发展在算术运算中,想要节省时间,精力,并排除人为错误的愿望,可能与算术科学本身一样久远!此愿望使得各种以小物件计算的辅助工具的设计和制造得以实现,如卵石,起初零散使用,之后放在控制板上用以计数,随后再以线串珠子并固定于框架上用以计数,名曰算盘。

此工具可能由犹太人种族发明,并随后由印度人使用,并从那里向西传播至整个欧洲,向东至中国和日本[1]。

如图1.1所示。

算盘发展后,在1617年John Napier设计他的编号棒或 Napier骨之前,算盘都没有进一步的发展。

骨制的多样形式出现,这些已与机械计算的开始相接近,但是直到1642年Blaise Pascal才给我们发明了感觉上与今天相似的机械式计算机。

如图1.2所示。

图1.1 中国算盘图1.2 1725年Lépine发明的一个机器和四个Pascal计算器现代电子计算器包含带按钮的键盘用以数字和算术功能。

有的计算器键盘甚至包含00和000键以便输入大数字。

最基本的计算器对每个按键分配唯一一个数字或运算符。

然而,在更复杂的计算器上,一个按钮可以执行多个功能。

如今,计算器通常拥有液晶显示器作为数据的显示输出。

在更多的细节上进行了技术改进。

分数如1/3被显示为小数的近似值,例如四舍五入至0.33333333。

[8]计算器也有将号码存储到内存的能力。

这种基本数据的存储速度非常快。

更复杂的计算器能够存储变量表示的数据。

这些变量也可以用于构造公式。

某些计算器有扩展存储容量的能力,从而可以存储更多的数据;扩展的地址被称为数组索引[2]。

计算器的电源是电池,太阳能电池或电力(老机型)与一个开关或按钮接通。

有些型号甚至没有关闭按钮,但它们提供了一些方法来关闭电源,例如,长时间没有操作、覆盖太阳能电池板,或关闭它们的盖子。

1.2课题研究任务本实验计算器采用VHDL语言来设计实用加减法计算器。

在了Altera公司的Quartus II 软件平台上进行编程、编译、综合优化、仿真,最后下载到FPGA目标芯片上,在ZY11EDA13BE实验系统实现计算器系统的功能。

通过外接键盘输入操作数和运算符,通过数码管和LED指示灯来显示操作数和运算结果。

如此,达到运算目的,可以更清晰的观察计算器的运行情况。

本次通过对加减法计算器数字系统的设计,为更复杂的计算器数字系统的实现提供基础。

1.3 文章小结本章介绍这几世纪以来的计算器发展,还有本次设计的研究任务,为后续的设计打下基础。

第二章项目基础2.1 软件与硬件介绍2.1.1 EDA电子设计自动化(英语:Electronic design automation,缩写:EDA)即电子设计自动化技术,是利用计算机工作平台,从事电子系统和电路设计的一项技术[3]。

EDA的广义定义范围包括:半导体工艺设计自动化、可编程器件设计自动化,电子系统设计自动化,印刷电路板设计自动化,仿真、测试、故障诊断自动化,形式验证自动化……统称为EDA工程。

随着集成电路规模的扩大、半导体技术的发展,电子设计自动化的重要性急剧增加。

这些工具的使用者包括半导体器件制造中心的硬件技术人员,他们的工作是操作半导体器件制造设备并管理整个工作车间。

一些以设计为主要业务的公司,也会使用电子设计自动化软件来评估制造部门是否能够适应新的设计任务。

电子设计自动化工具还被用来将设计的功能导入到类似现场可编程逻辑门阵列的半定制可程式逻辑装置,或者生产全定制的特殊应用积体电路。

硬件描述语言HDL (Hardware Description Language ) 是一种用于设计硬件电子系统的计算机语言,它用软件编程的方式来描述电子系统的逻辑功能、电路结构和连接形式,与传统的门级描述方式相比,它更适合大规模系统的设计[4]。

2.1.2 EDA的特点及发展现在人类社会已经步入了信息时代,各种各样的信息技术在我们的生活当中发挥着越来越重要的作用。

信息时代的高速发展离不开电子设计技术的发展和相关电子产品的进步,而他们的核心就是EDA技术。

EDA代表了当今电子设计技术的最新发展方向,是在电子CAD的技术基础上发展起来的计算机软件系统,以计算机为工作平台,融合了应用电子技术、计算机技术、信息处理技术及智能化技术的最新成果,来进行电子产品的自动设计,主要能辅助进行IC设计,电子电路设计和PCB设计三方面的设计工作。

从70年代开始,EDA依次经历了CAD、CAE和ESDA三个阶段。

有了EDA工具,电子产品从电路的设计、性能的分析到PCB设计的整个过程都可以在计算机上自动处理完成。

这主要是因为EDA技术利用计算机,根据硬件描述语言HDL完成的设计文件,自动地完成逻辑编译、逻辑化简、逻辑分割、逻辑综合及优化、逻辑布局布线、逻辑仿真,完成对于特定目标的适配编译、逻辑映射、编程下载等工作,最终形成集成电子系统或专用的集成芯片。

电子设计人员根据“自顶向下”的设计方法,从系统设计着手,在顶层进行功能方框图的划分和结构设计,用硬件描述语言对高层次的系统进行描述,然后用综合优化工具生成具体门电路的网络表。

相关文档
最新文档