VHDL实验报告
- 格式:docx
- 大小:24.96 KB
- 文档页数:12
VHDL实验报告
《创新实验》实验报告
—基于vhdl的编程和硬件实现
一、实验目的
1.
2.
3.
4. 熟悉和掌握硬件描述语言vhdl的基本语法及编写;掌握软件xilinx ise 10.1的使
用;熟悉sdz-6电子技术实验箱的使用;了解节拍脉冲发生器等基本电路的实现;
5. 了解八位二进制计数器的功能与设计;
6. 学习键盘和七段数码管显示的控制和设计。
二、实验内容
1. xilinx ise 10.1软件的使用;
2. 节拍脉冲发生器等基本电路的实现;
3. 八位二进制计数器的实现
4. 键盘扫描及显示的实现
三、实验器材
1、 pc机
2、 sdz-6电子技术实验箱
3、正负5v电源
4、 i/o接口线
四、软件的使用
在安装xilinx10.1软件时,需要一个id号,其实这个id号是可以重复使用的,几个同
学在官网注册后就可以共享id号了。
安装完成之后就可以使用这个软件编写相应的vhdl的程序。
1.新建工程 file—>new project 弹出下面的对话框
输入工程名后单击next。然后根据本实验的实验箱进行以下设置。
以后的步骤一般都是单击next(有些资料上会介绍有些这些步骤的具体功能,但对于本
实验不必用到),最后单击finish,完成新建一个工程。在窗口的左边会出现刚刚新建的工
程,如下: 2.新建一个vhdl的源文件。
在上图中,右击工程选择new source ,弹出如下对话框。
在对画框的左边选择vhdl module,输入文件的名字(改名字最好是你定义的实体的名
字)。单击next。出现下面的对话框。
该对话框主要是对外部端口的编辑。可以直接跳过,即单击next,在源文件上编辑端口。
然后在接下来的对话框中单击finish。完成建立一个源文件。窗口右边就会出现刚才编辑的
源文件。
3.编写和编译代码
将事先编好的代码复制到源文件里,然后保存文件。
选中左边的文件名,在窗体的左边出现如下编辑文档内容。
选择synthesize —xst—》check syntax,双击check syntax,开始编译源文件。
4.软件仿真
其实仿真这一步可要可不要,很多程序都不需要仿真,有些程序即使仿真出错,但是最
后结果却可以出来。因此,我们做实验时很少仿真,此处也不再赘述了。
5.综合
首先根据实验箱的安排布局,找到程序中外部接口的对应实验箱上的接口,进行接口对
应,双击如下图所示的选项。 出现接口窗口如下,进行设置(具体参见老师发的文档sdz电子实验箱的使用说明文档)
保存,关闭即可
篇二:vhdl第一次实验报告
深圳大学实验报告
课程名称:
学院:信息工程学院
实验时间:
实验报告提交时间:
教务部制
篇三:vhdl实验报告
福建农林大学计算机与信息学院
信息工程类
实验报告
2013年 11 月 13 日
实验项目列表
福建农林大学计算机与信息学院信息工程类实验报告
系:电子信息工程系专业:电子信息工程年级: 2010级姓名:
学号:实验课程: vhdl数字系统设计
实验室号:__ 田c407 实验设备号: 07 实验时间: 11.12 指导教
师签字:成绩:
实验一数控分频器的设计
1.实验目的和要求
学习数控分频器的设计、分析和测试方法。 2.实验原理
信号有不同的分频比,数控分频器就是用计数值可并行预置的加法计数器设计完成的,
方法是将计数溢出位与预置数加载输入信号相接即可,详细设计程序如例1所示。
数控分频器的仿真波形如图1所示:输入不同的clk频率和预置值d,给出如图1的时 序波形。
100.0μs
200.0μs
300.0μs
400.0μs 图1 当给出不同输入值d时,fout输出不同频率(clk周期=50ns) 3.主要仪器设备(实验用的软硬件环境)
实验的硬件环境是:
微机一台
gw48 eda实验开发系统一套电源线一根十芯jtag口线一根 usb下载线一根 usb下载
器一个
示波器
实验的软件环境是:
quartus ii 9.0软件
4.操作方法与实验步骤
(1)创建工程,并命名位test。
(2)打开quartusii,建立vhdl文件,并输入设计程序。保存为dvf. (3)选择目
标器件。acex1k—ep1k100qc208-3。(4)启动编译。(5)建立仿真波形图。(6)
仿真测试和波形分析。(7)引脚锁定编译。(8)编程下载。(9)硬件测试
5.实验内容及实验数据记录
在实验系统上硬件验证例5-20的功能。可选实验电路模式1(第一章图4);键2/键1
负责输入8位预置数d(pio7-pio0);clk由clock0输入,频率选65536hz或更高(确保分频
后落在音频范围);输出fout接扬声器(spker)。编译下载后进行硬件测试:改变键2/键1
的输入值,可听到不同音调的声音。 6.实验数据处理与分析 1)实验代码
【例1】
library ieee;
use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all;
entity dvf is port ( clk : in std_logic;
d : in std_logic_vector(7 downto 0); fout : out std_logic ); end;
architectur
e one o
f dvf is signal full : std_logic; begin p_reg: process(clk)
variable cnt8 : std_logic_vector(7 downto 0); begin if clkevent
and clk = 1 then if cnt8 = 11111111 then cnt8 := d; --当cnt8计数计满时,输入数据d被同步预置给计数器cnt8 full <= 1; --同时使溢出标志信号full输出为高电平
else cnt8 := cnt8 + 1; --否则继续作加1计数
full <= 0; --且输出溢出标志信号full为低电平 end
if; end if;
end process p_reg ; p_div: process(full) variable cnt2 :
std_logic; begin if fullevent and full = 1 then cnt2 := not cnt2; --如果溢出标志信号full为高电平,d触发器输出取反
if cnt2 = 1 then fout <= 1; else fout <= 0; end if; end if; end
process p_div ; end;
2.)实验仿真 2.1输入代码
2.2编译测试
2.3引脚锁定篇四:vhdl实验报告
vhdl 5090309160 实验报告庄炜旭
实验三. 4位可逆计数器,4位可逆二进制代码-格雷码转换器设计
一.实验目的
学习时序电路的设计,仿真和硬件测试,进一步熟悉vhdl设计技术 1.
学习4位可逆计 数器的设计
2. 学习4位可逆二进制代码-格雷码转换器设计
二.实验内容
设计4位可逆计数器,及4位可逆二进制代码-格雷码转换器,并仿真,下载。 [具体
要求]
1. 4位可逆计数器
a) 使用clock_50作为输入时钟,其频率为50mhz(对于频率大于50hz的闪烁,
25
人眼会看到连续的光),因而,对其进行2的分频后,再用于时钟控制。(可利用实验一)
b) 使用拨码开关sw17作为模式控制,置‘1’时为加法计数器,置‘0’时为减
法计数器,同时使用ledr17显示sw17的值。
c) 使用key3作为异步复位开关(按下时为0,不按为1),当为加法计数器时,
置“0000”,当为减法计数器时,置“1111”。
d) 使用ledr3,ledr2,ledr1,ledr0作为转换后的输出结果显示,ledr3为高
位,ledr0为低位。
2. 4位可逆二进制代码――格雷码转换器
a) 使用拨码开关sw17作为模式控制,置‘1’时为二进制代码―>格雷码转换,
置‘0’时为格雷码―>二进制代码,同时使用ledr17显示sw17的值。 b) 使用拨码
开关sw3, sw2, sw1, sw0作为输入的被转换数,sw3为高位,sw0 为低位。
c) 使用ledr3,ledr2,ledr1,ledr0作为转换后的输出结果显示,ledr3为高 位,ledr0为低位。
sw[0] pin_n25 sw[1] pin_n26 sw[2] pin_p25 sw[3] pin_ae14
sw[17]
pin_v2 ledr[0] pin_ae23 ledr[1] pin_af23 ledr[2] pin_ab21
ledr[3] pin_ac22
ledr[17] pin_ad12 key[3] pin_w26 clock_50 pin_n2 三.管脚设定
四.相关知识
二进制代码与格雷码相互转换
格雷码(gray code,简称g码)是典型的循环码,它是由二进制码(binary,简称 b
码)导出的。特点是序号相邻的两组代码只有一位码不同(包括头尾两组代码),且具有循环
性。上述特点使全部码组按序循环相邻,若以循环码表示一个循环过程中按顺序发生的状态,
则任何状态变化只对应有一个变量发生变化,这个特点有助于提高电路的可靠性。
五.思路及原理框图
本实验分两个部分,首先是一个四位可逆计数器。这是一个比较基础的部分,每次时钟
信号来的时候内置计数器加一或者减一,到十六或者零的时候相应跳变,然后再把这个相应
的信号转换到led灯上输出。第二部分是关于格雷码与二进制码的转换,如上表所示,它把
转换关系都告诉我们,这样我们只需要读入单片机上面的输入,再通过几个简单的公式转化
输出即可。
框图如下:
六.源代码
library ieee;