《采用VHDL层次化设计一个四位全减器.doc》由会员分享,可在线阅读,更多相关《采用VHDL层次化设计一个四位全减器.doc(17页珍藏版)》请在金锄头文库上搜索。
1、采用VHDL层次化文件设计一个四位全减器一、实训目的1.巩固VHDL层次化文件设计方法。2.培养应用VHDL层次化文件设计法的技能。二、实训器材计算机与Quartus 工具软件。三、实训指导(一)实训原理4位二进制减法器由4个全减器构成,而全减器又由一个半减器和一个或门构成,半减器的真值表如表4-1所示:表4-1 半减器的真值表输入输出a1b1s1c10000011110101100半减器的逻辑表达式为:s1=NOT(a1 XOR(NOT b1)c1=(NOT a1) AND b1一位全减器的真值表如表4-2所示:表4-2 一位全减器的真值表c_ini1i2fsc_out00000001110
2、10100110010011101011100011111(二)实训步骤1.电路模块划分根据算法分析,4位二进制减法器可由4个全减器构成,画出其原理方框图。全减器的原理方框图如图4-1所示。而每个全减器又可划分为一个半减器和一个或门这两个更小的模块,画出其原理方框图。4位二进制减法器的原理方框图如图4-2所示。图4-1 一位全减器原理方框图图4-2 4位二进制减法器原理框图2.设计底层设计文件(1)设计半减器文件halfsub.vhd。(2)设计或门电路文件orgate.vhd。(3)设计全减器电路文件fullsub.vhd,其中把半减器和或门电路文件作为元件调用。3.设计顶层设计文件设计顶层
3、设计文件sub4.vhd,其中把全减器文件作为元件调用。VHDL代码如下:halfsub.vhd文件代码如下:ENTITY halfsub IS PORT(a1,b1:IN BIT; s1,c1:OUT BIT);END halfsub;ARCHITECTURE a OF halfsub ISBEGIN PROCESS(a1,b1) BEGIN s1=NOT(a1 XOR(NOT b1) AFTER 10ns; c1=(NOT a1) AND b1 AFTER 10 ns; END PROCESS;END a;orgate.vhd文件代码如下:ENTITY orgate IS PORT(a,b
4、:IN BIT; o:OUT BIT);END orgate;ARCHITECTURE a OF orgate ISBEGIN o=a OR b;END a;fullsub.vhd文件代码如下:ENTITY fullsub IS PORT(i1,i2,c_in:IN BIT; fs,c_out:OUT BIT);END fullsub;ARCHITECTURE a OF fullsub IS SIGNAL temp_s,temp_c1,temp_c2:BIT;COMPONENT halfsub PORT(a1,b1:IN BIT; s1,c1:OUT BIT);END COMPONENT;CO
5、MPONENT orgate PORT(a,b:IN BIT; o:OUT BIT);END COMPONENT;BEGIN U0:halfsub PORT MAP(i1,i2,temp_s,temp_c1); U1:halfsub PORT MAP(temp_s,c_in,fs,temp_c2); U2:orgate PORT MAP(temp_c1,temp_c2,c_out);END a;sub4.vhd文件代码如下:ENTITY sub4 IS PORT(a,b:IN BIT_VECTOR(3 DOWNTO 0); cin:IN BIT; fs:OUT BIT_VECTOR(3 DOW
6、NTO 0); cout:OUT BIT);END sub4;ARCHITECTURE a OF sub4 IS SIGNAL temp_co0,temp_co1,temp_co2:BIT; COMPONENT fullsub IS PORT(i1,i2,c_in:IN BIT; fs,c_out:OUT BIT); END COMPONENT; BEGIN U0:fullsub PORT MAP(a(0),b(0),cin,fs(0),temp_co0); U1:fullsub PORT MAP(a(1),b(1),temp_co0,fs(1),temp_co1); U2:fullsub P
7、ORT MAP(a(2),b(2),temp_co1,fs(2),temp_co2); U3:fullsub PORT MAP(a(3),b(3),temp_co2,fs(3),cout);END a; 1. 编译顶层设计文件把以上各个模块的VHDL设计文件放入同一个文件夹中,以顶层文件建立工程,直接编译顶层文件同时也就编译各个底层模块文件。若有错误,则加以纠正,直到通过为止。2. 仿真顶层设计文件最后,仿真顶层文件,若发现功能错误,应检查其原因,并加以纠正。4位二进制减法器的仿真图如图4-3所示:图4-3 4位二进制减法器仿真波形图广州珍珠岩,广州珍珠岩厂 http:/ Ce57uICIJeu8