《EDA技术实用教程(第五版)》习题答案(第1~10章)--潘

ENTITY g_5_cmp IS

PORT( d_in : IN STD_LOGIC_VECTOR(3 DOWNTO 0); --输入数据

cmp_out : OUT STD_LOGIC); --比较输出(1:输入数据>5) END g_5_cmp;

ARCHITECTURE BHV OF g_5_cmp IS BEGIN

PROCESS(d_in) BEGIN

IF(d_in>\

cmp_out<='1'; --输入数据大于5,比较输出1。 else

cmp_out<='0'; --输入数据小于等于5,比较输出0。 END IF;

END PROCESS; END BHV;

3-7 利用if语句设计一个全加器。 --3-7 利用if语句设计一个全加器

LIBRARY IEEE; --1位二进制全加器顶层设计描述 USE IEEE.STD_LOGIC_1164.ALL;

USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY f_adder IS

PORT (ain,bin,cin : IN STD_LOGIC; cout,sum : OUT STD_LOGIC ); END ENTITY f_adder;

ARCHITECTURE fd1 OF f_adder IS BEGIN

PROCESS (ain,bin,cin) BEGIN

IF ain='1' XOR bin='1' XOR cin='1' THEN sum<='1'; ELSE sum<='0'; END IF;

IF (ain='1' AND bin='1')OR(ain='1' AND cin='1')OR(bin='1' AND cin='1')OR(ain='1' AND bin='1' AND cin='1')

THEN cout<='1'; ELSE cout<='0'; END IF;

END PROCESS;

END ARCHITECTURE fd1;

3-8 设计一个求补码的程序,输入数据是一个有符号的8位二进制数。 --解:3-8 设计一个求补码的程序,输入数据是一个有符号的8位二进制数。 LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY org_patch IS

PORT( org_data : IN STD_LOGIC_VECTOR(7 DOWNTO 0);--原码输入 patch_data : OUT STD_LOGIC_VECTOR(7 DOWNTO 0));--补码输出

END org_patch;

ARCHITECTURE BHV OF org_patch IS BEGIN

PROCESS(org_data) BEGIN

IF(org_data(7)='0') THEN

patch_data<=org_data; --org_data>=0,补码=原码。 else

>>展开全文<<
12@gma联系客服:779662525#qq.com(#替换为@)