- 1、本文档被系统程序自动判定探测到侵权嫌疑,本站暂时做下架处理。
- 2、如果您确认为侵权,可联系本站左侧在线QQ客服请求删除。我们会保证在24小时内做出处理,应急电话:400-050-0827。
- 3、此文档由网友上传,因疑似侵权的原因,本站不提供该文档下载,只提供部分内容试读。如果您是出版社/作者,看到后可认领文档,您也可以联系本站进行批量认领。
查看更多
实验3 8位硬件加法器VHDL设计
实验目的
学习8位硬件加法器的设计,进一步学习电路的仿真验证和硬件测试
实验内容
本实验的内容是建立一个8位硬件加法器,并在GW48试验箱上进行测试。
实验原理
在数字信号处理的快速运算电路中常常用到多位数字量的加法运算,这时需要用到并行加法器。并行加法器比串行加法器快得多,电路结构不太复杂,它的原理也很容易理解。现在普遍采用的是超前进位加法器,只是在几个全加器的基础上增加一个超前进位形成逻辑,以减少由于逐位信号的传递所造成的延迟。
实验步骤(VHDL文本设计)
步骤一 :为项目设计建立文件夹和工程
步骤二 :建立文本编辑文件
在创建好一个设计工程后,在Quartus II6.0 Project主界面选择 File-New打开新建文件对话框,在该对话框中选择VHDL File,单击Ok建立一个空的VHDL文件。在Quartus II6.0 主界面中选择File-Save As改名为Adder.vhd并保存。
步骤三 :输入VHDL代码
参考实验程序。
步骤四 :最后进行器件型号选择、分配引脚、编译、时序仿真、编程下载。
建议选择实验电路的模式1,。用键4和3(PIO15-PIO8)接输入A,用键2和1(PIO15-PIO8)接输入B,用键8(PIO49)接输入CIN,用数码管6和5(接输入S),用D1接输出COUT。
VHDL实验参考程序
程序清单adder8.VHDL
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_UNSIGNED.ALL;
ENTITY adder8 IS
PORT(CIN:IN STD_LOGIC;
A,B:IN STD_LOGIC_VECTOR(7 DOWNTO 0);
S:OUT STD_LOGIC_VECTOR(7 DOWNTO 0);
COUT:OUT STD_LOGIC);
END adder8;
ARCHITECUTRE behave OF adder8 IS
SIGNAL sint:STD_LOGIC_VECTOR(8 DOWNTO 0);
SIGNAL m:STD_LOGIC_VECTOR(7 DOWNTO 0);
SIGNAL n:STD_LOGIC_VECTOR(7 DOWNTO 0);
BEGIN
m=not(not A);n=not(not B);
sint=(‘0’m)+n+CIN;
S=SINT(7 DOWNTO 0); COUT=SINT(8);
END behave;
实验结果截图
程序截图:
时序仿真波形截图:
实验6 动态数码管显示
一.实验目的
学习硬件扫描显示电路的设计。
二.实验内容
本实验的内容是简历数码管动态扫描显示模块,具体内容如下:
(1)在实验箱上完成LED数码管的动态显示;
(2)放慢扫描速度演示动态显示的原理过程。
图3—11所示的是8位数码扫描显示电路,其中每个数码管的8个段:h、g、f、e、d、c、b、a(h是小数点)都分别连在一起,8个数码管分别有8个选通信号k1、k2、…k8来选择。别选通的数码管显示数据,其余关闭。如在某一时刻,k3为高电平,其余选通信号为低电平,这是仅k3对应的数码管显示来自段信号端的数据,而其他7个数码管呈关闭状态。根据这种电路状况,如果在8个数码管显示希望的数据,就必须是的8个选通信号k1、k2…k8分别被单独选通,榆次同事,在短信号输入口加上希望在该对应数码管上显示的数据,于是随着选通信号的扫变,就能实现扫描显示的目的。
在创建好一个设计工程后,在Quartus II6.0 Project主界面选择 File-New打开新建文件对话框,在该对话框中选择VHDL File,单击Ok建立一个空的VHDL文件。在Quartus II6.0 主界面中选择File-Save As改名为Adder.vhd并保存。
在本实验的程序中,clk是扫描时钟;SG为7段控制信号,有高位至低位分别接g、f、e、d、c、b、a7个段;BT是位选控制信号,接上途中的8个选通信号:k1、k2、…k8.程序CNT8是一个3位计数器,作扫描据计数信号,有进程P2生成:进程P3是7段译码查表输出程序:进程p1是对8个数码管选通的扫描程序,例如当CNT8等于“001”时,k2对应的数码管被选通,同时,A杯赋值3,再由进程p3译码输出“100111”,显示在数码管上即为“3”;当CNT8扫完时,将能在8个数码管上显示数据:13579BDF。
Library ieee;
Use ieee
文档评论(0)