https://www.verific.com/faq/index.php?title=Statically_elaborate_with_different_values_of_parameters&feed=atom&action=history
Statically elaborate with different values of parameters - Revision history
2024-03-29T00:36:50Z
Revision history for this page on the wiki
MediaWiki 1.26.3
https://www.verific.com/faq/index.php?title=Statically_elaborate_with_different_values_of_parameters&diff=748&oldid=prev
Hoa at 19:38, 27 October 2021
2021-10-27T19:38:51Z
<p></p>
<table class='diff diff-contentalign-left'>
<col class='diff-marker' />
<col class='diff-content' />
<col class='diff-marker' />
<col class='diff-content' />
<tr style='vertical-align: top;' lang='en'>
<td colspan='2' style="background-color: white; color:black; text-align: center;">← Older revision</td>
<td colspan='2' style="background-color: white; color:black; text-align: center;">Revision as of 19:38, 27 October 2021</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l16" >Line 16:</td>
<td colspan="2" class="diff-lineno">Line 16:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>int main(<del class="diffchange diffchange-inline">int argc, char **argv</del>)</div></td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>int main()</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>{</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>{</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>     const char *file_name = "test.sv" ;</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>     const char *file_name = "test.sv" ;</div></td></tr>
</table>
Hoa
https://www.verific.com/faq/index.php?title=Statically_elaborate_with_different_values_of_parameters&diff=366&oldid=prev
Hoa: Created page with "C++: <nowiki> #include "VeriCopy.h" // Make class VeriMapForCopy available #include "Map.h" // Make class Map available #include "Message.h" // Make m..."
2019-03-04T23:48:41Z
<p>Created page with "C++: <nowiki> #include "VeriCopy.h" // Make class VeriMapForCopy available #include "Map.h" // Make class Map available #include "Message.h" // Make m..."</p>
<p><b>New page</b></p><div>C++:<br />
<nowiki><br />
#include "VeriCopy.h" // Make class VeriMapForCopy available<br />
#include "Map.h" // Make class Map available<br />
#include "Message.h" // Make message handlers available<br />
#include "veri_file.h" // Make verilog reader available<br />
#include "VeriModule.h" // Definition of a VeriModule and VeriPrimitive<br />
#include "VeriLibrary.h"<br />
#include "Array.h" // Make class Array available<br />
#include "VeriId.h" // Definitions of all verilog identifier nodes<br />
#include "Strings.h" // Definition of class to manipulate copy, concatenate, create etc...<br />
<br />
#ifdef VERIFIC_NAMESPACE<br />
using namespace Verific ;<br />
#endif<br />
<br />
<br />
int main(int argc, char **argv)<br />
{<br />
const char *file_name = "test.sv" ;<br />
<br />
if (!veri_file::Analyze(file_name, veri_file::SYSTEM_VERILOG)) return 1 ;<br />
<br />
// Get all the top level modules<br />
Array *all_top_modules = veri_file::GetTopModules("work") ;<br />
<br />
Map *param_map = new Map(STRING_HASH) ;<br />
// Apply set only module 'top1'<br />
(void) param_map->Insert("top1/p", "8") ;<br />
<br />
// Pass parameter map to set new value to parameter 'p' of module 'top1' only <br />
if (!veri_file::ElaborateMultipleTopStatic(all_top_modules, param_map)) {<br />
delete param_map ;<br />
return 1 ;<br />
}<br />
delete all_top_modules ;<br />
param_map->Reset() ;<br />
<br />
veri_file::PrettyPrint("test1_se_pp.v.golden.new", 0, 0) ;<br />
veri_file::ResetParser() ;<br />
<br />
if (!veri_file::Analyze(file_name, veri_file::SYSTEM_VERILOG)) return 1 ;<br />
<br />
// Get all the top level modules<br />
all_top_modules = veri_file::GetTopModules("work") ;<br />
<br />
// Apply to all top level modules<br />
(void) param_map->Insert("p", "18") ;<br />
<br />
// Pass parameter map to set new value to parameter 'p' of module 'top1' and 'top2' <br />
if (!veri_file::ElaborateMultipleTopStatic(all_top_modules, param_map)) {<br />
delete param_map ;<br />
return 1 ;<br />
}<br />
delete all_top_modules ;<br />
<br />
veri_file::PrettyPrint("test2_se_pp.v.golden.new", 0, 0) ;<br />
delete param_map ;<br />
<br />
<br />
return 0 ;<br />
}<br />
</nowiki><br />
<br />
input test.sv:<br />
<nowiki><br />
module top1 ;<br />
parameter p = 1 ;<br />
<br />
endmodule<br />
<br />
module top2 ;<br />
parameter p = 1 ;<br />
endmodule<br />
</nowiki><br />
<br />
output test1_se_pp.v.golden.new<br />
<nowiki><br />
module top1 /* mod = work.top1 */ ;<br />
parameter p = 1 ; <br />
endmodule<br />
<br />
<br />
<br />
module top2 /* mod = work.top2 */ ;<br />
parameter p = 1 ; <br />
endmodule<br />
<br />
<br />
<br />
module \top1(p=8) /* mod = work.top1(p=8) */ ;<br />
parameter p = 8 ; <br />
endmodule<br />
</nowiki><br />
<br />
output test2_se_pp.v.golden.new<br />
<nowiki><br />
module top1 /* mod = work.top1 */ ;<br />
parameter p = 1 ; <br />
endmodule<br />
<br />
<br />
<br />
module top2 /* mod = work.top2 */ ;<br />
parameter p = 1 ; <br />
endmodule<br />
<br />
<br />
<br />
module \top1(p=18) /* mod = work.top1(p=18) */ ;<br />
parameter p = 18 ; <br />
endmodule<br />
<br />
<br />
<br />
module \top2(p=18) /* mod = work.top2(p=18) */ ;<br />
parameter p = 18 ; <br />
endmodule<br />
</nowiki></div>
Hoa