8位补码器设计

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

八位补码器设计实验报告

一、功能描述

将八位二进制数除最高位(符号位)取反得到反码,然后反码加一得到补码;正数的原码、反码、补码都相同。

例如:原码反码补码

00011010 00011010 00011010 (正数)

10011010 11100101 11100110 (负数)

二、元件及其VHDL代码

补码器代码

library ieee;

use ieee.std_logic_1164.all;

use ieee.std_logic_unsigned.all;

entity complement is

port (a: in std_logic_vector (7 downto 0); --定义输入数据a(7..0)

b: out std_logic_vector (7 downto 0)); --定义输出数据b(7..0)

end complement;

architecture behave of complement is

begin

process (a)

begin

if (a (7) ='0' ) then b<=a; --当输入数据为正数,实现正数补码运算

else b<='1'& (not a (6 downto 0) + '1' ); --当输入数据为负数,实现负数补码运算

end if;

end process;

end behave;

相关文档
最新文档