verilog記述のポイント:複雑な組み合わせ回路にfunctionを使用する
設計内容分類 | verilog記述 |
---|
設計のポイント
複雑な組み合わせ回路の場合、
functionを使用してifやcaseを用いて記述します。
function [7:0] decoder
input [2:0] in;
input en;
begin
if(en == 1’b1) begin
case (in)
3’b000: decoder = 8’b11111110;
3’b001: decoder = 8’b11111101;
3’b010: decoder = 8’b11111011;
3’b011: decoder = 8’b11110111;
3’b100: decoder = 8’b11101111;
3’b101: decoder = 8’b11011111;
3’b110: decoder = 8’b10111111;
3’b111: decoder = 8’b01111111;
default: decoder = 8’b11111111;
endcase
end else begin
decoder = 8’b11111111;
end
end
endfunction
補足情報
設計のポイント 一覧
FPGA設計のポイント
- verilog記述のポイント:always内の出力はできる限り少なくする
- 定数のビット幅明示
- FPGAによるスキャンコンバータの実装
- ストリーミングデータ参照による高速演算処理
- FPGAによるLCDコントローラの実装
- USB HS FIFOによる高速計測アプリケーションの実装
- verilog記述のポイント:連接演算子を使う
- verilog記述のポイント:複雑な組み合わせ回路にfunctionを使用する
- verilog記述のポイント:wireとregの違い
- verilog記述のポイント:双方向ピン(inout)を使用する
- verilog記述のポイント:モジュールの接続
- verilog記述のポイント:output regを使用する
- verilog記述のポイント:定数にparameterを使う
- verilog記述のポイント:二次元配列
- verilog記述のポイント:ブロッキング・ノンブロッキング
- DCFIFOによりクロックが異なる回路を接続し、開発リードタイム短縮
- PC搭載システムのダウンサイジング
- 複数のSPIデバイスの同時制御
- ソフトコアプロセッサ使用によるマイコンとゲートアレイのワンチップ化
- FPGA利用によるCPU負荷の削減