⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ex_p5_29_bcd_8_adder_old.vhd

📁 This is the course for VHDL programming
💻 VHD
字号:
package NIBBLE_PACK is    type NIBBLE is array(3 downto 0)of BIT;    type NIBBLE_ARRAY is array (integer range<>) of NIBBLE;    function conv_NIB_BV(x:NIBBLE) return BIT_VECTOR;    function conv_BV_NIB(x:BIT_VECTOR) return NIBBLE;end NIBBLE_PACK;package body NIBBLE_PACK is    function conv_NIB_BV(x:NIBBLE)       return BIT_VECTOR is      variable bv:bit_vector(3 downto 0);    begin       for i in 0 to 3 loop          bv(i) := x(i);      end loop;      return bv;  end conv_NIB_BV;   function conv_BV_NIB(x:BIT_VECTOR)       return NIBBLE is      variable n:nibble;    begin       for i in 0 to 3 loop          n(i) := x(i);      end loop;      return n;  end conv_BV_NIB;end NIBBLE_PACK;use work.NIBBLE_PACK.all;entity BCD_8_ADDER is    port(NA,NB: in NIBBLE_ARRAY(7 downto 0);        Ci : in BIT;        NS : out NIBBLE_ARRAY(7 downto 0);        co : out BIT);end BCD_8_ADDER;architecture struct of BCD_8_ADDER is   signal c: BIT_VECTOR(8 downto 0);   component BCD_A is	   port(nib_x,nib_y:in NIBBLE;	        ci:in BIT;	        nib_sum: out NIBBLE;	        co:out BIT);   end component;   for all:BCD_A use entity work.BCD_A(struct)      port map(x  => conv_NIB_BV(nib_x),               y  => conv_NIB_BV(nib_y),               ci => ci,               conv_BV_NIB(sum) => nib_sum,               co => co);begin    c(0) <= ci; co <= c(8);    G:for i in 0 to 7 generate    B:BCD_A        port map(NA(i),NB(i),c(i),NS(i),c(i+1));    end generate;end struct;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -