西安邮电大学可编程逻辑实验报告

  • 格式:doc
  • 大小:672.00 KB
  • 文档页数:22

可编程逻辑实验院系名称 :电子工程学院学生姓名 : 专业名称 : 电子科学与技术班 级 :学号 :实验名称:门电路的设计实验一:用原理图输入法设计门电路实验目的:1.掌握PLD芯片的基本使用方法,熟悉EDA软件MAX+plus的操作。

1.学会利用软件仿真和实现用硬件对数字电路的逻辑功能进行验证和分析。

器材:PC实验内容:实现1、F=/AB 2、F=AB+CD实验结果:1.F=/AB原理图:仿真结果:2.F=AB+CD原理图:仿真结果:实验二:用原理图输入法设计门电路实验目的:1.进一步掌握PLD芯片的基本使用方法,熟悉EDA软件MAX+plus的操作。

2.学会利用软件仿真和实现用硬件对数字电路的逻辑功能进行验证和分析。

3.学习初步的VHDL程序设计方法。

器材:PC实验内容:实现3、F=A⊕B4、F=/abc+/d实验结果:3、F=A⊕B源程序:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;use ieee.std_logic_arith.all;entity xor2 isport(a,b:in std_logic;F:out std_logic);end;architecture main of xor2 isbeginF<=a xor b;end;仿真结果:4、F=/abc+/d源程序:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;use ieee.std_logic_arith.all;entity zhonghe isport(a,b,c,d:in std_logic;F:out std_logic);end;architecture main of zhonghe issignal g,h,y,m,n:std_logic;beginm<=not a;g<=m and b;h<=g and c;n<=not d;y<=h or n;F<=y;end;仿真结果:实验小结:本实验为第一次DEA实验,不免有些兴奋和好奇,加之老师讲的比较好,所以基本上没有遇到什么问题。

虽然提前有预习过,但是老师还是一点点的细细讲,我很佩服。

老师使我们在短时间内,学会了MAX+plus的使用方法。

原理图输入法,文本输入法基本都会了。

不过还是出了些问题。

比如很容易忘记,将当前工程选中。

在文本编写时,必须保持文件名与实体名一致,且扩展名为“.vhd”。

总之,这次实验做得还不错。

实验名称:组合逻辑电路的设计实验三:编译码器设计实验目的:a)熟悉组合逻辑电路的VHDL描述方法。

b)熟练掌握“case”语句和“if…else…”语句的用法。

器材:PC实验内容:实现1、输入8421BCD码,输出余3码2、设计优先编码器实验结果:a)输入8421BCD码,输出余3码源程序:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity shiyan3 isport(X0,X1,X2,X3:in std_logic;Y0,Y1,Y2,Y3:out std_logic);end;architecture rel_1 of shiyan3 issignal a,b,c,d, e,f,g,h,i,j,k,l,m,n:std_logic;begina<=not X3;b<=not X2;c<=not X1;d<=not X0;e<=a and d;f<=b and c and d;Y0<=e or f;g<=a and c and d;h<=a and X1 and X0 ;Y1<=f or g or h;i<=a and X2 and c and d;j<=b and c and X0;k<=a and b and X1;Y2<=i or j or k;l<=X3 and b and c;m<=a and X2 and X0;n<=a and X2 and X1;Y3<=l or m or n;end;实验结果:b)设计优先编码器源程序:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;use ieee.std_logic_arith.all;entity shiyan4 isport(i:in std_logic_vector(7 downto 0);a:out std_logic_vector(2 downto 0));end;architecture dataflow of shiyan4 isbegina<="111" when I(7)='1'else"110" when I(6)='1'else"101" when I(5)='1'else"100" when I(4)='1'else"011" when I(3)='1'else"010" when I(2)='1'else"001" when I(1)='1'else"000" when I(0)='1'else"111";end;实验结果:实验四:数选器,逻辑运算器实验目的:a)进一步熟悉组合逻辑电路的VHDL描述方法。

i.进一步熟练掌握“case”语句和“if…else…”语句的用法。

ii.掌握数选器、逻辑运算器的组合逻辑电路的设计方法。

器材:PC实验内容:实现1、ABCD的多数表决器2、二位二进制相乘电路实验结果:a)ABCD的多数表决器源程序:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all; entity shiyan5 isport(A,B,C,D:in std_logic;Y:out std_logic);end;architecture rel_1 of shiyan5 is signal e,f,g,h,i,j,k:std_logic; begine<=C and D;f<=A or B;g<=e and f;h<=A and B;i<=C or D;j<=h and i;k<=g or j;Y<=k;end;实验结果:b)二位二进制相乘电路源程序:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all; entity shiyan6 isport(A1,A0,B1,B0:in std_logic;P0,P1,P2,P3:out std_logic);end;architecture rel_1 of shiyan6 is signal e,f,g,h,i,j,k,l:std_logic; begine<= A0 and B0;f<=A1 and B0;g<=A0 and B1;h<=f or g;i<=A1 and B1;j<=A0 nand B0;k<=i and j;l<=e and i;P0<=e;P1<=h;P2<=k;P3<=l;end;实验结果:实验五:显示驱动电路设计实验目的:a)掌握七段译码器的工作原理。

iii.学习显示驱动电路的VHDL描述方法。

iv.了解数码管扫描现实的原理及实现。

器材:PC实验内容:实现1、二位二进制相乘数码管显示电路实验结果:a)二位二进制相乘数码管显示电路源程序:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;use ieee.std_logic_arith.all;entity bb isport(a:in std_logic_vector(3 downto 0);y:out std_logic_vector(6 downto 0)); end;architecture rtl of bb isbeginprocess(a)begincase a iswhen"0000"=>y<="1111110";when"0001"=>y<="0110000";when"0010"=>y<="1101101";when"0011"=>y<="1111001";when"0100"=>y<="0110011";when"0101"=>y<="1011011";when"0110"=>y<="1011111";when"0111"=>y<="1110000";when"1000"=>y<="1111111";when"1001"=>y<="1111011";when"1010"=>y<="1110111";when"1011"=>y<="0011111";when"1100"=>y<="1001110";when"1101"=>y<="0111101";when"1110"=>y<="1001111";when"1111"=>y<="1000111";when others=>y<="ZZZZZZZ";end case;end process;end;实验结果:实验小结:本实验为第二次DEA实验,这次的实验内容相对第一次是比较多的。