VERILOG parser¶
The header <lorina/verilog.hpp>
implements methods to parse a very
simplistic version of the VERILOG format.
The class lorina::verilog_reader
provides the following public
member functions.
Function | Description |
---|---|
on_module_header(module_name, inouts) |
Callback method for parsed module header |
on_inputs(inputs) |
Callback method for parsed input declarations |
on_outputs(outputs) |
Callback method for parsed output declarations |
on_wires(wires) |
Callback method for parsed wire declarations |
on_assign(lhs, rhs) |
Callback method for parsed immediate assignment |
on_and(lhs, op1, op2) |
Callback method for parsed AND assignment (with 2 operands) |
on_or(lhs, op1, op2) |
Callback method for parsed OR assignment (with 2 operands) |
on_xor(lhs, op1, op2) |
Callback method for parsed XOR assignment (with 2 operands) |
on_and3(lhs, op1, op2, op3) |
Callback method for parsed AND assignment (with 3 operands) |
on_or3(lhs, op1, op2, op3) |
Callback method for parsed OR assignment (with 3 operands) |
on_xor3(lhs, op1, op2, op3) |
Callback method for parsed XOR assignment (with 3 operands) |
on_maj3(lhs, op1, op2, op3) |
Callback method for parsed MAJ3 assignment |
on_endmodule |
Callback method for parsed end of module |
The following reader functions are available.
Function
|
Description
|
---|---|
read_verilog | Reader function for VERILOG format.
|
read_verilog | Reader function for VERILOG format.
|
-
return_code
lorina
::
read_verilog
(const std::string &filename, const verilog_reader &reader, diagnostic_engine *diag = nullptr)¶ Reader function for VERILOG format.
Reads a simplistic VERILOG format from a file and invokes a callback method for each parsed primitive and each detected parse error.
- Return
- Success if parsing have been successful, or parse error if parsing have failed
- Parameters
filename
: Name of the filereader
: A VERILOG reader with callback methods invoked for parsed primitivesdiag
: An optional diagnostic engine with callback methods for parse errors
-
return_code
lorina
::
read_verilog
(std::istream &in, const verilog_reader &reader, diagnostic_engine *diag = nullptr) Reader function for VERILOG format.
Reads a simplistic VERILOG format from a stream and invokes a callback method for each parsed primitive and each detected parse error.
- Return
- Success if parsing have been successful, or parse error if parsing have failed
- Parameters
in
: Input streamreader
: A VERILOG reader with callback methods invoked for parsed primitivesdiag
: An optional diagnostic engine with callback methods for parse errors