【FPGA】ModelSimのTutorial 。。演習5 非同期クリア & クロック・イネーブル付きフリップ・フロップ【Verlog HDの基礎の基礎】

スポンサーリンク
広告

非同期クリア & クロック・イネーブル付きフリップ・フロップ

演習問題もいよいよ最後。。

フリップフロップ ってメモリなどに使われるデジタル回路の定番。

port map はこんな感じ

ff u1 (.aclr(aclr),.clk(clk),.clken(clken),.d(d),.q(q));

動作条件は

if aclr == 0 then  q=0

if aclr == 1 & clken ==1 then q=d

って感じ

module ff ( input aclr,input clk,input clken,input d,output q);
 
   reg q;
 
   always @ (posedge clk)
      case ({aclr,clken})
         2'b00 :  q <= 0;
         2'b01 :  q <= 0;
         2'b10 :  q <= 0;
         2'b11 :  q <= d;
         default: q <= 0;
      endcase
endmodule

かな?って書いてみたけど。。

非同期リセット付き

初めてでも使えるVerilog HDL文法ガイド ―― 記述スタイル編
ここでは,Verilog HDLの文法についておさらいする.Verilog HDL 2001では,それまで文法的にあいまいとされてきた部分な...

ここにあるように。。aclrが0になった瞬間に、clkと非同期に状態が変わらないといけないみたいなので。。

always @(posedge clk or negedge aclr)

としないといけないみたい。

とすると、条件分岐も

 if (aclr == 1'b1)
   q<=1b'0;
else if ( clken == 1'b1)
   q<=d;

って感じか。。

動かしたコードをGithubにおいておきました。

Githubの全体のリポジトリはこちら

tom2rd/VerilogHDL-Modelsim1
Tutorial and Exercises for modelsim verilog - tom2rd/VerilogHDL-Modelsim1

とりあえず、Verilog HDLの練習は、ここまでとしよう。。次はいよいよ。。FPGAに焼いてみるところかな??

本HPのFPGA関係は、こちら

コメントを残していただけるとありがたいです

Loading Facebook Comments ...
%d人のブロガーが「いいね」をつけました。