1
私がalwas_combとalways_offの両方を最初のモジュールで実行しているのであれば?SystemVerilogでどのプロシージャブロックが最初に実行されるのですか?
たとえば、このコードを本で見たことがありますが、その機能について混乱しています。たとえば、WE = 0の場合は、の値になります。Qout?
module SyncRAM #(parameter M = 4, N = 8)(output logic [N-1:0] Qout,
input logic [M-1:0] Address, input logic [N-1:0] Data, input logic clk, WE);
logic [N-1:0] mem [0:(1<<M)-1];
always_comb
Qout = mem[Address];
always_ff @(posedge clk)
if (~WE)
mem[Address] <= Data;
endmodule
このコードの真理値表に関するすべてのヘルプは高く評価され、あなたの質問に に関して
私が正しく理解している場合、WEが0の場合、Qoutは以前の値を保持し、mem [Address]は更新されます。 ありがとうございます。次のクロック・サイクルで、更新されたmem [Address]がWE = 0またはWE = 1のQoutに割り当てられます。そうですか – user42037
@ user42037申し訳ありません。私は完全なナンセンスを話していた。 (それは朝早すぎるはずです)私は自分の答えを編集しました。 –