打印

关于数据位扩展的问题

[复制链接]
1120|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
snowtx|  楼主 | 2008-5-4 10:21 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
ST, ic, logic, AD, ni
今天看到一个程序,两个8位带符号数相加,要考虑到数据位扩展的问题,程序如下:

library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_signed.all;

entity Add2In is
   port( D1:in std_logic_vector(7 downto 0);
         D2:in std_logic_vector(7 downto 0);
         Q :out std_logic_vector(8 downto 0);
         Clk: in std_logic);
end Add2In;

architecture A_Add2In of Add2In is
begin
  process(Clk)
  begin
      if Clk = '1' and Clk'event then 
         Q <= (D1(D1'left)&D1)+(D2(D2'left)&D2);
      end if;
  end process;
end A_Add2In;

里边的Q <= (D1(D1'left)&D1)+(D2(D2'left)&D2);这句应该是数据位扩展,但我怎么也看不明白这个语句是怎么组合的,请大家指教一下,谢谢!

相关帖子

沙发
cbutterfly| | 2008-5-4 16:16 | 只看该作者

画个真值表,卡诺图吧

画个真值表,卡诺图吧
    大学里学的东东还是值得怀念的

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

20

主题

66

帖子

0

粉丝