新手
5月7日 19:30 下面是一四位加法器:
library IEEE
use IEEE.std_logic_1164.all
use IEEE.std_logic_arith.all
use IEEE.std_logic_unsigned.all
entity ADDER1 is
port
( A : in UNSIGNED (3 downto 0)
B : in UNSIGNED (3 downto 0)
Cin : in STD_LOGIC
BCDout : out STD_LOGIC_VECTOR (3 downto 0)
Cout : out STD_LOGIC
)
end ADDER1
architecture ARCH of ADDER1 is
SIGNAL Y,C: STD_LOGIC_VECTOR (3 downto 0)
begin
Y(0) <= A(0) XOR B(0) XOR Cin
Y(1) <= A(1) XOR B(1) XOR C(0)
Y(2) <= A(2) XOR B(2) XOR C(1)
Y(3) <= A(3) XOR B(3) XOR C(2)
C(0) <= (Cin AND A(0)) OR (Cin AND B(0)) OR (A(0) AND B(0))
C(1) <= (C(0) AND A(1)) OR (C(0) AND B(1)) OR (A(1) AND B(1))
C(2) <= (C(1) AND A(2)) OR (C(1) AND B(2)) OR (A(2) AND B(2))
C(3) <= (C(2) AND A(3)) OR (C(2) AND B(3)) OR (A(3) AND B(3))
BCDout <= Y(3) &Y(2) &Y(1) &Y(0)
Cout <= C(3)
end ARCH
NRZ码是单极性不归零码,是最基本的数字基带编码,编码规则是:用高电平表示基带中的"1";用低电平表示基带中"0"。CMI编码的编码规则是:用交替的"11"和"00"两位表示基带中的一位"1";用"01"表示基带中的一位"0",例如,基带编码为"1001001"用CMI编码则为"11010100010111"。CMI(Coded Mark Inversion)码是传号反转码的简称,与双相码类似,它也是一种双极性二电平码。其编码规则是“1”码交替用“11”和“00”两位码表示;“0”码固定地用“01”表示。CMI码易于实现,含有丰富的定时信息。此外,由于10为禁用码组,不会出现三个以上的连码,这个规律可以用来宏观检错。该码已被ITU-T推荐为PCM四次群的接口码型,有时也用在速率低于8.44Mb/s的光缆传输系统中。
CMI又称传号反转码,是一种二电平非归零码。其中“0”码用固定的负、正电平表示,“1”码用交替的正、负电平表示。具有以下优点:(1)不存在直流分量,且低频分量较小;(2)信息码流中具有很强的时钟分量,便于从信号中提取时钟信息;(3)具有一定的检错能力。因此,在高次群的PCM系统中作为接口的码型,在速率低于8 848 kb/s的光纤数字传输系统中被推荐为线路传输码型。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)