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

📄 prbs_bit.tdf

📁 伪随机图案发生器设计实例
💻 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 + -