名前: デジタル管シフト サイクル表示デジタル Verilog コード ego1 開発ボード
ソフトウェア: VIVADO
言語: Verilog
コード関数:
EGO1 で 2 セットのデジタル チューブを使用して、8 つのデジタル チューブを周期的に表示します: 01234567、12345678、23456789...。
回路の入力信号 en は開始または一時停止に使用され、ボタンを使用してサイクルを制御し、ボタンを押すと次の一連の数値が表示されます。
FPGA コード Verilog/VHDL コード リソースのダウンロード: www.hdlcode.com
このコードは ego1 開発ボードで検証されています。開発ボードは次のとおりです。他の開発ボードはピン アダプテーションを変更できます:
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; 終わり エンドケース