Apa waktu untuk menggunakan Blok clocking di SystemVerilog?

D

davyzhu

Guest
Hai,

Saya temukan di beberapa SystemVerilog contoh, orang-orang seperti menambahkan Blokir clocking untuk pengemudi dan memantau.Sementara beberapa contoh SV lainnya hanya menggunakan modport (tidak menggunakan Blok clocking).

Jadi saya bingung dengan itu.
1.Apakah rekomendasi untuk menggunakan Blok clocking?
2.Haruskah aku hanya menggunakannya dalam testbench komponen seperti driver dan monitor (akan saya gunakan dalam responder)?Salam,
Davy

 
davyzhu wrote:

Hai,Saya temukan di beberapa SystemVerilog contoh, orang-orang seperti menambahkan Blokir clocking untuk pengemudi dan memantau.
Sementara beberapa contoh SV lainnya hanya menggunakan modport (tidak menggunakan Blok clocking).Jadi saya bingung dengan itu.

1.
Apakah rekomendasi untuk menggunakan Blok clocking?
 
Hi Ajeetha,

Thanks a lot!

Do you mean jika saya tidak menggunakan blok clocking.Aku harus melakukan sesuatu seperti di bawah ini:
@ (posedge CLK)
# 1 data_out = data_in;

Dan jika saya menggunakan blok clocking, saya hanya mendefinisikan # 1 di clocking blok?

Salam,
Davy

 
davyzhu wrote:

Hi Ajeetha,Thanks a lot!Do you mean jika saya tidak menggunakan blok clocking.
Aku harus melakukan sesuatu seperti di bawah ini:

@ (posedge CLK)

# 1 data_out = data_in;Dan jika saya menggunakan blok clocking, saya hanya mendefinisikan # 1 di clocking blok?Salam,

Davy
 
Hi Ajeetha,

Thanks a lot!
Saya membaca "VMMing sebuah SystemVerilog testbench dengan contoh".

Dalam "fifo_cmd_xactor.sv", ada "tugas push_task".Adalah "Dengan Blok clocking" sama dengan "Tanpa clocking Blok" yang berhubungan dengan sinkronisasi data secara manual?

//--- Dengan Blok clocking ---
Kode:

tugas push_task (logika [BIT_DEPTH-1: 0] data);

mulai

$ display ( "% 0T% m Push data% 0h", $ waktu, data);

f_if.driver_cb.data_in <= data;

f_if.driver_cb.push <= 1'b1;

f_if.driver_cb.pop <= 1'b0;

@ (F_if.driver_cb);

f_if.driver_cb.push <= 1'b0;

akhir

endtask: push_task
 
Davy

f_if.driver_cb.push <= 1'b1;
f_if.driver_cb.pop <= 1'b0;

Saya pikir ini tidak nonblockingassignment.
Ini adalah drive clocking assignment.Its r tidak menghalangi non blocking.

 

Welcome to EDABoard.com

Sponsor

Back
Top