Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

RTL auto code generation

Status
Not open for further replies.

ctzof

Full Member level 3
Joined
Mar 1, 2012
Messages
157
Helped
12
Reputation
24
Reaction score
11
Trophy points
1,298
Location
Munich
Activity points
2,516
Hello,

I was thinking about an RTL auto code generation based on parsing existing code. Suppose for example that I have a list of modules and each of them has some test ports. I want to be able to parse all this modules collect all this test signals and crate a new module (at least top level in the beginning) which will include all those signals. What would be the best solution for this (scripting, language, tool)? For example I was thinking Python or bash scripting but I would like to hear other opinions.
 

I would say use Python or Perl.
Bash shell scripting would be more complicated compared to the above two.
 

I would say use Python or Perl.
Bash shell scripting would be more complicated compared to the above two.

Python should be fine, perl too. If you need to understand the full syntax of a verilog file then go with something more complex like lex/yacc parse in C++.
 

Well scripting in any language should be fine, however, there are licensed tools from synopsys to generate top level RTL and provide connectivity solution as well. Tool name is synopsys coreTool.
However, that being said for a smaller project, scripting should be fine. Limitation will be making the script versatile enough to understand all Verilog and SystemVerilog syntax and making it future proof.
 

Thanks for the answers. Can anybody recommend a good reference for Python, for text parsing and auto code generation to start with?
 

The normal thing is "start with regex". Look into "groups" first.
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top