求补码的VHDL程序
前言
本次实验所用软件为Quartus||9.0
,所用板载为EPF10K20T144-4
。
注意事项
(1)创建VHDL工程时选择板载系列一定要按照板载芯片上的系列选中。
(2)目前使用的Quartus || 9.0
不支持输入汉字的功能,只支持显示汉字的功能,所以想要在上面显示汉字,得先在记事本中写好自己要写的汉字内容,然后再复制粘贴到Quartus || 9.0
上的文件中。
(3)安装驱动程序前一定要记得禁止驱动程序签名。
(4)配置完引脚以后一定要记得要再编译一次。
创建一个VHDL工程
1、点击File->new project Wzarid
。
2、默认Next
即可。
3、在图中灰圈所圈中地方选择工程保存文件,红圈所圈中地方输入项目名称(注:项目名称为自定义,不要出现空格),然后点击Next
即可。
4、如果需要添加自己已经写好的文件,在红圈圈中的地方找到文件路径,然后点击Add
即可添加,若不需要,则默认Next
即可。
5、在图中灰圈所圈中地方选择程序所要烧入板载系类,红圈所圈中地方选择板载芯片上所标系列,然后点击Next
即可。
6、默认Next
即可。
7、默认Finish
即可。
创建一个VHDL程序文件(数字时钟程序)
1、点击File->new
或直接点击图中红线所圈按钮即可。
2、点击VHDL File
即可。
3、在此界面输入自己要写的程序即可。
书写并编译VHDL程序
1、在创建好的VHDL程序文件中用VHDL语言书写以下程序
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_ARITH.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITY complement IS
PORT(clk : in std_logic;
a : in std_logic_vector (3 downto 0);
b : out std_logic_vector (3 downto 0));
END complement;
ARCHITECTURE one OF complement IS
BEGIN
PROCESS(clk)
VARIABLE temp : std_logic_vector (3 downto 0);
begin
if clk'event and clk = '1' then
temp := a XOR "0111"; --异或求反
temp := conv_std_logic_vector(conv_integer(temp)+1,4); --temp转换成整数加1后再转换回来
b <= temp; --输出结果
end if;
end process;
end one;
对VHDL程序进行仿真
1、点击File->new->Vector Waveform File
创建一个Vector Waveform File文件。
2、填添加仿真的引脚并设置好波形。(注:如下图所示)
3、点击图中红线所圈中的时序仿真按钮得到如图所示结果即可。
将VHDL程序文件烧入板载测试
1、点击Assignments->Pins
在图中红线圈中的地方设置对应板载的引脚,设置完引脚后一定要记得再编译一次。
2、点击烧入按钮,再在弹出的界面上点击start
将VHDL程序烧入板载
3、调整好输入,得到输出,成功界面如下。