我的《EDA》课程设计_第1页
我的《EDA》课程设计_第2页
我的《EDA》课程设计_第3页
我的《EDA》课程设计_第4页
我的《EDA》课程设计_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、电子设计自动化课程设计题目:基于FPGA 的乘法器和除法器设计任务书基于FPGA 的乘法器和除法器设计要求如下:1. 能进行两个十进制数相乘和相除。2. 乘数与被乘数均小于99,除数和被除数均小于99。3. 按键输入,数码管显示输出。摘要本次实验的目的是:计算任意2位十进制数x和y(0-99的乘法和除法运算,并且将输入值和计算结果用数码管输出,利用发光二极管显示当前时刻正在进行的运算模式。总的程序由几个各具不同功能的单片模块程序拼接而成,其中包括输入模块、输入显示模块、模式选择模块、输出显示模块。本次设计调用QUARTUS 软件中的已有的LPM_MULT乘法模块和LPM_DIVIDE模块,设计

2、过程自顶而下,将最终实现的功能细分成几个子功能,利用元件例化的方式将各种子功能例化成一个元件,再通过原理图输入的方法,将所有的子功能对应连接实现最终的功能。整个过程层层嵌套,清晰明了。目录第一章系统设计 (41.1 设计要求 (41.2系统设计方案 (4第二章单元电路设计 (52.1 输入及输入显示模块 (52.2 运算模块 (62.3模式选择及输出显示模块 (7第三章软件设计 (83.1软件设计平台、开发工具和实现方法 (83.2程序的流程方框图 (83.3实现的功能及程序清单 (8第四章系统测试 (124.1 功能的测试方法、步骤 (124.2 仪器设备名称、型号 (124.3 仿真测试

3、(13第五章结论 (13第六章参考文献 (14第一章系统设计1.1 设计要求在调用LPM_MULL和PM_DIVIDE的情况下,计算2位十进制数x和y, x和y的范围均是099,完成x和y乘法和除法运算,并且将结果用数码管输出,同时用发光二极管显示当前时刻正在进行的运算模式。1.2系统设计方案输入模块输入显示模块运算模式模块模式显示模块输出模块利用VHDL语言设计乘法器和除法器主要有两种方法.方法一是直接利用VHDL语言的描述直接生成乘法器和除法器文件,但这个方法要求较高;方法二是直接调用QUARTUS中的宏模块加以改进完成设计。方法二省去了自己创建symbol的时间,因此比较容易。所以我们的

4、方案就是基于方法二而来的。(1输入模块:通过两个按键输入X和Y,X和Y都分成了十位数和个位数两个模块,这样避免了繁杂的计数时间。(2输入显示模块:X和Y个位和十位数输出用数码管显示(3运算模式模块包括:利用按键的灯亮当前的模式是表示乘法或除法(4输出显示模块:利用4个LED灯分别显示当前运算所得出的结果(1通过四个按键输入操作数,分别表示X的十位数、个位数和Y的的十位数、个位数。(2通过一个按键控制所选择的模式。(3将X和Y的输入结果及计算结果用数码管显示出来。第二章单元电路设计2.1 输入及输入显示模块通过四个按键分别设置X和Y的值,利用十位数和个位数的输入,使得X和Y的输入值在099之间;

5、然后分别在数码管上显示X和Y的十位和个位数字。设计原理图以及参数设计如下图所示: 2.2 运算模块实现X和Y的乘法和除法运算设计原理图以及参数设计如下图所示: 乘法:X*Y本模块调用了LPM_MULT和LPM_DIVIDE宏模块,输入X和Y经LPM_MULT和LPM_DIVIDE宏模块处理后得到乘法结果的个十百千各位数,然后再输出到显示模块上。 除法:X/Y本模块调用了LPM_DIVIDE宏模块,输入X和Y经LPM_DIVIDE宏模块处理后得到除法结果的商的个位,十位以及余数的个位,十位,然后再输出到显示模块上。2.3模式选择及输出显示模块本设计实现的是每次输出一种模式的运算结果,因此需要对两

6、种模式进行选择并且通过LED灯显示选择的运算模式和数码管显示运算结果。设计原理图以及参数设计如下图所示: 第三章软件设计3.1软件设计平台、开发工具和实现方法在QUARTUS 平台中使用VHDL语言编写各个模块所需要的程序以及调用QUARTUS 中原有的除法模块,并且利用原理图输入设计方法完成整个设计,借助EDA试验箱进行实验程序的调试和验证。3.2程序的流程方框图输入X.Y的个位、十位数数码管上显示X、Y的值模式选择乘法运算除法运算数码管上显示运算结果3.3实现的功能及程序清单功能:作为X和Y的个位和十位输入程序:LIBRARY IEEE;ENTITY CNT10 ISPORT (CLK :

7、 IN STD_LOGIC;CQ : OUT STD_LOGIC_VECTOR(6 DOWNTO 0;END CNT10;ARCHITECTURE behav OF CNT10 ISBEGINPROCESS(CLKVARIABLE CQI : STD_LOGIC_VECTOR(6 DOWNTO 0;BEGINIF CLK'EVENT AND CLK='1' THEN -检测时钟上升沿-允许计数, 检测是否小于3ELSE CQI := (OTHERS =>'0' -大于3,计数值清零END IF;END IF;CQ <= CQI; -将计数值向

8、端口输出END PROCESS;END behav;功能:选择运算模式程序:LIBRARY IEEE;ENTITY CNT1 ISPORT (CLK : IN STD_LOGIC;CQ : OUT STD_LOGIC_VECTOR(1 DOWNTO 0;END CNT1;ARCHITECTURE behav OF CNT1 ISBEGINPROCESS(CLKVARIABLE CQI : STD_LOGIC_VECTOR(1 DOWNTO 0;BEGINIF CLK'EVENT AND CLK='1' THEN -检测时钟上升沿IF CQI < 1 THEN CQ

9、I := CQI + 1; -允许计数, 检测是否小于1ELSE CQI := (OTHERS =>'0' -大于1,计数值清零END IF;END IF;CQ <= CQI; -将计数值向端口输出END PROCESS;END behav;功能:将s位的输出转化为在四位的数码管输出:程序:LIBRARY IEEE;ENTITY led ISPORT( a : IN STD_LOGIC_vector(s downto 0;b : out STD_LOGIC_vector(3 downto 0;end;architecture one of led isbeginb<=a(3 downto 0;4.3 仿真测试 乘法 33*23=759 结果正确 除法 34/23=1.11 结果正确 第五章 结论 本次设计完成了设计的基本要求,即计算 2 位十进制的 X 和 Y 的乘法 和除法运

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论