2017-11-30 5 views
1

私は、書き込み準備ができているデータがあるときにクロックの正のエッジでハイに遷移するデータソース信号を持っています。ポジティブエッジを作成する方法ネガティブエッジパルスにパルスを書き込みますか?

私はまた、同じクロックから走っているRAMメモリを持っていますが、書き込み要求信号がクロックの負のエッジで遷移することを期待しています(クロックの次の負のエッジまでハイに留まります)。

メモリのwr_reqをデータソースから直接駆動しようとすると、クロックとwr_reqの両方が同時に遷移し、メモリが のデータを取得しません。

書き込みパルスがクロックの次のネガティブエッジからハイ(1サイクル)になるように、どのように遅延させることができますか?

+0

1を有効にすることですwrite_enでは、ライターからの確認応答を待ってから、write_enをオフにします。 – Serge

答えて

0

私が正しく理解していれば、これはあなたが欲しいものを行う必要があります。

reg blah; 
always @(negedge clk) begin 
    blah <= !foo; 
end 

あるいは:

模擬
reg blah; 
always @* begin 
    if (!clk) begin 
     blah = !foo; 
    end 
end 

を:

可能な方法の

enter image description here

+0

チャールズが投稿した両方のバージョンに潜在的な競合条件が適用されますか?私はそれを試して、動作します、唯一の調整は、fooはアクティブなハイ信号であるので、上記のシミュレーションではまあまあのように見えるようにするために、私は逆転を取り除かなければなりませんでした。 \t \t assign final_wr_sig = blah&〜blah_dly; 常に@(negedge clk) blah_dly <= blah; – ben

+1

ここに競争状態があるかどうかはわかりません。特に、ノンブロッキング割り当てで。もし存在すれば、私はそれを見逃していて、もう少し詳細を愛するだろう –

関連する問題