VHDL一位全加速器
- 格式:doc
- 大小:114.00 KB
- 文档页数:3
实验题目:一位全加速器
实验人姓名:xxx
实验人学号:xxxx
实验地点:B3-216教室
试验时间:2012年3月1号
实验目的:进一步练习VHDL语言设计工程的建立与仿真的步骤和方法、熟悉VHDL语言基本设计实体的编写方法。
实验环境:PC个人计算机、Windows XP操作系统、Quartus II集成开发环境软件。
实验要求:设计一个一位全加器,实体名称为“full_adder”,其引脚与功能如下表。
端口模式端口名数据类型功能逻辑表达式说明
in(输入)
a
std_logic 加数
b 加数
ci 低位进位out(输出)
s s <= a xor b xor ci 和
co co <= (a and b) or (a and ci) or (b and ci) 高位进位实验步骤:
①建立工程:先建立文件full_adder,然后建立full_adder工程
②编辑代码:
-- Quartus II VHDL Template
-- Basic Shift Register
library ieee;
use ieee.std_logic_1164.all;
entity full_adder is
port
(
a,b,ci : in std_logic;
s,co : out std_logic
);
end entity;
architecture rtl of full_adder is
begin
s <= a xor b xor ci;
co <= (a and b) or (a and ci) or (b and ci);
end rtl;
③编译及修改错误
在编辑过程中的第一个错误是:文件名称错误,“-”和“_”弄混,程序只识别下划线。
错误报告为Error (10500): VHDL syntax error at full_adder.vhd(7) near text "-"; expecting "is"
④建立仿真波形并仿真
得到的关系图:
画好的波形:
得到的波形:
⑤根据仿真结果分析设计是否正确。
端口名结果
a b ci co s
1 0 0 0 1
1 0 1 1 0
1 1 1 1 1
0 1 1 1 0
0 0 1 0 1
0 0 0 0 0
1 0 0 0 1
1 1 0 1 0
1 1 1 1 1
0 1 1 1 0
0 0 1 0 1。