EDA实验三VHDL语言设计简单电路
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验三VHDL 语言设计简单电路
一、实验目的
1、学习非门、与门、与非门、或门、或非门、异或门和异或非门的VHDL描述;
2、学习VHDL的文字规范描述、程序书写方法和Quartus II 6.0功能仿真;
二、实验内容
1、参考教材3.1.5节,用VHDL分别设计并仿真基本门电路1位全加器f_adder.vhd 和二选一数据选择器mux21.vhd。分析比较输出的波形仿真图并验证程序的正确性。
三、实验步骤
1。新建一个工程
2/新建vhdl文件
3/输入自己编写好的程序
4/设置顶层实体名,进行综合编译;
5/建立波形文件
6/导入引脚7/设计波形
8/编译
9得到结果波形
10根据波形图可以分析得出仿真结果符合图中所要求的结果
二选一数据选择器;
输入程序;
2/设置顶层实体名3/进行编译
4.创建波形文件
5.进行编译得出结果波形
6由图中波形可知,Y是二选一数据选择器的结果
实验内容二、检查下面程序,改正错误之处LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
ENTITY shifter IS
PORT(d,clk:IN STD_LOGIC;
q:OUT STD_LOGIC_VECTOR(0 TO 3));
END shifter;
ARCHITECTURE#shifter OF shift IS
BEGIN
PROCESS(clk)
BEGIN
IF (clk'EVENT AND clk='1')THEN
q0: =d;
q1: =q0;
q2: =q1
q3: =q2;
END IF;
END PROCESS;
END#shifter;
改错后
程序二:
Use IEEE.STD_LOGIC_1164.ALL; Entity one-bit-adder is
Port(A:IN STD_LOGIC;
B:IN STD_LOGIC;
S:OUT STD_LOGIC;
C_OUT: OUT STD_LOGIC
)
END one-bit-adder;
Architecture sll of one_bit_adder is Begin
S:=A XOR BXOR C_IN;
C_out<=A and B or C_in and A xor B; END SLL
改错后:
程序三
LIBRARY IEEE;
Use ieee.std_logic_1164.all; Entity ABC is
Port(A,B,C:in std_logic;
F,Q:out std_logic); End;
Architecture ABC_arch of ABC is VARIABLE temp:intergen; Begin
Process(A,B,C)
BEIGN
If(A=’1’)AND(B=’1’)THEN
F:=”1”;
Elsif(B=’1’)and(C=’1’)then
F:=”1”;
Elsif(A=’1’)and(C=’1’)then
F:=”1”;
Else
F:=”0”;
End if;
Temp<=’1110101’;
Temp srl 1;
q<=temp;
end XYZ_arch;