kdrag.printers.verilog
Functions
| 
 | Produces a pure combinatorial module in Verilog. | 
| 
 | |
| 
 | Convert an SMT-LIB expression to a Verilog expression. | 
- kdrag.printers.verilog.to_verilog(modname: str, ins: list[ExprRef], outs: dict[ExprRef, ExprRef]) str
- Produces a pure combinatorial module in Verilog. - >>> x,y,z = smt.Consts("x y z", smt.BitVecSort(8)) >>> a,b,c = smt.Consts("a b c", smt.BoolSort()) >>> print(to_verilog("foo", [x, y], {a: smt.ULE(x + y, 17), z: x & y})) // Generated by knuckledragger module foo ( input [7:0] x, input [7:0] y, output a, output [7:0] z ); assign a = ((x + y) <= 8'd17); assign z = (x & y); endmodule - Parameters:
- modname (str) 
- ins (list[ExprRef]) 
- outs (dict[ExprRef, ExprRef]) 
 
- Return type:
- str 
 
- kdrag.printers.verilog.verilog_decl(v: ExprRef) str
- Parameters:
- v (ExprRef) 
- Return type:
- str 
 
- kdrag.printers.verilog.verilog_of_expr(expr: ExprRef) str
- Convert an SMT-LIB expression to a Verilog expression. - >>> x,y,z = smt.Consts("x y z", smt.BitVecSort(8)) >>> a,b,c = smt.Consts("a b c", smt.BoolSort()) >>> verilog_of_expr(x + y + z) '((x + y) + z)' >>> verilog_of_expr(smt.Concat(x, y, z)) '{{x, y}, z}' >>> verilog_of_expr(a & True) "(a && 1'b1)" - Parameters:
- expr (ExprRef) 
- Return type:
- str