CMI符号化およびNRZは、FPGAコードで実装されています

NRZ

NRZは、NRZ(NRZ、非ゼロ復帰)を指し、

CMI

CMI(符号化マーク反転)コードはまた、2つのレベルのバイポーラ符号であり、コードマーク反転略称、同様の二相符号です。コード「11」と「00」と交互に「1」であるルールをコーディングすると、2つのヤードを示し、「0」固定コード「01」を表します

コードの不確実な正しさ、ただの思考

 

1  ///////////////////////////////////////////////// //////// // 
2  //   Module1のテスト(CLKのOUT1、OUT2の、CLK_1、CLK_2、CLK_3のOUT3)
。3  Module1のテスト(CLKのOUT1、OUT2の、のOUT3)
 。4  入力 CLK; // ステートメントハードウェア入力クロック信号
5。 
6。 出力の、OUT3のOUT2のOUT1; // 3つの出力を宣言
7。 
8。 REG =のOUT1 1 'のB0の,. 1 = OUT2 ' B0、=のOUT3 1 'のB0; //は、3つの出力を初期化する
9。 
10  REG [ 40 ] =カウンタ。4 'D0; //数カウンタを学習出力タイミングを初期化する
11。 REG [ 40 ] =カウンタ2 2 'のD0; //初期化CMIコードカウンタ
12は、 REG [ 40 = COUNTER3] 4。' D0、
13は 
14  のREG [ 10 ] = T1 2 ' B00; 
15  REG T0 = 1。'のB0、符号化された中間体の//量
16  REG =のR0 1 'は。B0、R1 = 1 ' B0、R11 = 1 'の中間量をデコードB0 // 
17。 
18であります REG CLK_1 = 1 " B0; 
19  REGの CLK_2 = 1 'のB0。
20  ///////////////////////////////////////////////// ///////////
 21  常に @(posedge CLK)   // 产生240K时钟
22      場合(カウンタ1 == 3 'のD7)が
23          始まる
24個の              カウンタを<= 3 ' D0。
25              CLK_1 <=〜CLK_1。
26          終了 
27の      
28          カウンタ<=カウンタ1 + 1 "D1;            
29  ///////////////////////////////////////////////// /////
 30  常に @(posedge CLK)    // 产生480K时钟
31      であれば(カウンタ2 == 2 'のD3)
32は         開始
33              カウンタ2 <= 2 'のD0と、
34              CLK_2 <=〜CLK_2。
35          端部 
36       
37           カウンタ2 <=カウンタ2 + 1 'はD1; 
38  ///////////////////////////////////////////////// ////////     
39  常に(@posedge CLK_1)   // NRZコード、学生番号を生成0072 
40      IF(COUNTER3 == 4 'のD14)   
41が         始まる
42は              COUNTER3 <= 4 ' D0、
43である              <=のOUT1 。1 ' B0; 
44である         エンド    
45       
さ46          始まる 
47              Casezを(COUNTER3 )
 48                  。4 'のD1011:<= 1のOUT1。' B1;
 49                  4 ' B1000:<= 1のOUT1 ' B1;
 50                  デフォルト:のOUT1 <= 1' ; B0 
51は             ENDCASE 
52である              <+ = COUNTER3 COUNTER3 。1 ' D1; 
53である         エンド      
54は //////////////////////////////// //////////////// // 
55  は、常に @(posedge CLK_2)//   CMIエンコーダ
56である     場合(==のOUT1 。1 ' B0)生徒数が0である場合、//、出力
57で         始まります
58              のiF(T0の== 0// CMIは、2つのように01に0を符号化するので、それはT0が0である場合、第01の出力は、t0は1、出力01であり、フラグT0を取り2。
59                  <=のOUT2 0 ;
 60              
61であります                 <=のOUT2 1 ;
 62である              T0 <=〜T0;
 63である         エンド
64      
65          始まる
66を             IF(T1は、[ 1 ] == 0 67  // 上記と同様、ここで、1 00および11、交互なぜなら、そうフラグビットt1は学生数が1のとき、2で、最初の出力11にしたい、出力は00プラス01で1に続いて出力が0である、01で、
 68  // とき、学校の数1、01プラス01再び当時と10、出力が10プラス01〜11、出力は01 00に追加した後ならば、再度、1であり、1である
69                  <=のOUT2 1 ;
 70              
71である                  <=のOUT2 0 ;
 72              T1 <= T1 + 2 ' B01; 
73れます         終了
74  //////////////////////////////////////////////// ///
 75  必ず @(posedge CLK_2)    //   CMIデコーダ
76      IF(R11 == 1 'のB0)//出力OUT2、符号化のCMI R0とR1に割り当てられた、すなわち、値、およびいずれかが0であることが見出されています符号化結果が0であり、結果は、1の符号化された結果である
77          開始
78              <=(のR0 ^ R1)のOUT3を; // R11は、ここでビット割当フラグOUT2に対応するため、1ビットのみの出力OUT2の出力したがって、R11は0、OUT2のR0、R11は1、R1にOUT2の値の値に
79              <=のR0 OUT2;
 80の              R11 <=〜R11;
 81          エンド
82      
83          開始
84              R1 <=をOUT2;
85の              R11 <=〜R11;    
86          終了
87  
88  ENDMODULE

 

おすすめ

転載: www.cnblogs.com/BugsCreator/p/11264446.html