kdrag.contrib.yosys
Functions
|
|
|
|
|
Classes
|
|
|
Data defining a functional model of a verilog module as a (input, state) -> (output, state) function. |
|
A relational model of a verilog module using yosys write_smt2 backend |
- class kdrag.contrib.yosys.SmtModInfo(inputs: set = <factory>, outputs: set = <factory>, registers: set = <factory>, memories: dict = <factory>, wires: set = <factory>, wsize: dict = <factory>, clocks: dict = <factory>, cells: dict = <factory>, asserts: dict = <factory>, assumes: dict = <factory>, covers: dict = <factory>, maximize: set = <factory>, minimize: set = <factory>, anyconsts: dict = <factory>, anyseqs: dict = <factory>, allconsts: dict = <factory>, allseqs: dict = <factory>, asize: dict = <factory>, witness: list = <factory>)
Bases:
object
- Parameters:
inputs (set)
outputs (set)
registers (set)
memories (dict)
wires (set)
wsize (dict)
clocks (dict)
cells (dict)
asserts (dict)
assumes (dict)
covers (dict)
maximize (set)
minimize (set)
anyconsts (dict)
anyseqs (dict)
allconsts (dict)
allseqs (dict)
asize (dict)
witness (list)
- allconsts: dict
- allseqs: dict
- anyconsts: dict
- anyseqs: dict
- asize: dict
- asserts: dict
- assumes: dict
- cells: dict
- clocks: dict
- covers: dict
- inputs: set
- maximize: set
- memories: dict
- minimize: set
- outputs: set
- registers: set
- wires: set
- witness: list
- wsize: dict
- class kdrag.contrib.yosys.VerilogModule(input_sort: SortRef, output_sort: SortRef, state_sort: SortRef, init_constrs: list[ExprRef], trans_fun: FuncDeclRef)
Bases:
object
Data defining a functional model of a verilog module as a (input, state) -> (output, state) function. The fields of the inputs are <module_name>_Inputs_<wire_name> The output of the transition function is a pair`trans_fun(inputs,state).first` is the output Struct and trans_fun(inputs,state).second is the state Struct The fields of the outputs are <module_name>_Outputs_<wire_name>
- Parameters:
input_sort (SortRef)
output_sort (SortRef)
state_sort (SortRef)
init_constrs (list[ExprRef])
trans_fun (FuncDeclRef)
- classmethod from_file(mod_name, verilog_filename)
- init_constrs: list[ExprRef]
- input_sort: SortRef
- output_sort: SortRef
- state_sort: SortRef
- trans_fun: FuncDeclRef
- class kdrag.contrib.yosys.VerilogModuleRel(name: str, state_sort: SortRef, trans: FuncDeclRef, init: FuncDeclRef, init_unconstr: FuncDeclRef, asserts: FuncDeclRef, assumes: FuncDeclRef, wires: dict[str, FuncDeclRef])
Bases:
object
A relational model of a verilog module using yosys write_smt2 backend
- Parameters:
name (str)
state_sort (SortRef)
trans (FuncDeclRef)
init (FuncDeclRef)
init_unconstr (FuncDeclRef)
asserts (FuncDeclRef)
assumes (FuncDeclRef)
wires (dict[str, FuncDeclRef])
- asserts: FuncDeclRef
- assumes: FuncDeclRef
- classmethod from_file(name: str, wire_names: list[str], filepath: str)
- Parameters:
name (str)
wire_names (list[str])
filepath (str)
- init: FuncDeclRef
- init_unconstr: FuncDeclRef
- name: str
- state_sort: SortRef
- trans: FuncDeclRef
- wires: dict[str, FuncDeclRef]
- kdrag.contrib.yosys.call_yosys_functional(mod_name, verilog_filename)
- kdrag.contrib.yosys.read_yosys_relational(filepath: str) str
- Parameters:
filepath (str)
- Return type:
str
- kdrag.contrib.yosys.smt_metadata(filename)