ImageVerifierCode 换一换
格式:DOCX , 页数:11 ,大小:61.21KB ,
资源ID:5518768      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/5518768.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(8位减法器的设计.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

8位减法器的设计.docx

1、8位减法器的设计课题名称8位减法器的设计设计内容及要求试设计一个8位二进制并行减法器,它由两个4位二进制并行减法器级联而成。要求被减数与减数之差在数码管上以十进制数显示出来,LED1显示借位输出,当被减数大于减数时,LED1熄灭表示没在借位,当被减数小于减数时,LED1亮表示有借位,其它7位LED平时在熄灭状态。系统提供50MHZ频率的时钟源。完成该系统的硬件和软件的设计,并制作出实物装置,调试好后并能实际运用(指导教师提供制作所需的器件),最后就课程设计本身提交一篇课程设计说明书。设计工作量1、VHDL语言程序设计;2、波形仿真;3、在实验装置上进行硬件测试,并进行演示;4、提交一份完整的课

2、程设计说明书,包括设计原理、程序设计、程序分析、仿真分析、硬件测试、调试过程,参考文献、设计总结等。进度安排起止日期(或时间量)设计内容(或预期目标)备注第1天课题介绍,答疑,收集材料第2天设计方案论证第3天进一步讨论方案, 对设计方案进行必要的修正,方案确定后开始进行VHDL语言程序设计第4天设计VHDL语言程序第5天在实验装置上进行硬件测试,编写设计说明书编写设计说明书教研室意见年 月 日系(部)主管领导意见年 月 日一、课程设计目的系统提供一个50MHz的时钟,要求输入一个8位的二进制数作为被减数并锁定,然后再输入一个8位二进制数并锁定,进行相减后的结果用十进制在数码管上显示出来,并用一

3、个led灯来显示借位情况。二、课程设计要求试设计一个8位二进制并行减法器,它由两个4位二进制并行减法器级联而成。要求被减数与减数之差在数码管上以十进制数显示出来,LED1显示借位输出,当被减数大于减数时,LED1熄灭表示没在借位,当被减数小于减数时,LED1亮表示有借位,其它7位LED平时在熄灭状态。系统提供50MHZ频率的时钟源。完成该系统的硬件和软件的设计,并制作出实物装置,调试好后并能实际运用(指导教师提供制作所需的器件),最后就课程设计本身提交一篇课程设计说明书。三、设计内容1、设计思路方法一:由于要设计的是一个8位的二进制减法器,可采用4位减法器并联的例化语句的方法来实现。在是用例化

4、语句的过程中需要的就是输入的是8位二进制编码,输出的结果也是二进制编码的形式,所以在输出结果的同时还需要将结果进行转化后才能在数码管显示出来,否则只能用16进制来显示。其中的是否发生借位的部分,完全可以用一个输出指向led的亮灭来表示。在此过程中数码管的显示还需要设计好动态扫描。方法二;8位二进制减法器的设计,我们在设置减法器前就先将数据转化,然后再进行减法器的设置,在这里是否要借位可以用if语句来判定后直接输出一个值送入到led显示结果,并把结果直接送入数码管显示。2、设计步骤1)先设计减数和被减数值的锁定并判定借位的输出值 程序如下: PROCESS(AB,K1,K2) VARIABLE

5、S1,S2:STD_LOGIC_VECTOR(7 DOWNTO 0); BEGIN IF K1EVENT AND K1=1 THEN S1:=AB; END IF; IF K2EVENT AND K2=1 THEN S2:=AB; END IF; TMP1=CONV_INTEGER(S1); TMP2TMP2 THEN TMP=TMP1-TMP2; FLAG=10; CO=0; ELSE TMP=TMP2-TMP1; FLAG=11; CO=1; END IF; END PROCESS;2)设计减法器的基本功能程序如下:PROCESS(TMP,CLK) VARIABLE A,B,C:INTEG

6、ER RANGE 0 TO 9; BEGIN IF CLKEVENT AND CLK=1 THEN C:=TMP REM 10 ; B:=(TMP-C) REM 100/10; A:=(TMP-B*10-C) REM 1000/100; A1=A; B1=B; C1=C; END IF; END PROCESS;3)设计计数器的分频操作降低输出频率是结果显示清楚程序如下:PROCESS(CLK) VARIABLE NUM:INTEGER RANGE 0 TO 50000000; BEGIN IF CLKEVENT AND CLK=1 THEN IF NUM100 THEN NUM:=NUM+1

