FPGA全加器(VHDL)

举报
JeckXu666 发表于 2022/01/15 23:25:00 2022/01/15
【摘要】 FPGA全加器(VHDL) 一位全加器实验报告一、实验目的与要求二、实验设备三、实验内容四、实验步骤五、设计程序六、实验结果及分析 一位全加器实验报告 一、实验目的与要求 ​ 通过此...

一位全加器实验报告

一、实验目的与要求

​ 通过此实验让用户逐步了解、熟悉和掌握FPGA开发软件Quartus II的使用方法及VHDL的编程方法。学习用VHDL语言以不同方式来描述1位全加器及电路的设计仿真和硬件测试,同时结合按键输入,在硬件设备上实现全加器的功能。

二、实验设备

  1. SmartSOPC+实验箱
  2. 装有QuartusⅡ的PC机
  3. JTAG下载器

三、实验内容

本实验的内容是建立一个1位全加器。具体内容包括:
(1)使用Quartus II建立工程、编写程序;
(2)进行波形仿真验证;
(3)进行硬件测试。

通过SmartSOPC实验箱上的按键KEY1~KEY3输入信号,分别为A.B和Cin,并通过,LED1 ~LED3指示相应的状态。输出Sum和Cout通过LED7和LED8指示(灯亮表示输人或输出为“1”)。

一位全加器真值表:

真值表

四、实验步骤

  1. 启动QuartusII建立一个空白工程,然后命名为add.qpf。

  2. 新建VHDL源程序文件add.vhl,输人程序代码并保存,然后进行综合编译。若在编译过程中发现错误,则找出并更正错误,直至编译成功为止,并生成图形符号文件add.bdf。

  3. 波形仿真验证,步骤如下:

    1. 在QuartusII主界面中选择File→New命令,打开新建文件对话框,在该对话框中选;择Other Files选项卡,从中选择Vector Waveform File,如图3. 38所示。单击OK关闭建立一个 空的波形编辑器窗口
      创建文件:

      创建文件
      wave文件:选择wave

    2. 在如图所示的Name选项卡内双击鼠标左键,弹出下图所示对话框。在如该对话框中单击NodeFinder按钮,弹出如图对话框。
      结果图

    3. 点击list列出节点并添加节点
      节点添加图

    4. 为输入信号添加随机信号,便于仿真
      添加随机信号

    5. 点击仿真,保存,得到仿真结果,对比真值表,如下图
      仿真结果

  4. 仿真正确无误后,分配程序引脚,下载程序

五、设计程序

一位加法器程序较为简单,设计思路主要为读取按键端口,带入逻辑计算后输出加法器值,具体程序如下:

library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned .all;
--add
entity add1 is
	port(a,b,c:in std_logic;
		 led:out std_logic_vector(1 downto 0)
		);
end entity;
architecture rtl of add1 is
	signal s,co : std_logic;
begin
	s<= a xor b xor c;	
	co <= ((a xor b)and c)or (a and b);
	led <= s & co;
end rtl;

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16

六、实验结果及分析

实验图片:

  1. 进位为:1 1 1
    在这里插入图片描述
  2. 进位:1 0 0
    在这里插入图片描述
  3. 进位:1 1 0
    在这里插入图片描述

结果分析:

​ 对下载后程序进行测试,其实验现象和理论仿真一致,程序达到设计目标。

文章来源: blog.csdn.net,作者:JeckXu666,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/qq_45396672/article/details/113029430

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。