加法器、减法器的设计vhdl

加法器、减法器的设计vhdl

ID:9000756

大小:35.50 KB

页数:4页

时间:2018-04-14

加法器、减法器的设计vhdl_第1页
加法器、减法器的设计vhdl_第2页
加法器、减法器的设计vhdl_第3页
加法器、减法器的设计vhdl_第4页
资源描述:

《加法器、减法器的设计vhdl》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、实验报告课程名称电子设计自动化实验(基于FPGA)实验项目加法器、减法器的设计实验仪器计算机+QuartusⅡ9.1系别信息与通信工程学院专业通信工程班级/学号学生姓名实验日期2012、5成绩_______________________指导教师_______________________4HigashiQ83831295加法器、减法器的设计完成一个8位二进制带符号数的加减电路设计。设计要求如下:通过拨码开关输入两组8位二进制数,最高位为符号位,0表示正数,1表示负数,其余位表示二进制数值。用一按键对加、减方式进行控制,0表示加,1表示减。输

2、出用四位LED数码管显示BCD码。其中LED显示器最高位为符号位。VHDL代码LIBRARYIEEE;USEIEEE.std_logic_1164.all;USEIEEE.std_logic_arith.all;USEIEEE.std_logic_unsigned.all;ENTITYaddISPORT(a:instd_logic_vector(7downto0);b:instd_logic_vector(7downto0);ctrl:instd_logic;bcd:outstd_logic_vector(15downto0));ENDENTI

3、TY;ARCHITECTUREfuncOFaddISSIGNALx:std_logic_vector(9downto0);SIGNALy:std_logic_vector(9downto0);SIGNALz:std_logic_vector(9downto0);SIGNALc:std_logic_vector(8downto0);SIGNALdec:integer;BEGINyunsuan:BLOCK--运算模块BEGINPROCESS(a)BEGINIF(a(7)='0')THEN--判断正负x<='0'&'0'&a;ELSEx(9downt

4、o8)<='1'&'1';x(7downto0)<=NOT('0'&a(6downto0))+1;ENDIF;ENDPROCESS;PROCESS(a,ctrl)BEGIN4HigashiQ83831295IF(ctrl='0')THEN--控制键为0,则做加法IF(b(7)='0')THENy<='0'&'0'&b;ELSEy<='1'&'1'&(NOT('0'&b(6downto0))+1);ENDIF;ELSEIF(b(7)='1')THENy<='0'&'0'&'0'&b(6downto0);ELSEy<='1'&'1'&(NOT('0

5、'&b(6downto0))+1);ENDIF;ENDIF;ENDPROCESS;PROCESS(a,b)BEGINIF(a(6downto0)=0)THENz<=y;ELSEIF(b(6downto0)=0)THENz<=x;ELSEz<=x+y;ENDIF;ENDIF;ENDPROCESS;PROCESS(z)BEGINIF(z(9)='1')THEN--判断结果的正负c(7downto0)<=NOTz(7downto0)+1;c(8)<='1';ELSEc(8downto0)<='0'&z(7downto0);ENDIF;ENDPROCE

6、SS;ENDBLOCK;bcdout:BLOCKBEGINdec<=CONV_INTEGER(c);--二进制转十进制PROCESS(c)BEGIN4HigashiQ83831295CASEc(8)IS--判断最高位正负WHEN'0'=>bcd(15downto12)<="0000";WHEN'1'=>bcd(15downto12)<="0001";WHENOTHERS=>bcd(15downto12)<=NULL;ENDCASE;CASEdec/100IS--判断百位数字WHEN0=>bcd(11downto8)<="0000";WHEN1=

7、>bcd(11downto8)<="0001";WHENOTHERS=>bcd(11downto8)<=NULL;ENDCASE;CASE(decREM100)/10ISWHEN0=>bcd(7downto4)<="0000";WHEN1=>bcd(7downto4)<="0001";WHEN2=>bcd(7downto4)<="0010";WHEN3=>bcd(7downto4)<="0011";WHEN4=>bcd(7downto4)<="0100";WHEN5=>bcd(7downto4)<="0101";WHEN6=>bcd(7down

8、to4)<="0110";WHEN7=>bcd(7downto4)<="0111";WHEN8=>bcd(7downto4)<="1000";WHEN

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。