1、数 字 系 统 设 计 和 实 验 学院: 专业: 班级: 学号: 姓名 指导老师 年 12月 10 日 试验一 原码反码发生器 一 试验目标: 1、 掌握组合逻辑电路基础设计方法。 2、 学习波形仿真方法。 3、 加深对最简单二进制原码、反码了解,灵活利用基础逻辑门。 二 试验内容 1、设计电路应含有以下功效: A.包含以下
2、端口: 一个选择信号端口,一个8位二进制输入端口,一个原码/反码输出端口。 B. 选择信号逻辑状态为0时输出原码;逻辑状态为1时输出反码。 2、完成电路设计。 3、对设计正确性进行验证。 三 试验要求 1、列出所要实现功效真值表。 输入端口 输出端口 cin(十六进制) Fin cout 01H 0 01H 02H 1 FDH 03H 0 03H 04H 1 FBH 05H 0 05H 06H 1 F9H 07H 0 07H 08H 1 F7H 2、画出电路逻辑图。 3、编写用
3、VHDL语言描述源程序。 library ieee; use ieee.std_logic_1164.all; entity shiyan1 is port (cin : in std_logic_vector(7 downto 0); fin : in std_logic; cout: out std_logic_vector(7 downto 0)); end shiyan1; architecture behave of shiyan1 is begin process(fin) begin case fin is when '1
4、' => cout <= not cin; when '0' => cout <= cin; when others => null; end case; end process; end behave; 4、 在MAX 软件平台上完成编译和功效仿真。 一、信号端口为0时 二、信号端口为1 总结:经过上个试验后,对maxplu件有了一定了解,对于 VHDL也愈加熟悉,首先结构真值表,画出逻辑电路图,然后编写程序生成仿真波形图。在编写程序时候也出现了部分错误,比如是将单个字符用双引号,结果编译通不过。老是报错。以后才检
5、验出来。 试验 二 4舍5入电路 一 试验目标: 1、掌握组合逻辑电路基础设计方法。 2、熟练利用真值表。 二 试验内容 1、设计电路应含有以下功效: A.包含以下端口: 一个4位二进制输入端口,一个进位输出端口。 B. 即当输入数X大于或等于5时,进位输出端口输出F为1,反之,输出为0。 2、完成电路设计。 3、对设计正确性进行验证。 三 试验要求 1、编写用VHDL语言描述源程序。 library ieee; use ieee.std_logic_1164.all; entity shiyan2 is po
6、rt (cin : in std_logic_vector(3 downto 0); f : out std_logic); end shiyan2; architecture behave2 of shiyan2 is begin process(cin) begin case cin is when "0000" => f <= '0'; when "0001" => f <= '0'; when "0010" => f <= '0'; when "0011" => f <= '0'; when "0100" =>
7、f <= '0'; when "0101" => f <= '1'; when "0110" => f <= '1'; when "0111" => f <= '1'; when "1000" => f <= '1'; when "1001" => f <= '1'; when others => null; end case; end process; end behave2; 2、在MAX 软件平台上完成编译和功效仿真。 电路逻辑图以下: 仿真结果以下: 总结:依据提醒中真值表确定输入输出接口,编写程序实现仿真,
8、便得到了以上波形图,首先很轻易知道,当输入数大于等于5时就要进位,二F输出端便代表是进位,所以F取值只有0和1 试验 三 四—十六译码器 一 试验目标: 1、掌握组合逻辑电路基础设计方法。 2、熟练利用VHDL语言次序语句和并发语句。 3、熟练利用MAX软件提供仿真功效。 二 试验内容 1、设计电路应含有以下功效: A. 包含以下端口: 一个使能信号输入端口,四个选择信号输入端口,十六个驱动信号输出端口。 B. 当使能信号为高电平时,对于四个选择信号组成任意一组状态,十六个驱动信号中有一个且仅有一个有效高电平输出。
9、当使能信号为低电平时,十六个驱动信号全部输出低电平。 2、完成电路设计。 3、对设计正确性进行验证。 三 试验要求 1、编写用VHDL语言描述源程序 library ieee; use ieee.std_logic_1164.all; entity shiyan3 is port (G : in std_logic; A : in std_logic_vector(3 downto 0); Y : out std_logic_vector(15 downto 0)); end shiyan3; architecture behave3 of sh
10、iyan3 is begin process(G, A) begin for i in 0 to 15 loop Y(i) <= '0'; end loop; if(G='1') then case A is when "0000" => Y(0) <= '1'; when "0001" => Y(1) <= '1'; when "0010" => Y(2) <= '1'; when "0011" => Y(3) <= '1'; when "0100" => Y(4) <= '1'; wh
11、en "0101" => Y(5) <= '1'; when "0110" => Y(6) <= '1'; when "0111" => Y(7) <= '1'; when "1000" => Y(8) <= '1'; when "1001" => Y(9) <= '1'; when "1010" => Y(10) <= '1'; when "1011" => Y(11) <= '1'; when "1100" => Y(12) <= '1'; when "1101" => Y(13) <= '1'; w
12、hen "1110" => Y(14) <= '1'; when "1111" => Y(15) <= '1'; when others => null; end case; else for i in 0 to 15 loop Y(i) <= '0'; end loop; end if; end process; end behave3; 2、 在MAX 软件平台上完成编译和功效仿真。 电路逻辑图以下: 仿真效果以下: 总结:我是参考三八译码器来设计,先结构真值表,然后编写程序,程序在编译时候碰到了尤其多错误,不过经过调试也成功生成了正确波形图。加深了对VHDl了解,和对maxplus认识。






