[sv-ec] Clocking Block Examples

From: Clifford E. Cummings <cliffc_at_.....>
Date: Fri Sep 08 2006 - 12:59:10 PDT
Hi, All -

I would like to discuss Mantis 890 on our conference call on Monday. 
I will be sending out an updated proposal this weekend (hopefully 
sooner rather than later).

I have carried on some side discussions with various individuals on 
clocking blocks and there seems to be disagreement on a few 
fundamentals. I have attached some examples and shown what I believe 
is the expected output at the bottom of each example.

Although there are a number of issues related to clocking blocks and 
programs (to be addressed in the updated proposal), one fundamental 
issue is whether or not a program variable that is included in a 
clocking block creates a single program variable -OR- a program 
variable and a second cb.variable. I believe it is the former and 
that shows up in my examples.

I do not believe a clocking block creates a second copy of the 
variable that would require both the program variable and cb.variable 
to both be assigned under some circumstances (plus the clocking block 
does not give size or type information).

IMO - a clocking block prefix is still referencing the same program 
variable but with different timing - the clocking block provides a 
nice shorthand to specify sample times of the program variable inputs 
and inouts and drive times to program variable outputs and inouts. I 
have found disagreement on this point.

IMO - clocking block prefixes are similar to interface usage. Dave 
Rich corrected me three years ago, pointing out that an interface is 
only instantiated once, and that other modules that reference the 
interface from a module header are simply accessing the instantiated 
copy of the interface variables with a local-module prefix. In much 
the same way, I believe a program variable is created once in the 
program and that a clocking block uses a prefix to access that same 
variable with clocking-block-specified timing.

I need to know what the group consensus is on this point before 
continuing to make further proposals.

Regards - Cliff

----------------------------------------------------
Cliff Cummings - Sunburst Design, Inc.
14314 SW Allen Blvd., PMB 501, Beaverton, OR 97005
Phone: 503-641-8446 / FAX: 503-641-8486
cliffc@sunburst-design.com / www.sunburst-design.com
Expert Verilog, SystemVerilog, Synthesis and Verification Training


Received on Fri Sep 8 12:59:32 2006

This archive was generated by hypermail 2.1.8 : Fri Sep 08 2006 - 13:00:05 PDT