Difference between revisions of "Notes on analysis"

From Verific Design Automation FAQ
Jump to: navigation, search
(Created page with "This is a place holder for notes regarding analysis of System Verilog designs. Can I use veri_file::Analyze to read SV input files one by one? Yes. But if you have multiple...")
 
Line 1: Line 1:
 
This is a place holder for notes regarding analysis of System Verilog designs.
 
This is a place holder for notes regarding analysis of System Verilog designs.
  
Can I use veri_file::Analyze to read SV input files one by one?
+
First, please read
 +
 
 +
''Can I use veri_file::Analyze to read System Verilog input files one by one?''
 
   
 
   
 
Yes. But if you have multiple files, it’s better to use veri_file::AnalyzeMultipleFiles().
 
Yes. But if you have multiple files, it’s better to use veri_file::AnalyzeMultipleFiles().
Line 7: Line 9:
 
veri_file::AnalyzeMultipleFiles(), besides analyzing each files, also:
 
veri_file::AnalyzeMultipleFiles(), besides analyzing each files, also:
 
   
 
   
- opens and ends the compilation unit
+
* opens and ends the compilation unit
- processes –v and –y options
+
* processes –v and –y options
- removes include directories
+
* removes include directories
- processes root module
+
* processes root module
- undefines user-defined macros
+
* undefines user-defined macros
- resets compile directives (e.g. `default_nettype, `timescale)
+
* resets compile directives (e.g. `default_nettype, `timescale)
 
   
 
   
If you use veri_file::Analyze() to analyze files one by one. After parsing all the files and before elaboration, you’ll need to call:
+
If you use veri_file::Analyze() to analyze files one by one, after parsing all the files and before elaboration, you’ll need to call these APIs:
 
   
 
   
- veri_file::ProcessUserLibraries()
+
* veri_file::ProcessUserLibraries()
- veri_file::RemoveAllIncludeDirs()
+
* veri_file::RemoveAllIncludeDirs()
- veri_file::EndCompilationUnit ()
+
* veri_file::EndCompilationUnit ()

Revision as of 10:31, 9 July 2021

This is a place holder for notes regarding analysis of System Verilog designs.

First, please read

Can I use veri_file::Analyze to read System Verilog input files one by one?

Yes. But if you have multiple files, it’s better to use veri_file::AnalyzeMultipleFiles().

veri_file::AnalyzeMultipleFiles(), besides analyzing each files, also:

  • opens and ends the compilation unit
  • processes –v and –y options
  • removes include directories
  • processes root module
  • undefines user-defined macros
  • resets compile directives (e.g. `default_nettype, `timescale)

If you use veri_file::Analyze() to analyze files one by one, after parsing all the files and before elaboration, you’ll need to call these APIs:

  • veri_file::ProcessUserLibraries()
  • veri_file::RemoveAllIncludeDirs()
  • veri_file::EndCompilationUnit ()