数字系统设计基础实验报告
实验名称: 1.组合电路设计___ 2.失序电路设计___ 3.计数器的设计___ 4.原理图设计加法器 学 号:___ 08093342__ ____ 姓 名:___ 姚 伟_______ 班 级: __ 计科09-1班_____ 老 师:__ ______
中国矿业大学计算机学院
2011年10月27日
实验一:组合电路的设计
一. 实验目的
熟悉QuartusⅡ的VHDL文本设计流程全过程,学习简单组合电路的设计、仿真和硬件测试。
二. 实验任务
任务1:利用QuartusⅡ完成2选1多路选择器的文本编辑输入和仿真测试等步骤,得出仿真波形。最后在试验系统上进行硬件测试,验证本项设计的功能。
任务2:将此多路选择器看成是一个元件mux21a,利用元件例化语句描述电路图,并将此文件放在同一目录中。
对于任务中的例子分别进行编译、综合、仿真,并对其仿真波形作出分析说明。
三. 实验过程
1. 新建一个文件夹,取名CNT10。 2. 输入源程序。
3. 文件存盘,文件名为cnt10,扩展名为.vhd。 4. 创建工程,按照老师要求对软件进行设置。 5. 进行失序仿真,得到仿真图形。
四. 实验程序
任务1:
entity CNT10 IS
port (a,b,s:in bit; y:out bit);
end entity CNT10;
architecture one of CNT10 is
begin
process (a,b,s)
if s='0' then y<=a; else y<=b; end if;
end process;
end architecture one;
任务2: LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL; ENTITY MUXK IS
PORT (s0,s1: in STD_LOGIC; a1,a2,a3: in STD_LOGIC;
第 1 页(共 16页)
outy: out STD_LOGIC );
END ENTITY MUXK;
ARCHITECTURE double OF MUXK IS
SIGNAL tmpout,tmp:STD_LOGIC;
BEGIN
u1: PROCESS(s0,a2,a3,tmp)
BEGIN
IF s0='0' then tmp<=a2; else tmp<=a3; END IF ;
END PROCESS u1 ;
u2: PROCESS(s1,a1,tmp,tmpout)
BEGIN
IF s1='0' then tmpout<=a1; else tmpout<=tmp; END IF ;
END PROCESS u2 ; outy<=tmpout;
END ARCHITECTURE double;
五. 实验结果 任务1:
第 2 页(共 16页)