VHDL语言实现CMI码的编、译码,在线等,急啊~~

VHDL语言实现CMI码的编、译码,在线等,急啊~~,第1张

回答:laoma133133

新手

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的光纤数字传输系统中被推荐为线路传输码型。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12158915.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存