Kas laiks izmantot Clocking bloks SystemVerilog?

D

davyzhu

Guest
Čau,

Es atradu dažās SystemVerilog piemērus, patīk pievienot Clocking Block vadītāja un jāuzrauga.Savukārt dažas SV piemēri izmantot tikai modport (nelietojiet Clocking bloks).

Tāpēc es esmu ar to sajaukt.
1.Tas ir ieteikums izmantot Clocking Block?
2.Vai man tikai izmantot to testbench komponents, piemēram, vadītāja un monitors (lai es to izmantot responder)?Ar laba vēlējumiem,
Davy

 
davyzhu wrote:

Čau,Es atradu dažās SystemVerilog piemērus, patīk pievienot Clocking Block vadītāja un jāuzrauga.
Savukārt dažas SV piemēri izmantot tikai modport (nelietojiet Clocking bloks).Tāpēc es esmu ar to sajaukt.

1.
Tas ir ieteikums izmantot Clocking Block?
 
Hi Ajeetha,

Thanks a lot!

Vai jūs domājāt, ja es neizmanto clocking bloks.Man ir jādara kaut kas, piemēram, šādi:
@ (posedge clk)
# 1 data_out = data_in;

Un ja es izmantot clocking bloks, es tikai define # 1 clocking bloku?

Ar laba vēlējumiem,
Davy

 
davyzhu wrote:

Hi Ajeetha,Thanks a lot!Vai jūs domājāt, ja es neizmanto clocking bloks.
Man ir jādara kaut kas, piemēram, šādi:

@ (posedge clk)

# 1 data_out = data_in;Un ja es izmantot clocking bloks, es tikai define # 1 clocking bloku?Ar laba vēlējumiem,

Davy
 
Hi Ajeetha,

Thanks a lot!
Es esmu lasījums jūsu "VMMing SystemVerilog testbench pēc piemēra.

In "fifo_cmd_xactor.sv", ir "uzdevumu push_task".Vai "Ar Clocking Block" vienāds "Bez Clocking Block", kas nodarbojas ar datu sinhronizāciju ar rokām?

//--- Ar Clocking Block ---
Kods:

uzdevums push_task (loģika [BIT_DEPTH-1: 0] data);

sākt

$ displejs ( "% 0T% m Push datus% 0h", $ laiks, dati);

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;

beigas

endtask: push_task
 
Davy

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

Es domāju, ka tas nav nonblockingassignment.
Tas ir clocking drive assignment.Its nebloķē r non bloķēšanu.

 

Welcome to EDABoard.com

Sponsor

Back
Top