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
This archive was generated by hypermail 2.1.8 : Fri Sep 08 2006 - 13:00:05 PDT