The Designer's Guide Community Forum
https://designers-guide.org/forum/YaBB.pl
Design Languages >> Verilog-AMS >> Parallel computation in Verilog-a
https://designers-guide.org/forum/YaBB.pl?num=1474284170

Message started by Sitansu on Sep 19th, 2016, 4:22am

Title: Parallel computation in Verilog-a
Post by Sitansu on Sep 19th, 2016, 4:22am

Can I use fork-join statement in verilogA?
I want to compute following statements  simultaneously as they are independent of each other .  Can I use fork-join statement or is there any other way to compute them in parallel?

I20= $table_model(v20,v30,v40,v2_pt,v3_pt,v4_pt,i2);      
I30= $table_model(v20,v30,v40,v2_pt,v3_pt,v4_pt,i3);      
I40= $table_model(v20,v30,v40,v2_pt,v3_pt,v4_pt,i4);

Charge2= $table_model(v20,v30,v40,v2_pt,v3_pt,v4_pt,Cap_2);      
Charge3= $table_model(v20,v30,v40,v2_pt,v3_pt,v4_pt,Cap_3);      
Charge4= $table_model(v20,v30,v40,v2_pt,v3_pt,v4_pt,Cap_4);      

Title: Re: Parallel computation in Verilog-a
Post by Geoffrey_Coram on Sep 19th, 2016, 10:05am

No, I've never seen fork-join used in analog.  Is the table model that expensive to evaluate?  (Are you missing the table model data source?)

The only way to get them in parallel, I think, is to split them into three separate modules and expect the simulator to evaluate them in parallel.

Title: Re: Parallel computation in Verilog-a
Post by Sitansu on Sep 19th, 2016, 10:16pm

Yes, table model is very expensive to evaluate. Time taken by table method is found to be 10 times more than expected value. I had already checked with three separate module, but that didn't help me.

Title: Re: Parallel computation in Verilog-a
Post by Geoffrey_Coram on Sep 20th, 2016, 5:31am

I would check with your simulator vendor to see if their R&D group can look at why the table model is so expensive.  Eg, maybe they're re-opening the file every time (not likely, but that would explain the issue).  Maybe they've never seen a 7-dimensional table, and they optimized for 2- and 3-d tables.

Title: Re: Parallel computation in Verilog-a
Post by Sitansu on Sep 20th, 2016, 11:15pm

Someone earlier had also asked in this forum "Why $table_model is taking more time to solve in cadence spectre"?
It is three dimensional data. not 7d. First three columns represents bias points of three different terminals, next three column represents bias point stores in table and last column is the parameter to be calculated.

Title: Re: Parallel computation in Verilog-a
Post by Geoffrey_Coram on Sep 21st, 2016, 8:20am

Can you make the call take only 3 inputs, if it's really only 3d?  That could make a big difference in the time to evaluate the $table_model.  If you make the last argument a constant instead of a variable, that might also help (the simulator may have to build all the tables in case the value of the last argument changes).

The Designer's Guide Community Forum » Powered by YaBB 2.2.2!
YaBB © 2000-2008. All Rights Reserved.