帮忙看下这个8位全减器的VHDL代码~

来源:百度知道 编辑:UC知道 时间:2024/05/12 07:03:44
老师布置的题目,用例化语句用1位半减器构成一位全减器,之后再构成8位全减器。有三个组件:h_suber,一位半减器,f_suber,一位全减器,f_suber8,8位全减器。
现在前两个函数波形仿真都正确,f_suber8网表电路看上去没问题,当函数仿真确不正确,希望有高手解答,答的好有加分~

另附VHDL代码:
--h_suber
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
ENTITY h_suber IS
PORT(x,y: IN STD_LOGIC;
diff,s_out:OUT STD_LOGIC);
END h_suber;
ARCHITECTURE behav OF h_suber IS
BEGIN
diff<=x XOR y;
s_out<=(NOT x) AND y;
END behav;
--end h_suber
--f_suber
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
ENTITY f_suber is
PORT(fx,fy,sub_in:IN STD_LOGIC;
diffr,sub_out:OUT STD_LOGIC);
END ENTITY f_suber;
ARCHITECTURE behav OF f_suber IS
COMPONENT h_suber
PORT(x,y : IN STD_LOGIC;
diff,s_out:OUT STD_LOGIC);
END COMPONENT;
SIGNAL a,b,c : STD_LOGIC;
BEGIN
u1:h_suber PORT MAP(x=>fx,y=>fy,diff=>a,s_out=>b);
u2:h_suber PORT MAP(x=>a,y=>sub_in,diff=>dif

一位全减器模块f_suber你真的仿真通过了吗?
注意这一句sub_out<=b AND c; 应为sub_out<=b OR c;

在f_suber8里端口映射的时候应该用generate语句,
这样对一个几十位的减法器就不用写几十次端口映射了

一位全减器模块f_suber你真的仿真通过了吗?