デジタル管シフト サイクルはデジタル Verilog コードを表示します ego1 開発ボード

名前: デジタル管シフト サイクル表示デジタル Verilog コード ego1 開発ボード

ソフトウェア: VIVADO

言語: Verilog

コード関数:

EGO1 で 2 セットのデジタル チューブを使用して、8 つのデジタル チューブを周期的に表示します: 01234567、12345678、23456789...。

回路の入力信号 en は開始または一時停止に使用され、ボタンを使用してサイクルを制御し、ボタンを押すと次の一連の数値が表示されます。

FPGA コード Verilog/VHDL コード リソースのダウンロード: www.hdlcode.com

このコードは ego1 開発ボードで検証されています。開発ボードは次のとおりです。他の開発ボードはピン アダプテーションを変更できます:

ego1 開発ボード.png

コードのダウンロード:Nigital チューブ シフト サイクルでデジタル Verilog コードが表示される ego1 開発ボード名前: デジタル チューブ シフト サイクルでデジタル Verilog コードが表示される ego1 開発ボード(コードのダウンロードは記事の最後にあります) ソフトウェア: VIVADO 言語: Verilog コード機能: EGO1 で 2 セットのデジタル チューブを使用して、8 つのデジタル チューブを周期的に表示します: 01234567、12345678、23456789.... 回路の入力信号is en 開始または一時停止。ボタンを使用してサイクルを制御し、1 回押すと次の番号セットが表示されます。 FPGA コード Verilog/VHDL コード リソースのダウンロード: www.hdlcode.com このコードは、icon-default.png?t=N7T8http://www.hdlcode.com/index.php?m=home&c= からダウンロードされています。表示& a=index&aid=312

1. プロジェクト文書

2. プログラムファイル

3. プログラムのコンパイル

4. RTL図

5. ピン割り当て

6. テストベンチ

7. シミュレーション図

シミュレーション全体図

ボタンデバウンスモジュール

ディスプレイモジュール

コード表示の一部:

module Numeric_Display(
入力クロック、//標準クロック、100MHz
入力リセット、//リセット信号、ロー有効 
input SW_en,//有効にする
input shift_key_p,//shift
出力reg[7:0]segment_strobe_1、
Output reg [3:0] bit_strobe_1, //ハイレベル点灯、ハイレベルストローブ
出力reg[7:0]segment_strobe_2、
Output reg [3:0] bit_strobe_2//ハイレベル点灯、ハイレベルストローブ
);
reg [39:0] data_in;//8ビットデータを入力
   常に @(posedge clk または negedge reset)  
   if(リセット==0)
         データ入力<=40'h0123456789;
   else if(SW_en==1)begin//有効にする
      If (shift_key_p)//Shift キーを押してください
         data_in<={data_in[35:0],data_in[39:36]};//移位
   終わり
   reg [15:0] counter=16'd0;   
   いつも @(posedge clk)     
      始める
         if (カウンター == 16'hffff)
            カウンタ<= 16'h0000;
         それ以外
            カウンタ <= カウンタ + 1;// カウント
      終わり
      
reg [3:0] display_data_1; 
reg [3:0] display_data_2; 
//ナイジタルチューブ1ビット選択制御
   いつも @(posedge clk)
      ケース(カウンター[15:14])
         2'd0 : 開始
            display_data_1 <= data_in[31:28];
            bit_strobe_1 <=4'b1000;
            終わり
         2'd1 :開始
            display_data_1 <= data_in[27:24];
            bit_strobe_1 <=4'b0100;
            終わり
         2'd2 :開始
            display_data_1 <= data_in[23:20];
            bit_strobe_1 <=4'b0010;       
            終わり
         2'd3:開始
            display_data_1 <= data_in[19:16];
            bit_strobe_1 <=4'b0001;            
            終わり
      エンドケース

Supongo que te gusta

Origin blog.csdn.net/diaojiangxue/article/details/134656228
Recomendado
Clasificación