7、; ELSE NUM:=0; CLK1= NOT CLK1; END IF; END IF; END PROCESS;3)设计数码管的片选程序如下:PROCESS(CLK1) BEGIN IF CLK1EVENT AND CLK1=1 THEN SEL7SSEL=00000001;DISPSEL=00000010;DISPSEL=00000100;DISPSEL=00001000;DISPSEL=00000000;DISPLED7SLED7SLED7SLED7SLED7SLED7SLED7SLED7SLED7SLED7SLED7SNULL; END CASE; END PROCESS;END;

8、四、设计仿真波形 1)减数被减数值的锁定 图4-1 值的锁定仿真图2)数码管片选及段选图4-2 结果的显示仿真图五、程序中各个引脚的分配如下引脚名称引脚编号连接网络引脚名称引脚编号连接网络AB0M3FPGA_M1SEL0G4E_7SEG-A1AB1M4FPGA_M2SEL1G3E_7SEG-A2AB2N1FPGA_M3SEL2E2E_7SEG-A3AB3N2FPGA_M4SEL3F2E_7SEG-A4AB4N3FPGA_M5LED7S0K4E_7SEG-GAB5N4FPGA_M6LED7S1L2E_7SEG-FAB6R1FPGA_M7LED7S2H1E_7SEG-EAB7P3FPGA_M8LE

9、D7S3H4E_7SEG-DK1T10KEY1LED7S4H3E_7SEG-CK2N14KEY2LED7S5L4E_7SEG-BCOR10LED1LED7S6L3E_7SEG-ACLKJ350MHZ六、设计总程序LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY a8jfq IS PORT( CLK,K1,K2:IN STD_LOGIC; AB:IN STD_LOGIC_VECTOR(7 DOWNTO 0); SEL:OUT STD_LOGIC_VECTOR(7 DOWNTO 0); L

10、ED7S:OUT STD_LOGIC_VECTOR(6 DOWNTO 0); CO:OUT STD_LOGIC );END;ARCHITECTURE ONE OF a8jfq IS SIGNAL A1,B1,C1:INTEGER RANGE 0 TO 9; SIGNAL FLAG,DISP:INTEGER RANGE 0 TO 15; SIGNAL TMP1,TMP2,TMP:INTEGER RANGE 0 TO 255; SIGNAL CLK1:STD_LOGIC; SIGNAL SEL7S:STD_LOGIC_VECTOR(1 DOWNTO 0):=00;BEGIN PROCESS(AB,

11、K1,K2) VARIABLE S1,S2:STD_LOGIC_VECTOR(7 DOWNTO 0); BEGIN IF K1EVENT AND K1=1 THEN S1:=AB; END IF; IF K2EVENT AND K2=1 THEN S2:=AB; END IF; TMP1=CONV_INTEGER(S1); TMP2TMP2 THEN TMP=TMP1-TMP2; FLAG=10; CO=0; ELSE TMP=TMP2-TMP1; FLAG=11; CO=1; END IF; END PROCESS; PROCESS(TMP,CLK) VARIABLE A,B,C:INTEG

12、ER RANGE 0 TO 9; BEGIN IF CLKEVENT AND CLK=1 THEN C:=TMP REM 10 ; B:=(TMP-C) REM 100/10; A:=(TMP-B*10-C) REM 1000/100; A1=A; B1=B; C1=C; END IF; END PROCESS; PROCESS(CLK) VARIABLE NUM:INTEGER RANGE 0 TO 50000000; BEGIN IF CLKEVENT AND CLK=1 THEN IF NUM100 THEN NUM:=NUM+1; ELSE NUM:=0; CLK1= NOT CLK1

13、; END IF; END IF; END PROCESS; PROCESS(CLK) BEGIN IF CLKEVENT AND CLK=1 THEN SEL7SSEL=00000001;DISPSEL=00000010;DISPSEL=00000100;DISPSEL=00001000;DISPSEL=00000000;DISPLED7SLED7SLED7SLED7SLED7SLED7SLED7SLED7SLED7SLED7SLED7SNULL; END CASE; END PROCESS;END;七、设计仿真图八、设计心得及体会经过本次课程设计通过本次设计对FPGA有了进一步的了解,在这次课程设计的过程中设计的2套方案只是先了一套有点遗憾,第一条方案在之前的过程的设计过程中都是正常的而且仿真也是没有问题,就是在进行实物显示是一致是乱码,也没有在课程设计结束前解决。只能是另外想办法,通过别的思路和设计来实现该功能。在谢老师的帮助下通过自己网上找资料终于实现了预期的功能,本次课程设计学到了许多东西。期待下次能实现更多的功能。参考文献 【1】 潘松,王国栋. VHDL使用教程. 成都:电子科技大学出版社, 2000 【2】 潘松,王国栋 EDA技术实用教程VHDL版(第五版) 北京:科技出版社,2013 【3】 蒋国强. EDA技术与应用. 北京:电子工业出版社,2007

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1