📄 prbs_bit.tdf
字号:
--以下的程序是按比特方式产生伪随机图案,对于该程序中不同图案的选择采用不同的使能信号来控制
--//////////////////////////////////////////////////////////////////////////////////////////////////////////// // 该电路为按比特方式产生伪随机码电路; //
--// 该电路的输入信号为 en_9,en_10,en_11,en_15,en_20,en_23 和 clock 信号; //
--// 其输出为 prbs_bit_9,prbs_bit_10,prbs_bit_11,prbs_bit_15,prbs_bit_20,prbs_bit_23 信号; //
--////////////////////////////////////////////////////////////////////////////////////////////////////////////
SUBDESIGN prbs_bit -- 设计实体名;
(
clock,en_9,en_10,en_11,en_15,en_20,en_23 : INPUT;
prbs_bit_9,prbs_bit_10,prbs_bit_11,prbs_bit_15,prbs_bit_20,prbs_bit_23: OUTPUT;
)
VARIABLE
m[22..0]:DFF; -- 说明一个 D 触发组;
BEGIN
IF en_9 THEN --PRBS图案产生,n=9
m[].clk=clock;
IF (m[8..0]!=H"0") THEN
m[7..0].d=m[8..1];
m[8].d=m[4] xor m[0];
ELSE
m[0].d=VCC;
END IF;
prbs_bit_9=m[0];
END IF;
IF en_10 THEN --PRBS图案产生,n=10
m[].clk=clock;
IF (m[9..0]!=H"0") THEN
m[8..0].d=m[9..1];
m[9].d=m[3] xor m[0];
ELSE
m[0].d=VCC;
END IF;
END IF;
prbs_bit_10=!m[0];
IF en_11 THEN --PRBS图案产生,n=11
m[].clk=clock;
IF (m[10..0]!=H"0") THEN
m[9..0].d=m[10..1];
m[10].d=m[2] xor m[0];
ELSE
m[0].d=VCC;
END IF;
END IF;
prbs_bit_11=m[0];
IF en_15 THEN --PRBS图案产生,n=15
m[].clk=clock;
IF (m[14..0]!=H"0") THEN
m[13..0].d=m[14..1];
m[14].d=m[1] xor m[0];
ELSE
m[0].d=VCC;
END IF;
END IF;
prbs_bit_15=!m[0];
IF en_20 THEN --PRBS图案产生,n=20
m[].clk=clock;
IF (m[19..0]!=H"0") THEN
m[18..0].d=m[19..1];
m[19].d=m[3] xor m[0];
ELSE
m[0].d=VCC;
END IF;
END IF;
prbs_bit_20=m[0];
IF en_23 THEN --PRBS图案产生,n=23
m[].clk=clock;
IF (m[22..0]!=H"0") THEN
m[21..0].d=m[22..1];
m[22].d=m[5] xor m[0];
ELSE
m[0].d=VCC;
END IF;
END IF;
prbs_bit_23=!m[0];
END;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -