<?xml version="1.0" ?>
<rss version="2.0">

	<channel>
		<title>New to SV</title>
		<link>http://www.svug.org/Forum/tabid/57/forumid/21/view/topics/Default.aspx</link>
		<description>2 original posts</description>
		<language>en-US</language>
		<generator>ActiveForums  3.6</generator>
		<copyright>Copyright 2008 by SystemVerilog User Group</copyright>
		<webMaster>admin@svug.org</webMaster>
		<item>
			<title>Randomisation &amp; overconstrained classes</title>
			<description>Hello, &lt;br&gt;  &lt;br&gt; I am trying to determine whether a set of dynamic constraints (i.e., they are based on a couple of state variables that may change during simulation) I have placed inside a class in my testbench is over-constrained. &lt;br&gt;  &lt;br&gt; The only solution I have found so far is to invoke randomize() and test for its result but this produces a lot of &quot;over-constrained class&quot; output that I don't want. &lt;br&gt;  &lt;br&gt; Is there a different function I can call to check whether the class is over-constrained? &lt;br&gt;  &lt;br&gt; Another alternative I was considering (but so far unsuccessful) would be to re-direct the output temporarily to /dev/nul while I call randomize() and then restore it to stdout. Is there a way of doing this in SystemVerilog? &lt;br&gt;  &lt;br&gt; Any other suggestions/ideas would be greatly appreciated. &lt;br&gt;  &lt;br&gt; Cheers, &lt;br&gt;  &lt;br&gt; Juan</description>
			<link>http://www.svug.org/Forum/tabid/57/forumid/21/postid/1236/view/topic/Default.aspx</link>
			<author>jiperna</author>
			<pubDate>Fri, 09 Jul 2010 09:29:48 GMT</pubDate>
		</item>
		<item>
			<title>Generalized code for varied DATA_WIDTH parameter</title>
			<description>How to generalize the data access for all possible data width (parameter DATA_WIDTH) for the following code: &lt;br&gt;  &lt;br&gt;  &lt;br&gt; logic [DATA_WIDTH/2-1:0] d_pos[0:3]; &lt;br&gt; logic [DATA_WIDTH/2-1:0] d_neg[0:3]; &lt;br&gt; logic [DATA_WIDTH-1:0] wdat[0:3]; &lt;br&gt;  &lt;br&gt; for (int i=0; i&lt;4; i++) begin &lt;br&gt;   fork  &lt;br&gt;     begin:U0 &lt;br&gt;         @posedge clk; &lt;br&gt;         d_pos&lt;i&gt;[7:0] = m_if.dat[7:0]  ;  //dat is IF port &lt;br&gt;         @negedge clk; &lt;br&gt;         d_neg&lt;i&gt;[7:0] = m_if.data[7:0]; &lt;br&gt;     end &lt;br&gt;     begin: U1 &lt;br&gt;         @posedge clk; &lt;br&gt;         d_pos&lt;i&gt;[15:8] = m_if.dat[15:8]  ;  //dat is IF port &lt;br&gt;         @negedge clk; &lt;br&gt;         d_neg&lt;i&gt;[15:8] = m_if.data[15:8]; &lt;br&gt;     end &lt;br&gt;  &lt;br&gt;     begin:U2 &lt;br&gt;         @posedge clk; &lt;br&gt;         d_pos&lt;i&gt;[7:0] = m_if.dat[23:16]  ;  //dat is IF port &lt;br&gt;         @negedge clk; &lt;br&gt;         d_neg&lt;i&gt;[23:16] = m_if.data[23:16]; &lt;br&gt;     end &lt;br&gt;     begin: U3 &lt;br&gt;         @posedge clk; &lt;br&gt;         d_pos&lt;i&gt;[31:24] = m_if.dat[31:24]  ;  //dat is IF port &lt;br&gt;         @negedge clk; &lt;br&gt;         d_neg&lt;i&gt;[31:24] = m_if.data[31:24]; &lt;br&gt;     end &lt;br&gt;   join &lt;br&gt;    wdata&lt;i&gt;= {d_neg&lt;i&gt;,d_pos&lt;i&gt;}; &lt;br&gt; end //end of for loop &lt;br&gt;  &lt;br&gt; Now, the above work for DATA_WIDTH = 64. But if the parameter is changed to 128 or 144 or any other value, then the number of threads to be spawned inside fork-join will increase. For eg, for DATA_WIDTH=128, 8 threads (U0 - U7) need to be explicitly written. &lt;br&gt;  &lt;br&gt; Can we somehow generalize this code for all possible DATA_WIDTH parameter value? &lt;br&gt; </description>
			<link>http://www.svug.org/Forum/tabid/57/forumid/21/postid/1188/view/topic/Default.aspx</link>
			<author>ajit.myth</author>
			<pubDate>Thu, 04 Mar 2010 02:04:01 GMT</pubDate>
		</item>
		<item>
			<title>Strings </title>
			<description>Hi Friends, &lt;br&gt;           I'm new with SystemVerilog and need your help. I'll try my best to explain what I want to do. &lt;br&gt; I have a string variable that is holding a path pointing to a module that contains different Ages (with Names as fields), for example, &lt;br&gt;  &lt;br&gt; string namesPath = &quot;top.people.&quot;; &lt;br&gt; foreach(age[j]) begin &lt;br&gt; ---- &lt;br&gt; ---- &lt;br&gt; end  &lt;br&gt;  &lt;br&gt;  &lt;br&gt; I will select an age (on each loop iteration) from the queue &quot;age&quot; and then randomly select a name under the selected age. I want to place this age and name at the end of the path &quot;namesPath&quot; to get to the name (and do some operation on it).  &lt;br&gt;  &lt;br&gt; A complete namesPath should look like this format, &lt;br&gt;       top.people.ten_nancy &lt;br&gt; where, the selected age was &quot;ten&quot; and random name was &quot;nancy&quot;. &lt;br&gt;  &lt;br&gt; Can you please suggest how this can be accumplished? &lt;br&gt; Please reply asap. &lt;br&gt;  &lt;br&gt; Thanks&lt;img src=&quot;/DesktopModules/NTForums/themes/blue/emoticons/smile.gif&quot; align=absmiddle alt=&quot;:)&quot; border=0&gt;!!</description>
			<link>http://www.svug.org/Forum/tabid/57/forumid/21/postid/1068/view/topic/Default.aspx</link>
			<author>daylitemoon</author>
			<pubDate>Sun, 13 Sep 2009 15:12:29 GMT</pubDate>
		</item>
		<item>
			<title>SV Assertion Example</title>
			<description>Hello, &lt;br&gt;  &lt;br&gt; I am new to SV and i was going through a very simple example in design and assertion techniques in SV.  I have made 3 modules,  clkgen, counter2 and top (where i call the counter and clkgen modules and run the simulation from) and i am using QuestaSim 6.3c to create and run the simulations.  I have created a sequence, property and asserted the property but i get an error when i try to compile and simulate the top design.  The error is &quot;The sva directive is not sensitive to a clock. Unclocked directives are not supported.&quot; The sequence, however, is being stimulated (sensitive) by a clock so i don't quite understand what i am doing wrong. Here is the code to my top design &lt;br&gt;  &lt;br&gt; module top; &lt;br&gt;  &lt;br&gt;    /* Make a reset that pulses once. */ &lt;br&gt;    reg reset = 0; &lt;br&gt;    initial begin &lt;br&gt;       # 17 reset = 1; &lt;br&gt;       # 11 reset = 0; &lt;br&gt;       # 29 reset = 1; &lt;br&gt;       # 11 reset = 0; &lt;br&gt;       # 2500 $stop; &lt;br&gt;    end &lt;br&gt;  &lt;br&gt;    wire [7:0] value; &lt;br&gt;    wire clk; &lt;br&gt;    logic [7:0] overflow = '1; &lt;br&gt;     &lt;br&gt;    clkgen1 clk1 (clk); &lt;br&gt;    counter2 c1 (value, clk, reset); &lt;br&gt;  &lt;br&gt; /*	sequence s1; &lt;br&gt; 		@(posedge clk) value === overflow;  &lt;br&gt; 		endsequence &lt;br&gt; 		 &lt;br&gt; 		property p1; &lt;br&gt; 			not s1; &lt;br&gt; 		endproperty		*/ &lt;br&gt; 		 &lt;br&gt; 		a1 : assert property(not (@(posedge clk) value === overflow)); &lt;br&gt; 		 &lt;br&gt;    initial $monitor(&quot;At time %t, value = %h (%0d)&quot;, &lt;br&gt;                     $time, value, value); &lt;br&gt; endmodule // top &lt;br&gt;  &lt;br&gt; The commented out sequence s1...is what i originally had and so i decided to try the assert method another way.  I am just trying to get an idea of how the assertion statements work by testing to see if the counter ever overflows (which it does) and what the simulator tells me when this assert statement fails when it does. &lt;br&gt; I have been reading &quot;A practical Guide for SystemVerilog Assertions&quot; and i feel i have made the calls correctly, but i might be missing some things because i am new &lt;img src=&quot;/DesktopModules/NTForums/themes/blue/emoticons/blush.gif&quot; align=absmiddle alt=&quot;:blush:&quot; border=0&gt; Can anyone help me with this problem? Is there something i am missing? &lt;br&gt;  &lt;br&gt; Thank you all so much. &lt;br&gt;  &lt;br&gt; Hector</description>
			<link>http://www.svug.org/Forum/tabid/57/forumid/21/postid/810/view/topic/Default.aspx</link>
			<author>yitolin</author>
			<pubDate>Fri, 10 Oct 2008 12:09:37 GMT</pubDate>
		</item>
		<item>
			<title>How to see class properties in vcs</title>
			<description>&lt;P&gt;Hi&amp;nbsp; ,&lt;/P&gt;
&lt;P&gt;&amp;nbsp; I am new to system verilog and using classes in my current project .&lt;/P&gt;
&lt;P&gt;&amp;nbsp; Right now , to see class properties i am&amp;nbsp; assigning it to some debug signal or using $display .But this is very tedious .&lt;/P&gt;
&lt;P&gt;&amp;nbsp; So , please let me know how to view the class variables in tools like VCS .&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Regards&lt;/P&gt;
&lt;P&gt;Rohit&lt;/P&gt;</description>
			<link>http://www.svug.org/Forum/tabid/57/forumid/21/postid/108/view/topic/Default.aspx</link>
			<author>Rohit</author>
			<pubDate>Wed, 27 Jun 2007 03:05:47 GMT</pubDate>
		</item>
		<item>
			<title>Any equivalent of AHB eVC in system verilog</title>
			<description>&lt;P&gt;Hi,&lt;/P&gt;
&lt;P&gt;I am new to this user group. Good to be part of this group.&lt;/P&gt;
&lt;P&gt;I would like to know if any verification component is available in System Verilog similar to AHB eVC in specman.&lt;/P&gt;
&lt;P&gt;Thanks in Advance.&lt;/P&gt;
&lt;P&gt;Rgds,&lt;/P&gt;
&lt;P&gt;Dan&lt;/P&gt;</description>
			<link>http://www.svug.org/Forum/tabid/57/forumid/21/postid/98/view/topic/Default.aspx</link>
			<author>danyuk7</author>
			<pubDate>Wed, 09 May 2007 09:15:16 GMT</pubDate>
		</item>
		<item>
			<title>An Example to Learn SystemVerilog</title>
			<description>&lt;P&gt;In specman there is an example used to learn e usage &quot;sbt_router&quot;. Is there any such example in systemverilog?&lt;/P&gt;
&lt;P&gt;Is there any website where a sample project using systemverilog is explained?&lt;/P&gt;
&lt;P&gt;Thanks.&lt;/P&gt;</description>
			<link>http://www.svug.org/Forum/tabid/57/forumid/21/postid/91/view/topic/Default.aspx</link>
			<author>dblore</author>
			<pubDate>Wed, 02 May 2007 07:43:02 GMT</pubDate>
		</item>
		<item>
			<title>Original Post: prathishnair</title>
			<description>hi friends, I am new to system verilog and would anyone please tell me which are some of the good books to refer for learning system verilog. </description>
			<link>http://www.svug.org/Forum/tabid/57/forumid/21/postid/36/view/topic/Default.aspx</link>
			<author>forum admin</author>
			<pubDate>Fri, 27 Apr 2007 17:21:09 GMT</pubDate>
		</item>
	</channel></rss>