哈尔滨工业大学威海校区_EDA课程设计_乘法器_090240328_第1页
哈尔滨工业大学威海校区_EDA课程设计_乘法器_090240328_第2页
哈尔滨工业大学威海校区_EDA课程设计_乘法器_090240328_第3页
哈尔滨工业大学威海校区_EDA课程设计_乘法器_090240328_第4页
哈尔滨工业大学威海校区_EDA课程设计_乘法器_090240328_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

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

文档简介

1、2012.04.20 哈尔滨工业大学(威海) 信息与电气工程学院 eda课程设计实验报告无符号四位整数乘法器设计与制作eda课程设计报告 日 期:2012-04-20学校及院系:哈尔滨工业大学 信息与电气工程学院设 计 者:尤伟 指 导 老师:王永玲职 业:在校学生通 讯 地址:山东省威海市环翠区文化西路2号哈工大(威海)九公寓418座邮 编:264209电 子 邮箱 话:150981236521、 设计的性质、目的和任务创新精神和实践能力二者之中,实践能力是基础和根本。这是由于创新基于实践、源于实践,实践出真知,实践检验真理。实践活动是创新的源泉,也是人才成长的必由

2、之路。1通过课程设计的锻炼,要求学生掌握电路的一般设计方法,具备初步的独立设计能力,提高综合运用所学的理论知识独立分析和解决问题的能力,培养学生的创新精神。2熟练使用max+plus2软件平台,掌握基本设计流程并完成所选题目的设计任务。掌握现代大规模集成数字逻辑电路的应用设计方法,进一步掌握利用计算机进行电子设计自动化(eda)的基本方法。2、 课程设计所需要的仪器 1、计算机一台 2、实验箱 epm7128sslc84-15芯片3、 课程设计要求设计一个两个5位数相乘的乘法器。用发光二极管显示输入数值,用7段显示器显示十进制结果。乘数和被乘数分两次输入。在输入乘数和被乘数时,要求显示十进制输

3、入数据。输入显示和计算结果显示,采用分时显示方式进行,可参见计算器的显示功能。4、 设计原理本乘法器设计全部采用vhdl语言描述。总体看来,可以分为输入级、中间处理级和输出显示级三大部分。输入级实现数据的输入与寄存,中间处理级主要实现乘法运算和分时输入输出的选择,输出显示级实现对被乘数、乘数和结果的显示。程序流程如下:(5)报告要求a.设计的性质、目的和任务;b.设计课题要求;c.设计的内容、电路原理和详细的设计过程;d.调试与仿真结果;e.调试中遇到的问题及解决的方法;f.详谈自己的体会、感想、建议。设计要求:设计一个具有连续乘功能的4位数相乘的乘法器。用7段显示器分时显示被乘数、乘数和计算

4、的十进制结果。乘数和被乘数分两次输入。在输入乘数和被乘数时,要求分时显示十进制输入数据。可参见计算器的输入和显示功能。乘法器应具有连续乘功能,例如,23=6,再把6作为被乘数,还可以继续乘以其他数,如再乘4(相当于234=64=24),该乘法器要求具备此功能。#设计提示(仅供参考):乘法运算通常采用移位相加方法实现,见简略示意图。输入控制乘数寄存被乘寄存相乘控制累加器结果寄存时钟显示结果存储选择器5、 各模块程序设计、电路原理和仿真6、 1、输入级原理:由要求可知操作数分为两次输入,故设计shu4至shu0依次由k3,k4,k5,k6,k7,定义,其中k3为符号位,其余四位为数据位。当k1有效

5、时,将shu中的数据作为被乘数输入到寄存器中;当k2有效时,将shu 中数据作为乘数输入到寄存器中,clk为脉冲控制端。当k1k2为“00”时输入被乘数,被乘数被存入寄存器。当k1k2为“01”时输入乘数,乘数被存入寄存器。并实现数据符号分离,对数据和符号单独处理。设计代码如下所示:生成模块:仿真波形从仿真结果看出当chenghao和denghao为“00”时,被乘数10101实现数符分离分别赋给a3.0和f1,当chenghao和denghao为“10”时,被乘数10101实现数符分离分别赋给b3.0和f2.结果正确。7、 中间处理级8、 2.1数值相乘模块原理:利用移位相加原理,将上一模块

