EDA8位二进制并行加法器_第1页
EDA8位二进制并行加法器_第2页
EDA8位二进制并行加法器_第3页
EDA8位二进制并行加法器_第4页
EDA8位二进制并行加法器_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

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

文档简介

实验二:8位加法器的设计1.实验目的学习QuartusⅡ/ISESuite/ispLEVER软件的基本使用方法。学习GW48-CK或其他EDA实验开发系统的基本使用方法。了解VHDL程序的基本结构。2.实验内容设计并调试好一个由两个4位二进制加法器级联而成的8位二进制并行加法器,并用GW48-CK或其他EDA实验开发系统(事先应选定拟采用的实验芯片的型号)进行硬件验证。3.实验要求(1)画出系统的原理图,说明系统中各主要组成部分的功能。(2)编写各个VHDL源程序。(3)根据系统的功能,选好测试用例,画出测试输入信号波形或编号测试程序。(4)根据选用的EDA实验开发装置编好用于硬件验证的管脚锁定表格或文件。(5)记录系统仿真、逻辑综合及硬件验证结果。(6)记录实验过程中出现的问题及解决办法。4.实验条件(1)开发条件:QuartusⅡ8.0。(2)实验设备:GW48-CK实验开发系统。(3)拟用芯片:EPM7128S-PL84。5.实验设计1)系统原理图为了简化设计并便于显示,本加法器电路ADDER8B的设计分为两个层次,其中底层电路包括两个二进制加法器模块ADDER4B,再由这两个模块按照图2.1所示的原理图构成顶层电路ADDER8B。图2.1ADDER4B电路原理图 图2.1ADDER8B电路原理图2)VHDL程序加法器ADDER8B的底层和顶层电路均采用VHDL文本输入,有关VHDL程序如下。ADDER4B的VHDL源程序:--ADDER4B.VHDLIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYADDER4BISPORT(C4:INSTD_LOGIC;A4:INSTD_LOGIC_VECTOR(3DOWNTO0);B4:INSTD_LOGIC_VECTOR(3DOWNTO0);S4:OUTSTD_LOGIC_VECTOR(3DOWNTO0);CO4:OUTSTD_LOGIC);ENDENTITYADDER4B;ARCHITECTUREARTOFADDER4BISSIGNALS5:STD_LOGIC_VECTOR(4DOWNTO0);SIGNALA5,B5:STD_LOGIC_VECTOR(4DOWNTO0);BEGINA5<='0'&A4;B5<='0'&B4;S5<=A5+B5+C4;S4<=S5(3DOWNTO0);CO4<=S5(4);ENDARCHITECTUREART;ADDER8B的VHDL源程序:--ADDER8B.VHDLIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYADDER8BISPORT(C8:INSTD_LOGIC;A8:INSTD_LOGIC_VECTOR(7DOWNTO0);B8:INSTD_LOGIC_VECTOR(7DOWNTO0);S8:OUTSTD_LOGIC_VECTOR(7DOWNTO0);CO8:OUTSTD_LOGIC);ENDENTITYADDER8B;ARCHITECTUREARTOFADDER8BISCOMPONENTADDER4BISPORT(C4:INSTD_LOGIC;A4:INSTD_LOGIC_VECTOR(3DOWNTO0);B4:INSTD_LOGIC_VECTOR(3DOWNTO0);S4:OUTSTD_LOGIC_VECTOR(3DOWNTO0);CO4:OUTSTD_LOGIC);ENDCOMPONENTADDER4B;SIGNALSC:STD_LOGIC;BEGINU1:ADDER4BPORTMAP(C4=>C8,A4=>A8(3DOWNTO0),B4=>B8(3DOWNTO0),S4=>S8(3DOWNTO0),CO4=>SC);U2:ADDER4BPORTMAP(C4=>SC,A4=>A8(7DOWNTO4),B4=>B8(7DOWNTO4),S4=>S8(7DOWNTO4),CO4=>CO8);ENDARCHITECTUREART;CTRLS的VHDL程序--CTRLS.VHDLIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYCTRLSISPORT(CLK:INSTD_LOGIC;SEL:OUTSTD_LOGIC_VECTOR(2DOWNTO0));ENDENTITYCTRLS;ARCHITECTUREARTOFCTRLSISSIGNALCNT:STD_LOGIC_VECTOR(2DOWNTO0);BEGINPROCESS(CLK)ISBEGINIFCLK'EVENTANDCLK='1'THENIFCNT="111"THENCNT<="000";ELSECNT<=CNT+'1';ENDIF;ENDIF;ENDPROCESS;SEL<=CNT;ENDARCHITECTUREART;DISPLAY的VHDL程序--DISPLAY.VHDLIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYDISPLAYISPORT(SEL:INSTD_LOGIC_VECTOR(2DOWNTO0);--DATAIN:INSTD_LOGIC_VECTOR(15DOWNTO0);DATAIN:INSTD_LOGIC_VECTOR(7DOWNTO0);COM:OUTSTD_LOGIC_VECTOR(7DOWNTO0);--LEDW:OUTSTD_LOGIC_VECTOR(2DOWNTO0);SEG:OUTSTD_LOGIC_VECTOR(7DOWNTO0));ENDENTITYDISPLAY;ARCHITECTUREARTOFDISPLAYISSIGNALDATA:STD_LOGIC_VECTOR(3DOWNTO0);--SIGNALDATA:STD_LOGIC_VECTOR(7DOWNTO0);BEGINP1:PROCESS(SEL)ISBEGINCASESELISWHEN"000"=>COM<="11111110";WHEN"001"=>COM<="11111101";WHEN"010"=>COM<="11111011";WHEN"011"=>COM<="11110111";WHEN"100"=>COM<="11101111";WHEN"101"=>COM<="11011111";WHEN"110"=>COM<="10111111";WHEN"111"=>COM<="01111111";WHENOTHERS=>COM<="11111111";ENDCASE;ENDPROCESSP1;--LEDW<=SEL;P2:PROCESS(SEL)BEGINCASESELISWHEN"000"=>DATA<=DATAIN(3DOWNTO0);WHEN"001"=>DATA<=DATAIN(7DOWNTO4);--WHEN"010"=>DATA<=DATAIN(11DOWNTO8);--WHEN"011"=>DATA<=DATAIN(15DOWNTO12);WHENOTHERS=>DATA<="0000";ENDCASE;CASEDATAIS WHEN"0000"=>SEG<="00111111"; WHEN"0001"=>SEG<="00000110"; WHEN"0010"=>SEG<="01011011"; WHEN"0011"=>SEG<="01001111"; WHEN"0100"=>SEG<="01100110"; WHEN"0101"=>SEG<="01101101"; WHEN"0110"=>SEG<="01111101"; WHEN"0111"=>SEG<="00000111"; WHEN"1000"=>SEG<="01111111"; WHEN"1001"=>SEG<="01101111"; WHENOTHERS=>SEG<="00000000"; ENDCASE;ENDPROCESSP2;ENDARCHITECTUREART;ADDER8B动态扫描的VHDL程序--ADDER8B.VHDLIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYADDER8BISPORT(C8:INSTD_LOGIC;A8:INSTD_LOGIC_VECTOR(7DOWNTO0);B8:INSTD_LOGIC_VECTOR(7DOWNTO0);CLK:INSTD_LOGIC;--S8:OUTSTD_LOGIC_VECTOR(7DOWNTO0);S8:BUFFERSTD_LOGIC_VECTOR(7DOWNTO0);CO8:OUTSTD_LOGIC;COM:OUTSTD_LOGIC_VECTOR(7DOWNTO0);SEG:OUTSTD_LOGIC_VECTOR(7DOWNTO0));ENDENTITYADDER8B;ARCHITECTUREARTOFADDER8BIS--COMPONENTADDER4BCOMPONENTADDER4BISPORT(C4:INSTD_LOGIC;A4:INSTD_LOGIC_VECTOR(3DOWNTO0);B4:INSTD_LOGIC_VECTOR(3DOWNTO0);S4:OUTSTD_LOGIC_VECTOR(3DOWNTO0);CO4:OUTSTD_LOGIC);ENDCOMPONENTADDER4B;--COMPONENTCTRLSCOMPONENTCTRLSISPORT(CLK:INSTD_LOGIC;SEL:OUTSTD_LOGIC_VECTOR(2DOWNTO0));ENDCOMPONENTCTRLS;--COMPONENTDISPLAYCOMPONENTDISPLAYISPORT(SEL:INSTD_LOGIC_VECTOR(2DOWNTO0);--DATAIN:INSTD_LOGIC_VECTOR(15DOWNTO0);DATAIN:INSTD_LOGIC_VECTOR(7DOWNTO0);COM:OUTSTD_LOGIC_VECTOR(7DOWNTO0);SEG:OUTSTD_LOGIC_VECTOR(7DOWNTO0));ENDCOMPONENTDISPLAY;SIGNALSC:STD_LOGIC;SIGNALSB:STD_LOGIC_VECTOR(2DOWNTO0);BEGINU1:ADDER4BPORTMAP(C4=>C8,A4=>A8(3DOWNTO0),B4=>B8(3DOWNTO0),S4=>S8(3DOWNTO0),CO4=>SC);U2:ADDER4BPORTMAP(C4=>SC,A4=>A8(7DOWNTO4),B4=>B8(7DOWNTO4),S4=>S8(7DOWNTO4),CO4=>CO8);U3:CTRLSPORTMAP(CLK,SB);U4:DISPLAYPORTMAP(SB,S8(7DOWNTO0),COM(7DOWNTO0),SEG(7DOWNTO0));ENDARCHITECTUREART;3)仿真波形设置本设计包括两个层次,因此先进行底层的二进制加法器ADDER4B的仿真,再进行顶层ADDER8B的仿真。图2.2是ADDER4B仿真输入设置及可能结果估计图。同理可进行ADDER8B仿真输入设置及可能结果估计,图1.3为ADDER8B仿真输入设置及可能结果估计图。4)管脚锁定文件根据图1.1所示的ADDER8B电路原理图,本设计实体的输入信号C8、A8、B8,输出信号S8、CO,据此可选择实验电路结构图NO.0,对应实验模式0。图NO.1实验电路结构图根据图2.5所示的实验电路结构图NO.1和图2.1确定引脚的锁定。选用EPM7128S-PL84芯片,其引脚锁定过程如表2.1所示,其中PIO3~PIO0接A8[3..0],PIO7~PIO4接A8[7..4],PIO11~PIO8接B8[3..0],PIO15~PIO12接B8[7..4],PIO49接C8。A8接键2与键1,B8接键4与键3,C8接键8,PIO23~PIO20,PIO19~PIO16接数码管6、数码管5,溢出位由PIO39输出,当有进位时接发光管D8。表2.1ADDER8B管脚锁定过程表设计实体I/O标识设计实体I/O来源/去路插座序号EPM7128S-PL84I/O号->管脚号A8[3..0]键1PIO3~PIO0PIO3~PIO0A8[7..4]键2PIO7~PIO4PIO7~PIO4B8[3..0]键3PIO11~PIO8PIO11~PIO8B8[7..4]键4PIO15~PIO12PIO15~PIO12C8键8PIO49PIO49S8[3..0]经译码后接数码管5PIO19~PIO16PIO19~PIO16S8[7..4经译码后接数码管6PIO23~PIO20PIO23~PIO20备注验证设备:GW48-CK;实验芯片:EPM7128S-PL84;实验模式:NO.1;模式图及管脚对应表见图2.1和表2.2。6.试验结果及总结1)系统仿真情况ADDER4B和ADDER8B及其动态扫描的时序仿真结果分别如图2.3和2.4、2.5所示(本仿真结果是通过同时按下“CTRL+PrintScreen”键抓取当前屏幕信息放入剪贴板中,再通过Windows的画图工具进行粘贴裁剪后复制,最后在Word等文档中通过粘贴的方法获得)。图2.3ADDER4B的时序仿真结果图2.4ADDER8B的时序仿真结果图2.5ADDER8B动态扫描的时序仿真结果从系统仿真结果可以看出,本系统底层和顶层的程序设计完全符合设计要求。同时从系统时序仿真结果可以看出,从输入到输出有一定的延时,大约为5ns,这正是器件延时特性的反应。2)逻辑综合结果使用QuartusⅡ8.0进行逻辑综合后,ADDER4B,ADDER8B及其动态扫描的RTL视图如图2.6所示,对CNT9999进行逻辑综合后的资源使用情况为:Family:MAX7000S,Device:EPM7128SLC84-10,Totalmacrocells:19/128(15%),Totalpins:23/68(34%)。图2.6ADDER4B的RTL视图图2.6ADDER8B的RTL视图图2.6ADDER8B的动态扫描RTL视图3)硬件验证情况

温馨提示

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

评论

0/150

提交评论