6、输入的两个数值进行相乘操作。移位相加原理:从乘数的最低位开始,若为1,则将被乘数右端与乘数右端对齐写在下面;若为0,则将与被乘数同样位数的0写在下面。然后进行乘数的次低位,若为1,则被乘数左移一位后与上一次的结果相加;若为0,则左移一位后以全0相加。以此类推,每次若乘数相应位为1,则被乘数左移一位与前次和相加;若乘数相应位为0,则左移一位以全0与前次和相加。设计代码如下:- max+plus ii vhdl template- clearable loadable enablable counterlibrary ieee;use ieee.std_logic_1164.all;use iee

7、e.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity multiply_4_mul1 isport(beicheng: instd_logic_vector(7 downto 0);cheng: instd_logic_vector(7 downto 0);ji: outstd_logic_vector(7 downto 0);end multiply_4_mul1;architecture mul of multiply_4_mul1 is signal r1:std_logic_vector(7 downto 0);sig

8、nal r2:std_logic_vector(8 downto 0);signal r3:std_logic_vector(9 downto 0);signal r4:std_logic_vector(10 downto 0); signal r5:std_logic_vector(11 downto 0);signal r6:std_logic_vector(12 downto 0);signal r7:std_logic_vector(13 downto 0);signal r8:std_logic_vector(14 downto 0);beginprocessbeginif chen

9、g(0)=1 then r1=beicheng; elsif cheng(0)=0 then r1=00000000;end if;if cheng(1)=1 then r2=beicheng&0;elsif cheng(1)=0 then r2=000000000;end if; if cheng(2)=1 then r3=beicheng&00;elsif cheng(2)=0 then r3=0000000000;end if;if cheng(3)=1 then r4=beicheng&000;elsif cheng(3)=0 then r4=00000000000;end if;if

10、 cheng(4)=1 then r5=beicheng&0000; elsif cheng(4)=0 then r5=000000000000;end if;if cheng(5)=1 then r6=beicheng&00000;elsif cheng(5)=0 then r6=0000000000000;end if; if cheng(6)=1 then r7=beicheng&000000;elsif cheng(6)=0 then r7=00000000000000;end if;if cheng(7)=1 then r8=beicheng&0000000;elsif cheng(

11、7)=0 then r8=000000000000000;end if;ji=100) then q:=q-100; b:=b+1; -百位elsif(q=10) thenq:=q-10;s:=s+1; -十位elsif q10 then g:=q(3 downto 0); m:=2; -个位end if; elsif m=2 then ge=g;shi=s;bai=b;m:=0;-输出,m=0返回起点,继续执行 end if;end if; end process;end an;12、 整体合成将已编写好的各子模块进行合成,可得到如下程序框图:13、 调试中遇到的问题及解决的方法由于初次接触

12、vhdl语言,开始进行课程设计时找不到头绪,但经过几天的学习与实践,最终将程序编出,并运行无误。由于对maxplus这一软件不太熟悉,起初存储的文件名与主程序名不一致,导致程序无法运行,通过询问同学和查看相应的参考书知道错误原因,并加以改正。 绘制仿真图形时,不清楚如何绘制,但经过自己研究及询问同学,最终将仿真图形绘出。14、 课程设计的体会、感想、建议经过两周时间的课程设计,我不但学习了很多知识,还锻炼了自学能力和独立思考解决问题的能力,克服各种困难将题目要求的功能实现。通过本次的课程设计,对vhdl语言有了初步的了解,掌握了vhdl的算法,并用其进行编程,以满足课程设计要求,并且可以熟练地使用maxplus软件平台。由于是初次接触vhdl语言及maxplus软件平台,开始时遇

温馨提示

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

评论

0/150

提交评论