-
-
Save eddyb/d957f88bee75a8fffde3fb9b4e1781a7 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Automatically generated by nMigen 0.1.dev1+g6765021.dirty. Do not edit. | |
attribute \generator "nMigen" | |
attribute \nmigen.hierarchy "top.uart" | |
module \uart | |
attribute \src "/home/eddy/Projects/halogen/uart.py:21" | |
wire width 1 input 0 \rx_i | |
attribute \src "/home/eddy/Projects/halogen/uart.py:20" | |
wire width 1 output 1 \tx_o | |
attribute \src "/home/eddy/Projects/halogen/uart.py:30" | |
wire width 1 output 2 \rx_rdy | |
attribute \src "/home/eddy/Projects/halogen/uart.py:30" | |
wire width 1 \rx_rdy$next | |
attribute \src "/home/eddy/Projects/halogen/uart.py:31" | |
wire width 1 input 3 \rx_ack | |
attribute \src "/home/eddy/Projects/halogen/uart.py:27" | |
wire width 8 output 4 \rx_data | |
attribute \src "/home/eddy/Projects/halogen/uart.py:24" | |
wire width 1 input 5 \tx_rdy | |
attribute \src "/home/eddy/Projects/halogen/uart.py:23" | |
wire width 8 input 6 \tx_data | |
attribute \src "/home/eddy/Projects/halogen/uart.py:25" | |
wire width 1 output 7 \tx_ack | |
attribute \src "nmigen/vendor/lattice_ice40.py:364" | |
wire width 1 input 8 \rst | |
attribute \src "nmigen/vendor/lattice_ice40.py:364" | |
wire width 1 input 9 \clk | |
attribute \src "/home/eddy/Projects/halogen/uart.py:37" | |
wire width 10 \tx_shreg | |
attribute \src "/home/eddy/Projects/halogen/uart.py:37" | |
wire width 10 \tx_shreg$next | |
process $group_0 | |
assign \tx_o 1'0 | |
assign \tx_o \tx_shreg [0] | |
sync init | |
end | |
attribute \src "/home/eddy/Projects/halogen/uart.py:38" | |
wire width 4 \tx_count | |
attribute \src "/home/eddy/Projects/halogen/uart.py:38" | |
wire width 4 \tx_count$next | |
attribute \src "/home/eddy/Projects/halogen/uart.py:41" | |
wire width 1 $1 | |
attribute \src "/home/eddy/Projects/halogen/uart.py:41" | |
cell $eq $2 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 3'100 | |
parameter \B_SIGNED 1'0 | |
parameter \B_WIDTH 1'1 | |
parameter \Y_WIDTH 1'1 | |
connect \A \tx_count | |
connect \B 1'0 | |
connect \Y $1 | |
end | |
process $group_1 | |
assign \tx_ack 1'0 | |
attribute \src "/home/eddy/Projects/halogen/uart.py:41" | |
switch { $1 } | |
attribute \src "/home/eddy/Projects/halogen/uart.py:41" | |
case 1'1 | |
assign \tx_ack 1'1 | |
attribute \src "/home/eddy/Projects/halogen/uart.py:49" | |
case | |
end | |
sync init | |
end | |
attribute \src "/home/eddy/Projects/halogen/uart.py:41" | |
wire width 1 $3 | |
attribute \src "/home/eddy/Projects/halogen/uart.py:41" | |
cell $eq $4 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 3'100 | |
parameter \B_SIGNED 1'0 | |
parameter \B_WIDTH 1'1 | |
parameter \Y_WIDTH 1'1 | |
connect \A \tx_count | |
connect \B 1'0 | |
connect \Y $3 | |
end | |
attribute \src "/home/eddy/Projects/halogen/uart.py:36" | |
wire width 7 \tx_phase | |
attribute \src "/home/eddy/Projects/halogen/uart.py:36" | |
wire width 7 \tx_phase$next | |
attribute \src "/home/eddy/Projects/halogen/uart.py:50" | |
wire width 1 $5 | |
attribute \src "/home/eddy/Projects/halogen/uart.py:50" | |
cell $ne $6 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 3'111 | |
parameter \B_SIGNED 1'0 | |
parameter \B_WIDTH 1'1 | |
parameter \Y_WIDTH 1'1 | |
connect \A \tx_phase | |
connect \B 1'0 | |
connect \Y $5 | |
end | |
process $group_2 | |
assign \tx_shreg$next \tx_shreg | |
attribute \src "/home/eddy/Projects/halogen/uart.py:41" | |
switch { $3 } | |
attribute \src "/home/eddy/Projects/halogen/uart.py:41" | |
case 1'1 | |
attribute \src "/home/eddy/Projects/halogen/uart.py:43" | |
switch { \tx_rdy } | |
attribute \src "/home/eddy/Projects/halogen/uart.py:43" | |
case 1'1 | |
assign \tx_shreg$next { 1'1 \tx_data 1'0 } | |
end | |
attribute \src "/home/eddy/Projects/halogen/uart.py:49" | |
case | |
attribute \src "/home/eddy/Projects/halogen/uart.py:50" | |
switch { $5 } | |
attribute \src "/home/eddy/Projects/halogen/uart.py:50" | |
case 1'1 | |
attribute \src "/home/eddy/Projects/halogen/uart.py:52" | |
case | |
assign \tx_shreg$next { 1'1 \tx_shreg [9:1] } | |
end | |
end | |
attribute \src "nmigen/hdl/xfrm.py:528" | |
switch \rst | |
case 1'1 | |
assign \tx_shreg$next 10'1111111111 | |
end | |
sync init | |
update \tx_shreg 10'1111111111 | |
sync posedge \clk | |
update \tx_shreg \tx_shreg$next | |
end | |
attribute \src "/home/eddy/Projects/halogen/uart.py:41" | |
wire width 1 $7 | |
attribute \src "/home/eddy/Projects/halogen/uart.py:41" | |
cell $eq $8 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 3'100 | |
parameter \B_SIGNED 1'0 | |
parameter \B_WIDTH 1'1 | |
parameter \Y_WIDTH 1'1 | |
connect \A \tx_count | |
connect \B 1'0 | |
connect \Y $7 | |
end | |
attribute \src "/home/eddy/Projects/halogen/uart.py:50" | |
wire width 1 $9 | |
attribute \src "/home/eddy/Projects/halogen/uart.py:50" | |
cell $ne $10 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 3'111 | |
parameter \B_SIGNED 1'0 | |
parameter \B_WIDTH 1'1 | |
parameter \Y_WIDTH 1'1 | |
connect \A \tx_phase | |
connect \B 1'0 | |
connect \Y $9 | |
end | |
attribute \src "/home/eddy/Projects/halogen/uart.py:55" | |
wire width 5 $11 | |
attribute \src "/home/eddy/Projects/halogen/uart.py:55" | |
wire width 5 $12 | |
attribute \src "/home/eddy/Projects/halogen/uart.py:55" | |
cell $sub $13 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 3'100 | |
parameter \B_SIGNED 1'0 | |
parameter \B_WIDTH 1'1 | |
parameter \Y_WIDTH 3'101 | |
connect \A \tx_count | |
connect \B 1'1 | |
connect \Y $12 | |
end | |
connect $11 $12 | |
process $group_3 | |
assign \tx_count$next \tx_count | |
attribute \src "/home/eddy/Projects/halogen/uart.py:41" | |
switch { $7 } | |
attribute \src "/home/eddy/Projects/halogen/uart.py:41" | |
case 1'1 | |
attribute \src "/home/eddy/Projects/halogen/uart.py:43" | |
switch { \tx_rdy } | |
attribute \src "/home/eddy/Projects/halogen/uart.py:43" | |
case 1'1 | |
assign \tx_count$next 4'1010 | |
end | |
attribute \src "/home/eddy/Projects/halogen/uart.py:49" | |
case | |
attribute \src "/home/eddy/Projects/halogen/uart.py:50" | |
switch { $9 } | |
attribute \src "/home/eddy/Projects/halogen/uart.py:50" | |
case 1'1 | |
attribute \src "/home/eddy/Projects/halogen/uart.py:52" | |
case | |
assign \tx_count$next $11 [3:0] | |
end | |
end | |
attribute \src "nmigen/hdl/xfrm.py:528" | |
switch \rst | |
case 1'1 | |
assign \tx_count$next 4'0000 | |
end | |
sync init | |
update \tx_count 4'0000 | |
sync posedge \clk | |
update \tx_count \tx_count$next | |
end | |
attribute \src "/home/eddy/Projects/halogen/uart.py:41" | |
wire width 1 $14 | |
attribute \src "/home/eddy/Projects/halogen/uart.py:41" | |
cell $eq $15 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 3'100 | |
parameter \B_SIGNED 1'0 | |
parameter \B_WIDTH 1'1 | |
parameter \Y_WIDTH 1'1 | |
connect \A \tx_count | |
connect \B 1'0 | |
connect \Y $14 | |
end | |
attribute \src "/home/eddy/Projects/halogen/uart.py:50" | |
wire width 1 $16 | |
attribute \src "/home/eddy/Projects/halogen/uart.py:50" | |
cell $ne $17 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 3'111 | |
parameter \B_SIGNED 1'0 | |
parameter \B_WIDTH 1'1 | |
parameter \Y_WIDTH 1'1 | |
connect \A \tx_phase | |
connect \B 1'0 | |
connect \Y $16 | |
end | |
attribute \src "/home/eddy/Projects/halogen/uart.py:51" | |
wire width 8 $18 | |
attribute \src "/home/eddy/Projects/halogen/uart.py:51" | |
wire width 8 $19 | |
attribute \src "/home/eddy/Projects/halogen/uart.py:51" | |
cell $sub $20 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 3'111 | |
parameter \B_SIGNED 1'0 | |
parameter \B_WIDTH 1'1 | |
parameter \Y_WIDTH 4'1000 | |
connect \A \tx_phase | |
connect \B 1'1 | |
connect \Y $19 | |
end | |
connect $18 $19 | |
process $group_4 | |
assign \tx_phase$next \tx_phase | |
attribute \src "/home/eddy/Projects/halogen/uart.py:41" | |
switch { $14 } | |
attribute \src "/home/eddy/Projects/halogen/uart.py:41" | |
case 1'1 | |
attribute \src "/home/eddy/Projects/halogen/uart.py:43" | |
switch { \tx_rdy } | |
attribute \src "/home/eddy/Projects/halogen/uart.py:43" | |
case 1'1 | |
assign \tx_phase$next 7'1100111 | |
end | |
attribute \src "/home/eddy/Projects/halogen/uart.py:49" | |
case | |
attribute \src "/home/eddy/Projects/halogen/uart.py:50" | |
switch { $16 } | |
attribute \src "/home/eddy/Projects/halogen/uart.py:50" | |
case 1'1 | |
assign \tx_phase$next $18 [6:0] | |
attribute \src "/home/eddy/Projects/halogen/uart.py:52" | |
case | |
assign \tx_phase$next 7'1100111 | |
end | |
end | |
attribute \src "nmigen/hdl/xfrm.py:528" | |
switch \rst | |
case 1'1 | |
assign \tx_phase$next 7'0000000 | |
end | |
sync init | |
update \tx_phase 7'0000000 | |
sync posedge \clk | |
update \tx_phase \tx_phase$next | |
end | |
attribute \src "/home/eddy/Projects/halogen/uart.py:60" | |
wire width 10 \rx_shreg | |
attribute \src "/home/eddy/Projects/halogen/uart.py:60" | |
wire width 10 \rx_shreg$next | |
process $group_5 | |
assign \rx_data 8'00000000 | |
assign \rx_data \rx_shreg [8:1] | |
sync init | |
end | |
attribute \src "/home/eddy/Projects/halogen/uart.py:28" | |
wire width 1 \rx_err | |
attribute \src "/home/eddy/Projects/halogen/uart.py:61" | |
wire width 4 \rx_count | |
attribute \src "/home/eddy/Projects/halogen/uart.py:61" | |
wire width 4 \rx_count$next | |
attribute \src "/home/eddy/Projects/halogen/uart.py:64" | |
wire width 1 $21 | |
attribute \src "/home/eddy/Projects/halogen/uart.py:64" | |
cell $eq $22 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 3'100 | |
parameter \B_SIGNED 1'0 | |
parameter \B_WIDTH 1'1 | |
parameter \Y_WIDTH 1'1 | |
connect \A \rx_count | |
connect \B 1'0 | |
connect \Y $21 | |
end | |
attribute \src "/home/eddy/Projects/halogen/uart.py:65" | |
wire width 1 $23 | |
attribute \src "/home/eddy/Projects/halogen/uart.py:65" | |
wire width 1 $24 | |
attribute \src "/home/eddy/Projects/halogen/uart.py:65" | |
cell $not $25 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 1'1 | |
parameter \Y_WIDTH 1'1 | |
connect \A \rx_shreg [0] | |
connect \Y $24 | |
end | |
attribute \src "/home/eddy/Projects/halogen/uart.py:65" | |
wire width 1 $26 | |
attribute \src "/home/eddy/Projects/halogen/uart.py:65" | |
cell $and $27 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 1'1 | |
parameter \B_SIGNED 1'0 | |
parameter \B_WIDTH 1'1 | |
parameter \Y_WIDTH 1'1 | |
connect \A $24 | |
connect \B \rx_shreg [9] | |
connect \Y $26 | |
end | |
attribute \src "/home/eddy/Projects/halogen/uart.py:65" | |
cell $not $28 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 1'1 | |
parameter \Y_WIDTH 1'1 | |
connect \A $26 | |
connect \Y $23 | |
end | |
process $group_6 | |
assign \rx_err 1'0 | |
attribute \src "/home/eddy/Projects/halogen/uart.py:64" | |
switch { $21 } | |
attribute \src "/home/eddy/Projects/halogen/uart.py:64" | |
case 1'1 | |
assign \rx_err $23 | |
attribute \src "/home/eddy/Projects/halogen/uart.py:76" | |
case | |
end | |
sync init | |
end | |
attribute \src "/home/eddy/Projects/halogen/uart.py:64" | |
wire width 1 $29 | |
attribute \src "/home/eddy/Projects/halogen/uart.py:64" | |
cell $eq $30 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 3'100 | |
parameter \B_SIGNED 1'0 | |
parameter \B_WIDTH 1'1 | |
parameter \Y_WIDTH 1'1 | |
connect \A \rx_count | |
connect \B 1'0 | |
connect \Y $29 | |
end | |
attribute \src "/home/eddy/Projects/halogen/uart.py:66" | |
wire width 1 $31 | |
attribute \src "/home/eddy/Projects/halogen/uart.py:66" | |
cell $not $32 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 1'1 | |
parameter \Y_WIDTH 1'1 | |
connect \A \rx_i | |
connect \Y $31 | |
end | |
attribute \src "/home/eddy/Projects/halogen/uart.py:67" | |
wire width 1 $33 | |
attribute \src "/home/eddy/Projects/halogen/uart.py:67" | |
cell $not $34 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 1'1 | |
parameter \Y_WIDTH 1'1 | |
connect \A \rx_rdy | |
connect \Y $33 | |
end | |
attribute \src "/home/eddy/Projects/halogen/uart.py:67" | |
wire width 1 $35 | |
attribute \src "/home/eddy/Projects/halogen/uart.py:67" | |
cell $or $36 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 1'1 | |
parameter \B_SIGNED 1'0 | |
parameter \B_WIDTH 1'1 | |
parameter \Y_WIDTH 1'1 | |
connect \A \rx_ack | |
connect \B $33 | |
connect \Y $35 | |
end | |
attribute \src "/home/eddy/Projects/halogen/uart.py:59" | |
wire width 7 \rx_phase | |
attribute \src "/home/eddy/Projects/halogen/uart.py:59" | |
wire width 7 \rx_phase$next | |
attribute \src "/home/eddy/Projects/halogen/uart.py:77" | |
wire width 1 $37 | |
attribute \src "/home/eddy/Projects/halogen/uart.py:77" | |
cell $ne $38 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 3'111 | |
parameter \B_SIGNED 1'0 | |
parameter \B_WIDTH 1'1 | |
parameter \Y_WIDTH 1'1 | |
connect \A \rx_phase | |
connect \B 1'0 | |
connect \Y $37 | |
end | |
attribute \src "/home/eddy/Projects/halogen/uart.py:85" | |
wire width 1 $39 | |
attribute \src "/home/eddy/Projects/halogen/uart.py:85" | |
cell $eq $40 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 3'100 | |
parameter \B_SIGNED 1'0 | |
parameter \B_WIDTH 1'1 | |
parameter \Y_WIDTH 1'1 | |
connect \A \rx_count | |
connect \B 1'1 | |
connect \Y $39 | |
end | |
process $group_7 | |
assign \rx_rdy$next \rx_rdy | |
attribute \src "/home/eddy/Projects/halogen/uart.py:64" | |
switch { $29 } | |
attribute \src "/home/eddy/Projects/halogen/uart.py:64" | |
case 1'1 | |
attribute \src "/home/eddy/Projects/halogen/uart.py:66" | |
switch { $31 } | |
attribute \src "/home/eddy/Projects/halogen/uart.py:66" | |
case 1'1 | |
attribute \src "/home/eddy/Projects/halogen/uart.py:67" | |
switch { $35 } | |
attribute \src "/home/eddy/Projects/halogen/uart.py:67" | |
case 1'1 | |
assign \rx_rdy$next 1'0 | |
attribute \src "/home/eddy/Projects/halogen/uart.py:74" | |
case | |
end | |
end | |
attribute \src "/home/eddy/Projects/halogen/uart.py:76" | |
case | |
attribute \src "/home/eddy/Projects/halogen/uart.py:77" | |
switch { $37 } | |
attribute \src "/home/eddy/Projects/halogen/uart.py:77" | |
case 1'1 | |
attribute \src "/home/eddy/Projects/halogen/uart.py:79" | |
case | |
attribute \src "/home/eddy/Projects/halogen/uart.py:85" | |
switch { $39 } | |
attribute \src "/home/eddy/Projects/halogen/uart.py:85" | |
case 1'1 | |
assign \rx_rdy$next 1'1 | |
end | |
end | |
end | |
attribute \src "nmigen/hdl/xfrm.py:528" | |
switch \rst | |
case 1'1 | |
assign \rx_rdy$next 1'0 | |
end | |
sync init | |
update \rx_rdy 1'0 | |
sync posedge \clk | |
update \rx_rdy \rx_rdy$next | |
end | |
attribute \src "/home/eddy/Projects/halogen/uart.py:29" | |
wire width 1 \rx_ovf | |
attribute \src "/home/eddy/Projects/halogen/uart.py:29" | |
wire width 1 \rx_ovf$next | |
attribute \src "/home/eddy/Projects/halogen/uart.py:64" | |
wire width 1 $41 | |
attribute \src "/home/eddy/Projects/halogen/uart.py:64" | |
cell $eq $42 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 3'100 | |
parameter \B_SIGNED 1'0 | |
parameter \B_WIDTH 1'1 | |
parameter \Y_WIDTH 1'1 | |
connect \A \rx_count | |
connect \B 1'0 | |
connect \Y $41 | |
end | |
attribute \src "/home/eddy/Projects/halogen/uart.py:66" | |
wire width 1 $43 | |
attribute \src "/home/eddy/Projects/halogen/uart.py:66" | |
cell $not $44 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 1'1 | |
parameter \Y_WIDTH 1'1 | |
connect \A \rx_i | |
connect \Y $43 | |
end | |
attribute \src "/home/eddy/Projects/halogen/uart.py:67" | |
wire width 1 $45 | |
attribute \src "/home/eddy/Projects/halogen/uart.py:67" | |
cell $not $46 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 1'1 | |
parameter \Y_WIDTH 1'1 | |
connect \A \rx_rdy | |
connect \Y $45 | |
end | |
attribute \src "/home/eddy/Projects/halogen/uart.py:67" | |
wire width 1 $47 | |
attribute \src "/home/eddy/Projects/halogen/uart.py:67" | |
cell $or $48 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 1'1 | |
parameter \B_SIGNED 1'0 | |
parameter \B_WIDTH 1'1 | |
parameter \Y_WIDTH 1'1 | |
connect \A \rx_ack | |
connect \B $45 | |
connect \Y $47 | |
end | |
process $group_8 | |
assign \rx_ovf$next \rx_ovf | |
attribute \src "/home/eddy/Projects/halogen/uart.py:64" | |
switch { $41 } | |
attribute \src "/home/eddy/Projects/halogen/uart.py:64" | |
case 1'1 | |
attribute \src "/home/eddy/Projects/halogen/uart.py:66" | |
switch { $43 } | |
attribute \src "/home/eddy/Projects/halogen/uart.py:66" | |
case 1'1 | |
attribute \src "/home/eddy/Projects/halogen/uart.py:67" | |
switch { $47 } | |
attribute \src "/home/eddy/Projects/halogen/uart.py:67" | |
case 1'1 | |
assign \rx_ovf$next 1'0 | |
attribute \src "/home/eddy/Projects/halogen/uart.py:74" | |
case | |
assign \rx_ovf$next 1'1 | |
end | |
end | |
attribute \src "/home/eddy/Projects/halogen/uart.py:76" | |
case | |
end | |
attribute \src "nmigen/hdl/xfrm.py:528" | |
switch \rst | |
case 1'1 | |
assign \rx_ovf$next 1'0 | |
end | |
sync init | |
update \rx_ovf 1'0 | |
sync posedge \clk | |
update \rx_ovf \rx_ovf$next | |
end | |
attribute \src "/home/eddy/Projects/halogen/uart.py:64" | |
wire width 1 $49 | |
attribute \src "/home/eddy/Projects/halogen/uart.py:64" | |
cell $eq $50 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 3'100 | |
parameter \B_SIGNED 1'0 | |
parameter \B_WIDTH 1'1 | |
parameter \Y_WIDTH 1'1 | |
connect \A \rx_count | |
connect \B 1'0 | |
connect \Y $49 | |
end | |
attribute \src "/home/eddy/Projects/halogen/uart.py:66" | |
wire width 1 $51 | |
attribute \src "/home/eddy/Projects/halogen/uart.py:66" | |
cell $not $52 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 1'1 | |
parameter \Y_WIDTH 1'1 | |
connect \A \rx_i | |
connect \Y $51 | |
end | |
attribute \src "/home/eddy/Projects/halogen/uart.py:67" | |
wire width 1 $53 | |
attribute \src "/home/eddy/Projects/halogen/uart.py:67" | |
cell $not $54 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 1'1 | |
parameter \Y_WIDTH 1'1 | |
connect \A \rx_rdy | |
connect \Y $53 | |
end | |
attribute \src "/home/eddy/Projects/halogen/uart.py:67" | |
wire width 1 $55 | |
attribute \src "/home/eddy/Projects/halogen/uart.py:67" | |
cell $or $56 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 1'1 | |
parameter \B_SIGNED 1'0 | |
parameter \B_WIDTH 1'1 | |
parameter \Y_WIDTH 1'1 | |
connect \A \rx_ack | |
connect \B $53 | |
connect \Y $55 | |
end | |
attribute \src "/home/eddy/Projects/halogen/uart.py:77" | |
wire width 1 $57 | |
attribute \src "/home/eddy/Projects/halogen/uart.py:77" | |
cell $ne $58 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 3'111 | |
parameter \B_SIGNED 1'0 | |
parameter \B_WIDTH 1'1 | |
parameter \Y_WIDTH 1'1 | |
connect \A \rx_phase | |
connect \B 1'0 | |
connect \Y $57 | |
end | |
attribute \src "/home/eddy/Projects/halogen/uart.py:82" | |
wire width 5 $59 | |
attribute \src "/home/eddy/Projects/halogen/uart.py:82" | |
wire width 5 $60 | |
attribute \src "/home/eddy/Projects/halogen/uart.py:82" | |
cell $sub $61 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 3'100 | |
parameter \B_SIGNED 1'0 | |
parameter \B_WIDTH 1'1 | |
parameter \Y_WIDTH 3'101 | |
connect \A \rx_count | |
connect \B 1'1 | |
connect \Y $60 | |
end | |
connect $59 $60 | |
process $group_9 | |
assign \rx_count$next \rx_count | |
attribute \src "/home/eddy/Projects/halogen/uart.py:64" | |
switch { $49 } | |
attribute \src "/home/eddy/Projects/halogen/uart.py:64" | |
case 1'1 | |
attribute \src "/home/eddy/Projects/halogen/uart.py:66" | |
switch { $51 } | |
attribute \src "/home/eddy/Projects/halogen/uart.py:66" | |
case 1'1 | |
attribute \src "/home/eddy/Projects/halogen/uart.py:67" | |
switch { $55 } | |
attribute \src "/home/eddy/Projects/halogen/uart.py:67" | |
case 1'1 | |
assign \rx_count$next 4'1010 | |
attribute \src "/home/eddy/Projects/halogen/uart.py:74" | |
case | |
end | |
end | |
attribute \src "/home/eddy/Projects/halogen/uart.py:76" | |
case | |
attribute \src "/home/eddy/Projects/halogen/uart.py:77" | |
switch { $57 } | |
attribute \src "/home/eddy/Projects/halogen/uart.py:77" | |
case 1'1 | |
attribute \src "/home/eddy/Projects/halogen/uart.py:79" | |
case | |
assign \rx_count$next $59 [3:0] | |
end | |
end | |
attribute \src "nmigen/hdl/xfrm.py:528" | |
switch \rst | |
case 1'1 | |
assign \rx_count$next 4'0000 | |
end | |
sync init | |
update \rx_count 4'0000 | |
sync posedge \clk | |
update \rx_count \rx_count$next | |
end | |
attribute \src "/home/eddy/Projects/halogen/uart.py:64" | |
wire width 1 $62 | |
attribute \src "/home/eddy/Projects/halogen/uart.py:64" | |
cell $eq $63 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 3'100 | |
parameter \B_SIGNED 1'0 | |
parameter \B_WIDTH 1'1 | |
parameter \Y_WIDTH 1'1 | |
connect \A \rx_count | |
connect \B 1'0 | |
connect \Y $62 | |
end | |
attribute \src "/home/eddy/Projects/halogen/uart.py:66" | |
wire width 1 $64 | |
attribute \src "/home/eddy/Projects/halogen/uart.py:66" | |
cell $not $65 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 1'1 | |
parameter \Y_WIDTH 1'1 | |
connect \A \rx_i | |
connect \Y $64 | |
end | |
attribute \src "/home/eddy/Projects/halogen/uart.py:67" | |
wire width 1 $66 | |
attribute \src "/home/eddy/Projects/halogen/uart.py:67" | |
cell $not $67 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 1'1 | |
parameter \Y_WIDTH 1'1 | |
connect \A \rx_rdy | |
connect \Y $66 | |
end | |
attribute \src "/home/eddy/Projects/halogen/uart.py:67" | |
wire width 1 $68 | |
attribute \src "/home/eddy/Projects/halogen/uart.py:67" | |
cell $or $69 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 1'1 | |
parameter \B_SIGNED 1'0 | |
parameter \B_WIDTH 1'1 | |
parameter \Y_WIDTH 1'1 | |
connect \A \rx_ack | |
connect \B $66 | |
connect \Y $68 | |
end | |
attribute \src "/home/eddy/Projects/halogen/uart.py:77" | |
wire width 1 $70 | |
attribute \src "/home/eddy/Projects/halogen/uart.py:77" | |
cell $ne $71 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 3'111 | |
parameter \B_SIGNED 1'0 | |
parameter \B_WIDTH 1'1 | |
parameter \Y_WIDTH 1'1 | |
connect \A \rx_phase | |
connect \B 1'0 | |
connect \Y $70 | |
end | |
attribute \src "/home/eddy/Projects/halogen/uart.py:78" | |
wire width 8 $72 | |
attribute \src "/home/eddy/Projects/halogen/uart.py:78" | |
wire width 8 $73 | |
attribute \src "/home/eddy/Projects/halogen/uart.py:78" | |
cell $sub $74 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 3'111 | |
parameter \B_SIGNED 1'0 | |
parameter \B_WIDTH 1'1 | |
parameter \Y_WIDTH 4'1000 | |
connect \A \rx_phase | |
connect \B 1'1 | |
connect \Y $73 | |
end | |
connect $72 $73 | |
process $group_10 | |
assign \rx_phase$next \rx_phase | |
attribute \src "/home/eddy/Projects/halogen/uart.py:64" | |
switch { $62 } | |
attribute \src "/home/eddy/Projects/halogen/uart.py:64" | |
case 1'1 | |
attribute \src "/home/eddy/Projects/halogen/uart.py:66" | |
switch { $64 } | |
attribute \src "/home/eddy/Projects/halogen/uart.py:66" | |
case 1'1 | |
attribute \src "/home/eddy/Projects/halogen/uart.py:67" | |
switch { $68 } | |
attribute \src "/home/eddy/Projects/halogen/uart.py:67" | |
case 1'1 | |
assign \rx_phase$next 7'0110100 | |
attribute \src "/home/eddy/Projects/halogen/uart.py:74" | |
case | |
end | |
end | |
attribute \src "/home/eddy/Projects/halogen/uart.py:76" | |
case | |
attribute \src "/home/eddy/Projects/halogen/uart.py:77" | |
switch { $70 } | |
attribute \src "/home/eddy/Projects/halogen/uart.py:77" | |
case 1'1 | |
assign \rx_phase$next $72 [6:0] | |
attribute \src "/home/eddy/Projects/halogen/uart.py:79" | |
case | |
assign \rx_phase$next 7'1100111 | |
end | |
end | |
attribute \src "nmigen/hdl/xfrm.py:528" | |
switch \rst | |
case 1'1 | |
assign \rx_phase$next 7'0000000 | |
end | |
sync init | |
update \rx_phase 7'0000000 | |
sync posedge \clk | |
update \rx_phase \rx_phase$next | |
end | |
attribute \src "/home/eddy/Projects/halogen/uart.py:64" | |
wire width 1 $75 | |
attribute \src "/home/eddy/Projects/halogen/uart.py:64" | |
cell $eq $76 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 3'100 | |
parameter \B_SIGNED 1'0 | |
parameter \B_WIDTH 1'1 | |
parameter \Y_WIDTH 1'1 | |
connect \A \rx_count | |
connect \B 1'0 | |
connect \Y $75 | |
end | |
attribute \src "/home/eddy/Projects/halogen/uart.py:77" | |
wire width 1 $77 | |
attribute \src "/home/eddy/Projects/halogen/uart.py:77" | |
cell $ne $78 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 3'111 | |
parameter \B_SIGNED 1'0 | |
parameter \B_WIDTH 1'1 | |
parameter \Y_WIDTH 1'1 | |
connect \A \rx_phase | |
connect \B 1'0 | |
connect \Y $77 | |
end | |
process $group_11 | |
assign \rx_shreg$next \rx_shreg | |
attribute \src "/home/eddy/Projects/halogen/uart.py:64" | |
switch { $75 } | |
attribute \src "/home/eddy/Projects/halogen/uart.py:64" | |
case 1'1 | |
attribute \src "/home/eddy/Projects/halogen/uart.py:76" | |
case | |
attribute \src "/home/eddy/Projects/halogen/uart.py:77" | |
switch { $77 } | |
attribute \src "/home/eddy/Projects/halogen/uart.py:77" | |
case 1'1 | |
attribute \src "/home/eddy/Projects/halogen/uart.py:79" | |
case | |
assign \rx_shreg$next { \rx_i \rx_shreg [9:1] } | |
end | |
end | |
attribute \src "nmigen/hdl/xfrm.py:528" | |
switch \rst | |
case 1'1 | |
assign \rx_shreg$next 10'1111111111 | |
end | |
sync init | |
update \rx_shreg 10'1111111111 | |
sync posedge \clk | |
update \rx_shreg \rx_shreg$next | |
end | |
end | |
attribute \generator "nMigen" | |
attribute \nmigen.hierarchy "top.cd_sync" | |
module \cd_sync | |
attribute \src "nmigen/vendor/lattice_ice40.py:364" | |
wire width 1 output 0 \rst | |
attribute \src "nmigen/vendor/lattice_ice40.py:364" | |
wire width 1 output 1 \clk | |
attribute \src "nmigen/build/res.py:137" | |
wire width 1 input 2 \clk12_0__i | |
attribute \src "nmigen/vendor/lattice_ice40.py:354" | |
wire width 1 \por_clk | |
process $group_0 | |
assign \por_clk 1'0 | |
assign \por_clk \clk12_0__i | |
sync init | |
end | |
attribute \src "nmigen/vendor/lattice_ice40.py:357" | |
wire width 1 \ready | |
attribute \src "nmigen/vendor/lattice_ice40.py:357" | |
wire width 1 \ready$next | |
attribute \src "nmigen/vendor/lattice_ice40.py:356" | |
wire width 8 \timer | |
attribute \src "nmigen/vendor/lattice_ice40.py:356" | |
wire width 8 \timer$next | |
attribute \src "nmigen/vendor/lattice_ice40.py:359" | |
wire width 1 $1 | |
attribute \src "nmigen/vendor/lattice_ice40.py:359" | |
cell $eq $2 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 4'1000 | |
parameter \B_SIGNED 1'0 | |
parameter \B_WIDTH 4'1000 | |
parameter \Y_WIDTH 1'1 | |
connect \A \timer | |
connect \B 8'10110100 | |
connect \Y $1 | |
end | |
process $group_1 | |
assign \ready$next \ready | |
attribute \src "nmigen/vendor/lattice_ice40.py:359" | |
switch { $1 } | |
attribute \src "nmigen/vendor/lattice_ice40.py:359" | |
case 1'1 | |
assign \ready$next 1'1 | |
attribute \src "nmigen/vendor/lattice_ice40.py:361" | |
case | |
end | |
sync init | |
update \ready 1'0 | |
sync posedge \por_clk | |
update \ready \ready$next | |
end | |
attribute \src "nmigen/vendor/lattice_ice40.py:359" | |
wire width 1 $3 | |
attribute \src "nmigen/vendor/lattice_ice40.py:359" | |
cell $eq $4 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 4'1000 | |
parameter \B_SIGNED 1'0 | |
parameter \B_WIDTH 4'1000 | |
parameter \Y_WIDTH 1'1 | |
connect \A \timer | |
connect \B 8'10110100 | |
connect \Y $3 | |
end | |
attribute \src "nmigen/vendor/lattice_ice40.py:362" | |
wire width 9 $5 | |
attribute \src "nmigen/vendor/lattice_ice40.py:362" | |
wire width 9 $6 | |
attribute \src "nmigen/vendor/lattice_ice40.py:362" | |
cell $add $7 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 4'1000 | |
parameter \B_SIGNED 1'0 | |
parameter \B_WIDTH 1'1 | |
parameter \Y_WIDTH 4'1001 | |
connect \A \timer | |
connect \B 1'1 | |
connect \Y $6 | |
end | |
connect $5 $6 | |
process $group_2 | |
assign \timer$next \timer | |
attribute \src "nmigen/vendor/lattice_ice40.py:359" | |
switch { $3 } | |
attribute \src "nmigen/vendor/lattice_ice40.py:359" | |
case 1'1 | |
attribute \src "nmigen/vendor/lattice_ice40.py:361" | |
case | |
assign \timer$next $5 [7:0] | |
end | |
sync init | |
update \timer 8'00000000 | |
sync posedge \por_clk | |
update \timer \timer$next | |
end | |
process $group_3 | |
assign \clk 1'0 | |
assign \clk \clk12_0__i | |
sync init | |
end | |
attribute \src "nmigen/vendor/lattice_ice40.py:369" | |
wire width 1 $8 | |
attribute \src "nmigen/vendor/lattice_ice40.py:369" | |
cell $not $9 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 1'1 | |
parameter \Y_WIDTH 1'1 | |
connect \A \ready | |
connect \Y $8 | |
end | |
process $group_4 | |
assign \rst 1'0 | |
assign \rst $8 | |
sync init | |
end | |
end | |
attribute \generator "nMigen" | |
attribute \top 1 | |
attribute \nmigen.hierarchy "top" | |
module \top | |
attribute \src "nmigen/build/res.py:129" | |
wire width 1 inout 0 \clk12_0__io | |
attribute \src "nmigen/build/res.py:129" | |
wire width 1 inout 1 \led_0__io | |
attribute \src "nmigen/build/res.py:129" | |
wire width 1 inout 2 \led_1__io | |
attribute \src "nmigen/build/res.py:129" | |
wire width 1 inout 3 \led_2__io | |
attribute \src "nmigen/build/res.py:129" | |
wire width 1 inout 4 \led_3__io | |
attribute \src "nmigen/build/res.py:129" | |
wire width 1 inout 5 \led_4__io | |
attribute \src "nmigen/build/res.py:129" | |
wire width 1 inout 6 \uart_0__cts__io | |
attribute \src "nmigen/build/res.py:129" | |
wire width 1 inout 7 \uart_0__dcd__io | |
attribute \src "nmigen/build/res.py:129" | |
wire width 1 inout 8 \uart_0__dsr__io | |
attribute \src "nmigen/build/res.py:129" | |
wire width 1 inout 9 \uart_0__dtr__io | |
attribute \src "nmigen/build/res.py:129" | |
wire width 1 inout 10 \uart_0__rts__io | |
attribute \src "nmigen/build/res.py:129" | |
wire width 1 inout 11 \uart_0__rx__io | |
attribute \src "nmigen/build/res.py:129" | |
wire width 1 inout 12 \uart_0__tx__io | |
attribute \src "nmigen/vendor/lattice_ice40.py:364" | |
wire width 1 \clk | |
attribute \src "nmigen/vendor/lattice_ice40.py:364" | |
wire width 1 \rst | |
attribute \src "/home/eddy/Projects/halogen/uart.py:21" | |
wire width 1 \uart_rx_i | |
attribute \src "/home/eddy/Projects/halogen/uart.py:20" | |
wire width 1 \uart_tx_o | |
attribute \src "/home/eddy/Projects/halogen/uart.py:30" | |
wire width 1 \uart_rx_rdy | |
attribute \src "/home/eddy/Projects/halogen/uart.py:31" | |
wire width 1 \uart_rx_ack | |
attribute \src "/home/eddy/Projects/halogen/uart.py:31" | |
wire width 1 \uart_rx_ack$next | |
attribute \src "/home/eddy/Projects/halogen/uart.py:27" | |
wire width 8 \uart_rx_data | |
attribute \src "/home/eddy/Projects/halogen/uart.py:24" | |
wire width 1 \uart_tx_rdy | |
attribute \src "/home/eddy/Projects/halogen/uart.py:24" | |
wire width 1 \uart_tx_rdy$next | |
attribute \src "/home/eddy/Projects/halogen/uart.py:23" | |
wire width 8 \uart_tx_data | |
attribute \src "/home/eddy/Projects/halogen/uart.py:23" | |
wire width 8 \uart_tx_data$next | |
attribute \src "/home/eddy/Projects/halogen/uart.py:25" | |
wire width 1 \uart_tx_ack | |
cell \uart \uart | |
connect \rx_i \uart_rx_i | |
connect \tx_o \uart_tx_o | |
connect \rx_rdy \uart_rx_rdy | |
connect \rx_ack \uart_rx_ack | |
connect \rx_data \uart_rx_data | |
connect \tx_rdy \uart_tx_rdy | |
connect \tx_data \uart_tx_data | |
connect \tx_ack \uart_tx_ack | |
connect \rst \rst | |
connect \clk \clk | |
end | |
attribute \src "nmigen/build/res.py:137" | |
wire width 1 \cd_sync_clk12_0__i | |
cell \cd_sync \cd_sync | |
connect \rst \rst | |
connect \clk \clk | |
connect \clk12_0__i \cd_sync_clk12_0__i | |
end | |
cell \SB_GB_IO \clk12_0_0 | |
parameter \IO_STANDARD "SB_LVCMOS" | |
parameter \PIN_TYPE 6'1 | |
connect \PACKAGE_PIN \clk12_0__io | |
connect \GLOBAL_BUFFER_OUTPUT \cd_sync_clk12_0__i | |
end | |
attribute \src "nmigen/build/res.py:137" | |
wire width 1 \led_0__o | |
attribute \src "nmigen/build/res.py:137" | |
wire width 1 \led_0__o$next | |
cell \SB_IO \led_0_0 | |
parameter \IO_STANDARD "SB_LVCMOS" | |
parameter \PIN_TYPE 6'11001 | |
connect \PACKAGE_PIN \led_0__io | |
connect \D_OUT_0 \led_0__o | |
end | |
attribute \src "nmigen/build/res.py:137" | |
wire width 1 \led_1__o | |
attribute \src "nmigen/build/res.py:137" | |
wire width 1 \led_1__o$next | |
cell \SB_IO \led_1_0 | |
parameter \IO_STANDARD "SB_LVCMOS" | |
parameter \PIN_TYPE 6'11001 | |
connect \PACKAGE_PIN \led_1__io | |
connect \D_OUT_0 \led_1__o | |
end | |
attribute \src "nmigen/build/res.py:137" | |
wire width 1 \led_2__o | |
attribute \src "nmigen/build/res.py:137" | |
wire width 1 \led_2__o$next | |
cell \SB_IO \led_2_0 | |
parameter \IO_STANDARD "SB_LVCMOS" | |
parameter \PIN_TYPE 6'11001 | |
connect \PACKAGE_PIN \led_2__io | |
connect \D_OUT_0 \led_2__o | |
end | |
attribute \src "nmigen/build/res.py:137" | |
wire width 1 \led_3__o | |
attribute \src "nmigen/build/res.py:137" | |
wire width 1 \led_3__o$next | |
cell \SB_IO \led_3_0 | |
parameter \IO_STANDARD "SB_LVCMOS" | |
parameter \PIN_TYPE 6'11001 | |
connect \PACKAGE_PIN \led_3__io | |
connect \D_OUT_0 \led_3__o | |
end | |
attribute \src "nmigen/build/res.py:137" | |
wire width 1 \led_4__o | |
attribute \src "nmigen/build/res.py:137" | |
wire width 1 \led_4__o$next | |
cell \SB_IO \led_4_0 | |
parameter \IO_STANDARD "SB_LVCMOS" | |
parameter \PIN_TYPE 6'11001 | |
connect \PACKAGE_PIN \led_4__io | |
connect \D_OUT_0 \led_4__o | |
end | |
attribute \src "nmigen/build/res.py:137" | |
wire width 1 \uart_0__cts__i | |
cell \SB_IO \uart_0__cts_0 | |
parameter \IO_STANDARD "SB_LVTTL" | |
parameter \PULLUP 1'1 | |
parameter \PIN_TYPE 6'1 | |
connect \PACKAGE_PIN \uart_0__cts__io | |
connect \D_IN_0 \uart_0__cts__i | |
end | |
attribute \src "nmigen/build/res.py:137" | |
wire width 1 \uart_0__dcd__i | |
cell \SB_IO \uart_0__dcd_0 | |
parameter \IO_STANDARD "SB_LVTTL" | |
parameter \PULLUP 1'1 | |
parameter \PIN_TYPE 6'1 | |
connect \PACKAGE_PIN \uart_0__dcd__io | |
connect \D_IN_0 \uart_0__dcd__i | |
end | |
attribute \src "nmigen/build/res.py:137" | |
wire width 1 \uart_0__dsr__i | |
cell \SB_IO \uart_0__dsr_0 | |
parameter \IO_STANDARD "SB_LVTTL" | |
parameter \PULLUP 1'1 | |
parameter \PIN_TYPE 6'1 | |
connect \PACKAGE_PIN \uart_0__dsr__io | |
connect \D_IN_0 \uart_0__dsr__i | |
end | |
attribute \src "nmigen/build/res.py:137" | |
wire width 1 \uart_0__dtr__o | |
cell \SB_IO \uart_0__dtr_0 | |
parameter \IO_STANDARD "SB_LVTTL" | |
parameter \PULLUP 1'1 | |
parameter \PIN_TYPE 6'11001 | |
connect \PACKAGE_PIN \uart_0__dtr__io | |
connect \D_OUT_0 \uart_0__dtr__o | |
end | |
attribute \src "nmigen/build/res.py:137" | |
wire width 1 \uart_0__rts__o | |
cell \SB_IO \uart_0__rts_0 | |
parameter \IO_STANDARD "SB_LVTTL" | |
parameter \PULLUP 1'1 | |
parameter \PIN_TYPE 6'11001 | |
connect \PACKAGE_PIN \uart_0__rts__io | |
connect \D_OUT_0 \uart_0__rts__o | |
end | |
attribute \src "nmigen/build/res.py:137" | |
wire width 1 \uart_0__rx__i | |
cell \SB_IO \uart_0__rx_0 | |
parameter \IO_STANDARD "SB_LVTTL" | |
parameter \PULLUP 1'1 | |
parameter \PIN_TYPE 6'1 | |
connect \PACKAGE_PIN \uart_0__rx__io | |
connect \D_IN_0 \uart_0__rx__i | |
end | |
attribute \src "nmigen/build/res.py:137" | |
wire width 1 \uart_0__tx__o | |
cell \SB_IO \uart_0__tx_0 | |
parameter \IO_STANDARD "SB_LVTTL" | |
parameter \PULLUP 1'1 | |
parameter \PIN_TYPE 6'11001 | |
connect \PACKAGE_PIN \uart_0__tx__io | |
connect \D_OUT_0 \uart_0__tx__o | |
end | |
attribute \src "aoc-2019-1.py:17" | |
wire width 2 \err | |
attribute \src "aoc-2019-1.py:17" | |
wire width 2 \err$next | |
attribute \src "aoc-2019-1.py:18" | |
wire width 1 $1 | |
attribute \src "aoc-2019-1.py:18" | |
cell $ne $2 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 2'10 | |
parameter \B_SIGNED 1'0 | |
parameter \B_WIDTH 1'1 | |
parameter \Y_WIDTH 1'1 | |
connect \A \err | |
connect \B 1'0 | |
connect \Y $1 | |
end | |
attribute \src "aoc-2019-1.py:19" | |
wire width 6 $3 | |
attribute \src "aoc-2019-1.py:15" | |
wire width 6 $4 | |
attribute \src "aoc-2019-1.py:15" | |
cell $pos $5 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 3'101 | |
parameter \Y_WIDTH 3'110 | |
connect \A { \led_4__o \led_3__o \led_2__o \led_1__o \led_0__o } | |
connect \Y $4 | |
end | |
attribute \src "aoc-2019-1.py:19" | |
wire width 6 $6 | |
attribute \src "aoc-2019-1.py:19" | |
cell $and $7 | |
parameter \A_SIGNED 1'1 | |
parameter \A_WIDTH 3'110 | |
parameter \B_SIGNED 1'1 | |
parameter \B_WIDTH 3'110 | |
parameter \Y_WIDTH 3'110 | |
connect \A $4 | |
connect \B 6'101111 | |
connect \Y $6 | |
end | |
attribute \src "aoc-2019-1.py:19" | |
wire width 6 $8 | |
attribute \src "aoc-2019-1.py:19" | |
wire width 4 $9 | |
attribute \src "aoc-2019-1.py:19" | |
cell $sshl $10 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 1'1 | |
parameter \B_SIGNED 1'0 | |
parameter \B_WIDTH 2'10 | |
parameter \Y_WIDTH 3'100 | |
connect \A 1'1 | |
connect \B \err | |
connect \Y $9 | |
end | |
attribute \src "aoc-2019-1.py:19" | |
cell $pos $11 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 3'100 | |
parameter \Y_WIDTH 3'110 | |
connect \A $9 | |
connect \Y $8 | |
end | |
attribute \src "aoc-2019-1.py:19" | |
wire width 6 $12 | |
attribute \src "aoc-2019-1.py:19" | |
cell $or $13 | |
parameter \A_SIGNED 1'1 | |
parameter \A_WIDTH 3'110 | |
parameter \B_SIGNED 1'1 | |
parameter \B_WIDTH 3'110 | |
parameter \Y_WIDTH 3'110 | |
connect \A $6 | |
connect \B $8 | |
connect \Y $12 | |
end | |
connect $3 $12 | |
process $group_0 | |
assign \led_0__o$next \led_0__o | |
assign \led_1__o$next \led_1__o | |
assign \led_2__o$next \led_2__o | |
assign \led_3__o$next \led_3__o | |
assign \led_4__o$next \led_4__o | |
attribute \src "aoc-2019-1.py:18" | |
switch { $1 } | |
attribute \src "aoc-2019-1.py:18" | |
case 1'1 | |
assign { \led_4__o$next \led_3__o$next \led_2__o$next \led_1__o$next \led_0__o$next } $3 [4:0] | |
attribute \src "aoc-2019-1.py:20" | |
case | |
assign { \led_4__o$next \led_3__o$next \led_2__o$next \led_1__o$next \led_0__o$next } 5'10000 | |
end | |
attribute \src "nmigen/hdl/xfrm.py:528" | |
switch \rst | |
case 1'1 | |
assign \led_0__o$next 1'0 | |
assign \led_1__o$next 1'0 | |
assign \led_2__o$next 1'0 | |
assign \led_3__o$next 1'0 | |
assign \led_4__o$next 1'0 | |
end | |
sync init | |
update \led_0__o 1'0 | |
update \led_1__o 1'0 | |
update \led_2__o 1'0 | |
update \led_3__o 1'0 | |
update \led_4__o 1'0 | |
sync posedge \clk | |
update \led_0__o \led_0__o$next | |
update \led_1__o \led_1__o$next | |
update \led_2__o \led_2__o$next | |
update \led_3__o \led_3__o$next | |
update \led_4__o \led_4__o$next | |
end | |
process $group_5 | |
assign \uart_rx_i 1'0 | |
assign \uart_rx_i { \uart_0__rx__i } | |
sync init | |
end | |
process $group_6 | |
assign \uart_0__tx__o 1'0 | |
assign { \uart_0__tx__o } \uart_tx_o | |
sync init | |
end | |
process $group_7 | |
assign \uart_rx_ack$next \uart_rx_ack | |
attribute \src "aoc-2019-1.py:41" | |
switch { \uart_rx_rdy } | |
attribute \src "aoc-2019-1.py:41" | |
case 1'1 | |
assign \uart_rx_ack$next 1'1 | |
attribute \src "aoc-2019-1.py:75" | |
case | |
assign \uart_rx_ack$next 1'0 | |
end | |
attribute \src "nmigen/hdl/xfrm.py:528" | |
switch \rst | |
case 1'1 | |
assign \uart_rx_ack$next 1'0 | |
end | |
sync init | |
update \uart_rx_ack 1'0 | |
sync posedge \clk | |
update \uart_rx_ack \uart_rx_ack$next | |
end | |
attribute \src "aoc-2019-1.py:44" | |
wire width 1 $14 | |
attribute \src "aoc-2019-1.py:44" | |
cell $not $15 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 1'1 | |
parameter \Y_WIDTH 1'1 | |
connect \A \uart_rx_ack | |
connect \Y $14 | |
end | |
attribute \src "aoc-2019-1.py:45" | |
wire width 1 $16 | |
attribute \src "aoc-2019-1.py:45" | |
cell $eq $17 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 4'1000 | |
parameter \B_SIGNED 1'0 | |
parameter \B_WIDTH 3'101 | |
parameter \Y_WIDTH 1'1 | |
connect \A \uart_rx_data | |
connect \B 5'10010 | |
connect \Y $16 | |
end | |
attribute \src "aoc-2019-1.py:53" | |
wire width 1 $18 | |
attribute \src "aoc-2019-1.py:53" | |
cell $ge $19 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 4'1000 | |
parameter \B_SIGNED 1'0 | |
parameter \B_WIDTH 3'110 | |
parameter \Y_WIDTH 1'1 | |
connect \A \uart_rx_data | |
connect \B 6'110000 | |
connect \Y $18 | |
end | |
attribute \src "aoc-2019-1.py:53" | |
wire width 1 $20 | |
attribute \src "aoc-2019-1.py:53" | |
cell $le $21 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 4'1000 | |
parameter \B_SIGNED 1'0 | |
parameter \B_WIDTH 3'110 | |
parameter \Y_WIDTH 1'1 | |
connect \A \uart_rx_data | |
connect \B 6'111001 | |
connect \Y $20 | |
end | |
attribute \src "aoc-2019-1.py:53" | |
wire width 1 $22 | |
attribute \src "aoc-2019-1.py:53" | |
cell $and $23 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 1'1 | |
parameter \B_SIGNED 1'0 | |
parameter \B_WIDTH 1'1 | |
parameter \Y_WIDTH 1'1 | |
connect \A $18 | |
connect \B $20 | |
connect \Y $22 | |
end | |
attribute \src "aoc-2019-1.py:35" | |
wire width 1 \out_en | |
attribute \src "aoc-2019-1.py:35" | |
wire width 1 \out_en$next | |
attribute \src "aoc-2019-1.py:65" | |
wire width 1 $24 | |
attribute \src "aoc-2019-1.py:65" | |
cell $eq $25 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 4'1000 | |
parameter \B_SIGNED 1'0 | |
parameter \B_WIDTH 3'110 | |
parameter \Y_WIDTH 1'1 | |
connect \A \uart_rx_data | |
connect \B 6'100000 | |
connect \Y $24 | |
end | |
attribute \src "aoc-2019-1.py:67" | |
wire width 1 $26 | |
attribute \src "aoc-2019-1.py:67" | |
cell $eq $27 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 4'1000 | |
parameter \B_SIGNED 1'0 | |
parameter \B_WIDTH 3'100 | |
parameter \Y_WIDTH 1'1 | |
connect \A \uart_rx_data | |
connect \B 4'1010 | |
connect \Y $26 | |
end | |
process $group_8 | |
assign \err$next \err | |
attribute \src "aoc-2019-1.py:41" | |
switch { \uart_rx_rdy } | |
attribute \src "aoc-2019-1.py:41" | |
case 1'1 | |
attribute \src "aoc-2019-1.py:44" | |
switch { $14 } | |
attribute \src "aoc-2019-1.py:44" | |
case 1'1 | |
attribute \src "aoc-2019-1.py:45" | |
switch { $22 $16 } | |
attribute \src "aoc-2019-1.py:45" | |
case 2'-1 | |
assign \err$next 2'00 | |
attribute \src "aoc-2019-1.py:53" | |
case 2'1- | |
attribute \src "aoc-2019-1.py:57" | |
case | |
attribute \src "aoc-2019-1.py:58" | |
switch { \out_en } | |
attribute \src "aoc-2019-1.py:58" | |
case 1'1 | |
assign \err$next 2'01 | |
attribute \src "aoc-2019-1.py:60" | |
case | |
attribute \src "aoc-2019-1.py:65" | |
switch { $26 $24 } | |
attribute \src "aoc-2019-1.py:65" | |
case 2'-1 | |
attribute \src "aoc-2019-1.py:67" | |
case 2'1- | |
attribute \src "aoc-2019-1.py:73" | |
case | |
assign \err$next 2'10 | |
end | |
end | |
end | |
end | |
attribute \src "aoc-2019-1.py:75" | |
case | |
end | |
attribute \src "nmigen/hdl/xfrm.py:528" | |
switch \rst | |
case 1'1 | |
assign \err$next 2'00 | |
end | |
sync init | |
update \err 2'00 | |
sync posedge \clk | |
update \err \err$next | |
end | |
attribute \src "aoc-2019-1.py:33" | |
wire width 24 \in_val | |
attribute \src "aoc-2019-1.py:33" | |
wire width 24 \in_val$next | |
attribute \src "aoc-2019-1.py:44" | |
wire width 1 $28 | |
attribute \src "aoc-2019-1.py:44" | |
cell $not $29 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 1'1 | |
parameter \Y_WIDTH 1'1 | |
connect \A \uart_rx_ack | |
connect \Y $28 | |
end | |
attribute \src "aoc-2019-1.py:45" | |
wire width 1 $30 | |
attribute \src "aoc-2019-1.py:45" | |
cell $eq $31 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 4'1000 | |
parameter \B_SIGNED 1'0 | |
parameter \B_WIDTH 3'101 | |
parameter \Y_WIDTH 1'1 | |
connect \A \uart_rx_data | |
connect \B 5'10010 | |
connect \Y $30 | |
end | |
attribute \src "aoc-2019-1.py:53" | |
wire width 1 $32 | |
attribute \src "aoc-2019-1.py:53" | |
cell $ge $33 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 4'1000 | |
parameter \B_SIGNED 1'0 | |
parameter \B_WIDTH 3'110 | |
parameter \Y_WIDTH 1'1 | |
connect \A \uart_rx_data | |
connect \B 6'110000 | |
connect \Y $32 | |
end | |
attribute \src "aoc-2019-1.py:53" | |
wire width 1 $34 | |
attribute \src "aoc-2019-1.py:53" | |
cell $le $35 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 4'1000 | |
parameter \B_SIGNED 1'0 | |
parameter \B_WIDTH 3'110 | |
parameter \Y_WIDTH 1'1 | |
connect \A \uart_rx_data | |
connect \B 6'111001 | |
connect \Y $34 | |
end | |
attribute \src "aoc-2019-1.py:53" | |
wire width 1 $36 | |
attribute \src "aoc-2019-1.py:53" | |
cell $and $37 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 1'1 | |
parameter \B_SIGNED 1'0 | |
parameter \B_WIDTH 1'1 | |
parameter \Y_WIDTH 1'1 | |
connect \A $32 | |
connect \B $34 | |
connect \Y $36 | |
end | |
attribute \src "aoc-2019-1.py:55" | |
wire width 29 $38 | |
attribute \src "aoc-2019-1.py:55" | |
wire width 28 $39 | |
attribute \src "aoc-2019-1.py:55" | |
cell $mul $40 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 5'11000 | |
parameter \B_SIGNED 1'0 | |
parameter \B_WIDTH 3'100 | |
parameter \Y_WIDTH 5'11100 | |
connect \A \in_val | |
connect \B 4'1010 | |
connect \Y $39 | |
end | |
attribute \src "aoc-2019-1.py:55" | |
wire width 9 $41 | |
attribute \src "aoc-2019-1.py:55" | |
cell $sub $42 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 4'1000 | |
parameter \B_SIGNED 1'0 | |
parameter \B_WIDTH 3'110 | |
parameter \Y_WIDTH 4'1001 | |
connect \A \uart_rx_data | |
connect \B 6'110000 | |
connect \Y $41 | |
end | |
attribute \src "aoc-2019-1.py:55" | |
wire width 29 $43 | |
attribute \src "aoc-2019-1.py:55" | |
cell $add $44 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 5'11100 | |
parameter \B_SIGNED 1'0 | |
parameter \B_WIDTH 4'1001 | |
parameter \Y_WIDTH 5'11101 | |
connect \A $39 | |
connect \B $41 | |
connect \Y $43 | |
end | |
connect $38 $43 | |
process $group_9 | |
assign \in_val$next \in_val | |
attribute \src "aoc-2019-1.py:41" | |
switch { \uart_rx_rdy } | |
attribute \src "aoc-2019-1.py:41" | |
case 1'1 | |
attribute \src "aoc-2019-1.py:44" | |
switch { $28 } | |
attribute \src "aoc-2019-1.py:44" | |
case 1'1 | |
attribute \src "aoc-2019-1.py:45" | |
switch { $36 $30 } | |
attribute \src "aoc-2019-1.py:45" | |
case 2'-1 | |
assign \in_val$next 24'000000000000000000000000 | |
attribute \src "aoc-2019-1.py:53" | |
case 2'1- | |
assign \in_val$next $38 [23:0] | |
attribute \src "aoc-2019-1.py:57" | |
case | |
attribute \src "aoc-2019-1.py:58" | |
switch { \out_en } | |
attribute \src "aoc-2019-1.py:58" | |
case 1'1 | |
attribute \src "aoc-2019-1.py:60" | |
case | |
assign \in_val$next 24'000000000000000000000000 | |
end | |
end | |
end | |
attribute \src "aoc-2019-1.py:75" | |
case | |
end | |
attribute \src "nmigen/hdl/xfrm.py:528" | |
switch \rst | |
case 1'1 | |
assign \in_val$next 24'000000000000000000000000 | |
end | |
sync init | |
update \in_val 24'000000000000000000000000 | |
sync posedge \clk | |
update \in_val \in_val$next | |
end | |
attribute \src "aoc-2019-1.py:44" | |
wire width 1 $45 | |
attribute \src "aoc-2019-1.py:44" | |
cell $not $46 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 1'1 | |
parameter \Y_WIDTH 1'1 | |
connect \A \uart_rx_ack | |
connect \Y $45 | |
end | |
attribute \src "aoc-2019-1.py:45" | |
wire width 1 $47 | |
attribute \src "aoc-2019-1.py:45" | |
cell $eq $48 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 4'1000 | |
parameter \B_SIGNED 1'0 | |
parameter \B_WIDTH 3'101 | |
parameter \Y_WIDTH 1'1 | |
connect \A \uart_rx_data | |
connect \B 5'10010 | |
connect \Y $47 | |
end | |
attribute \src "aoc-2019-1.py:53" | |
wire width 1 $49 | |
attribute \src "aoc-2019-1.py:53" | |
cell $ge $50 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 4'1000 | |
parameter \B_SIGNED 1'0 | |
parameter \B_WIDTH 3'110 | |
parameter \Y_WIDTH 1'1 | |
connect \A \uart_rx_data | |
connect \B 6'110000 | |
connect \Y $49 | |
end | |
attribute \src "aoc-2019-1.py:53" | |
wire width 1 $51 | |
attribute \src "aoc-2019-1.py:53" | |
cell $le $52 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 4'1000 | |
parameter \B_SIGNED 1'0 | |
parameter \B_WIDTH 3'110 | |
parameter \Y_WIDTH 1'1 | |
connect \A \uart_rx_data | |
connect \B 6'111001 | |
connect \Y $51 | |
end | |
attribute \src "aoc-2019-1.py:53" | |
wire width 1 $53 | |
attribute \src "aoc-2019-1.py:53" | |
cell $and $54 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 1'1 | |
parameter \B_SIGNED 1'0 | |
parameter \B_WIDTH 1'1 | |
parameter \Y_WIDTH 1'1 | |
connect \A $49 | |
connect \B $51 | |
connect \Y $53 | |
end | |
attribute \src "aoc-2019-1.py:65" | |
wire width 1 $55 | |
attribute \src "aoc-2019-1.py:65" | |
cell $eq $56 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 4'1000 | |
parameter \B_SIGNED 1'0 | |
parameter \B_WIDTH 3'110 | |
parameter \Y_WIDTH 1'1 | |
connect \A \uart_rx_data | |
connect \B 6'100000 | |
connect \Y $55 | |
end | |
attribute \src "aoc-2019-1.py:67" | |
wire width 1 $57 | |
attribute \src "aoc-2019-1.py:67" | |
cell $eq $58 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 4'1000 | |
parameter \B_SIGNED 1'0 | |
parameter \B_WIDTH 3'100 | |
parameter \Y_WIDTH 1'1 | |
connect \A \uart_rx_data | |
connect \B 4'1010 | |
connect \Y $57 | |
end | |
attribute \src "aoc-2019-1.py:36" | |
wire width 24 \out_val | |
attribute \src "aoc-2019-1.py:36" | |
wire width 24 \out_val$next | |
attribute \src "aoc-2019-1.py:38" | |
wire width 3 \out_idx | |
attribute \src "aoc-2019-1.py:38" | |
wire width 3 \out_idx$next | |
attribute \src "aoc-2019-1.py:81" | |
wire width 1 $59 | |
attribute \src "aoc-2019-1.py:81" | |
cell $ge $60 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 5'11000 | |
parameter \B_SIGNED 1'0 | |
parameter \B_WIDTH 5'10100 | |
parameter \Y_WIDTH 1'1 | |
connect \A \out_val | |
connect \B 20'00000000000000000001 | |
connect \Y $59 | |
end | |
attribute \src "aoc-2019-1.py:86" | |
wire width 1 $61 | |
attribute \src "aoc-2019-1.py:86" | |
cell $not $62 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 1'1 | |
parameter \Y_WIDTH 1'1 | |
connect \A \uart_tx_rdy | |
connect \Y $61 | |
end | |
attribute \src "aoc-2019-1.py:92" | |
wire width 1 $63 | |
attribute \src "aoc-2019-1.py:92" | |
cell $ne $64 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 2'11 | |
parameter \B_SIGNED 1'0 | |
parameter \B_WIDTH 1'1 | |
parameter \Y_WIDTH 1'1 | |
connect \A 3'000 | |
connect \B 1'0 | |
connect \Y $63 | |
end | |
attribute \src "aoc-2019-1.py:81" | |
wire width 1 $65 | |
attribute \src "aoc-2019-1.py:81" | |
cell $ge $66 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 5'11000 | |
parameter \B_SIGNED 1'0 | |
parameter \B_WIDTH 5'10100 | |
parameter \Y_WIDTH 1'1 | |
connect \A \out_val | |
connect \B 20'00000000000000001010 | |
connect \Y $65 | |
end | |
attribute \src "aoc-2019-1.py:86" | |
wire width 1 $67 | |
attribute \src "aoc-2019-1.py:86" | |
cell $not $68 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 1'1 | |
parameter \Y_WIDTH 1'1 | |
connect \A \uart_tx_rdy | |
connect \Y $67 | |
end | |
attribute \src "aoc-2019-1.py:92" | |
wire width 1 $69 | |
attribute \src "aoc-2019-1.py:92" | |
cell $ne $70 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 2'11 | |
parameter \B_SIGNED 1'0 | |
parameter \B_WIDTH 1'1 | |
parameter \Y_WIDTH 1'1 | |
connect \A 3'001 | |
connect \B 1'0 | |
connect \Y $69 | |
end | |
attribute \src "aoc-2019-1.py:81" | |
wire width 1 $71 | |
attribute \src "aoc-2019-1.py:81" | |
cell $ge $72 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 5'11000 | |
parameter \B_SIGNED 1'0 | |
parameter \B_WIDTH 5'10100 | |
parameter \Y_WIDTH 1'1 | |
connect \A \out_val | |
connect \B 20'00000000000001100100 | |
connect \Y $71 | |
end | |
attribute \src "aoc-2019-1.py:86" | |
wire width 1 $73 | |
attribute \src "aoc-2019-1.py:86" | |
cell $not $74 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 1'1 | |
parameter \Y_WIDTH 1'1 | |
connect \A \uart_tx_rdy | |
connect \Y $73 | |
end | |
attribute \src "aoc-2019-1.py:92" | |
wire width 1 $75 | |
attribute \src "aoc-2019-1.py:92" | |
cell $ne $76 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 2'11 | |
parameter \B_SIGNED 1'0 | |
parameter \B_WIDTH 1'1 | |
parameter \Y_WIDTH 1'1 | |
connect \A 3'010 | |
connect \B 1'0 | |
connect \Y $75 | |
end | |
attribute \src "aoc-2019-1.py:81" | |
wire width 1 $77 | |
attribute \src "aoc-2019-1.py:81" | |
cell $ge $78 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 5'11000 | |
parameter \B_SIGNED 1'0 | |
parameter \B_WIDTH 5'10100 | |
parameter \Y_WIDTH 1'1 | |
connect \A \out_val | |
connect \B 20'00000000001111101000 | |
connect \Y $77 | |
end | |
attribute \src "aoc-2019-1.py:86" | |
wire width 1 $79 | |
attribute \src "aoc-2019-1.py:86" | |
cell $not $80 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 1'1 | |
parameter \Y_WIDTH 1'1 | |
connect \A \uart_tx_rdy | |
connect \Y $79 | |
end | |
attribute \src "aoc-2019-1.py:92" | |
wire width 1 $81 | |
attribute \src "aoc-2019-1.py:92" | |
cell $ne $82 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 2'11 | |
parameter \B_SIGNED 1'0 | |
parameter \B_WIDTH 1'1 | |
parameter \Y_WIDTH 1'1 | |
connect \A 3'011 | |
connect \B 1'0 | |
connect \Y $81 | |
end | |
attribute \src "aoc-2019-1.py:81" | |
wire width 1 $83 | |
attribute \src "aoc-2019-1.py:81" | |
cell $ge $84 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 5'11000 | |
parameter \B_SIGNED 1'0 | |
parameter \B_WIDTH 5'10100 | |
parameter \Y_WIDTH 1'1 | |
connect \A \out_val | |
connect \B 20'00000010011100010000 | |
connect \Y $83 | |
end | |
attribute \src "aoc-2019-1.py:86" | |
wire width 1 $85 | |
attribute \src "aoc-2019-1.py:86" | |
cell $not $86 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 1'1 | |
parameter \Y_WIDTH 1'1 | |
connect \A \uart_tx_rdy | |
connect \Y $85 | |
end | |
attribute \src "aoc-2019-1.py:92" | |
wire width 1 $87 | |
attribute \src "aoc-2019-1.py:92" | |
cell $ne $88 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 2'11 | |
parameter \B_SIGNED 1'0 | |
parameter \B_WIDTH 1'1 | |
parameter \Y_WIDTH 1'1 | |
connect \A 3'100 | |
connect \B 1'0 | |
connect \Y $87 | |
end | |
attribute \src "aoc-2019-1.py:81" | |
wire width 1 $89 | |
attribute \src "aoc-2019-1.py:81" | |
cell $ge $90 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 5'11000 | |
parameter \B_SIGNED 1'0 | |
parameter \B_WIDTH 5'10100 | |
parameter \Y_WIDTH 1'1 | |
connect \A \out_val | |
connect \B 20'00011000011010100000 | |
connect \Y $89 | |
end | |
attribute \src "aoc-2019-1.py:86" | |
wire width 1 $91 | |
attribute \src "aoc-2019-1.py:86" | |
cell $not $92 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 1'1 | |
parameter \Y_WIDTH 1'1 | |
connect \A \uart_tx_rdy | |
connect \Y $91 | |
end | |
attribute \src "aoc-2019-1.py:92" | |
wire width 1 $93 | |
attribute \src "aoc-2019-1.py:92" | |
cell $ne $94 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 2'11 | |
parameter \B_SIGNED 1'0 | |
parameter \B_WIDTH 1'1 | |
parameter \Y_WIDTH 1'1 | |
connect \A 3'101 | |
connect \B 1'0 | |
connect \Y $93 | |
end | |
attribute \src "aoc-2019-1.py:81" | |
wire width 1 $95 | |
attribute \src "aoc-2019-1.py:81" | |
cell $ge $96 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 5'11000 | |
parameter \B_SIGNED 1'0 | |
parameter \B_WIDTH 5'10100 | |
parameter \Y_WIDTH 1'1 | |
connect \A \out_val | |
connect \B 20'11110100001001000000 | |
connect \Y $95 | |
end | |
attribute \src "aoc-2019-1.py:86" | |
wire width 1 $97 | |
attribute \src "aoc-2019-1.py:86" | |
cell $not $98 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 1'1 | |
parameter \Y_WIDTH 1'1 | |
connect \A \uart_tx_rdy | |
connect \Y $97 | |
end | |
attribute \src "aoc-2019-1.py:92" | |
wire width 1 $99 | |
attribute \src "aoc-2019-1.py:92" | |
cell $ne $100 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 2'11 | |
parameter \B_SIGNED 1'0 | |
parameter \B_WIDTH 1'1 | |
parameter \Y_WIDTH 1'1 | |
connect \A 3'110 | |
connect \B 1'0 | |
connect \Y $99 | |
end | |
process $group_10 | |
assign \out_en$next \out_en | |
attribute \src "aoc-2019-1.py:41" | |
switch { \uart_rx_rdy } | |
attribute \src "aoc-2019-1.py:41" | |
case 1'1 | |
attribute \src "aoc-2019-1.py:44" | |
switch { $45 } | |
attribute \src "aoc-2019-1.py:44" | |
case 1'1 | |
attribute \src "aoc-2019-1.py:45" | |
switch { $53 $47 } | |
attribute \src "aoc-2019-1.py:45" | |
case 2'-1 | |
assign \out_en$next 1'0 | |
attribute \src "aoc-2019-1.py:53" | |
case 2'1- | |
attribute \src "aoc-2019-1.py:57" | |
case | |
attribute \src "aoc-2019-1.py:58" | |
switch { \out_en } | |
attribute \src "aoc-2019-1.py:58" | |
case 1'1 | |
attribute \src "aoc-2019-1.py:60" | |
case | |
attribute \src "aoc-2019-1.py:65" | |
switch { $57 $55 } | |
attribute \src "aoc-2019-1.py:65" | |
case 2'-1 | |
attribute \src "aoc-2019-1.py:67" | |
case 2'1- | |
assign \out_en$next 1'1 | |
attribute \src "aoc-2019-1.py:73" | |
case | |
end | |
end | |
end | |
end | |
attribute \src "aoc-2019-1.py:75" | |
case | |
end | |
attribute \src "aoc-2019-1.py:79" | |
switch { \out_en } | |
attribute \src "aoc-2019-1.py:79" | |
case 1'1 | |
attribute \src "aoc-2019-1.py:81" | |
switch \out_idx | |
case 3'000 | |
attribute \src "aoc-2019-1.py:81" | |
switch { $61 $59 } | |
attribute \src "aoc-2019-1.py:81" | |
case 2'-1 | |
attribute \src "aoc-2019-1.py:86" | |
case 2'1- | |
attribute \src "aoc-2019-1.py:92" | |
switch { $63 } | |
attribute \src "aoc-2019-1.py:92" | |
case 1'1 | |
attribute \src "aoc-2019-1.py:94" | |
case | |
assign \out_en$next 1'0 | |
end | |
end | |
case 3'001 | |
attribute \src "aoc-2019-1.py:81" | |
switch { $67 $65 } | |
attribute \src "aoc-2019-1.py:81" | |
case 2'-1 | |
attribute \src "aoc-2019-1.py:86" | |
case 2'1- | |
attribute \src "aoc-2019-1.py:92" | |
switch { $69 } | |
attribute \src "aoc-2019-1.py:92" | |
case 1'1 | |
attribute \src "aoc-2019-1.py:94" | |
case | |
assign \out_en$next 1'0 | |
end | |
end | |
case 3'010 | |
attribute \src "aoc-2019-1.py:81" | |
switch { $73 $71 } | |
attribute \src "aoc-2019-1.py:81" | |
case 2'-1 | |
attribute \src "aoc-2019-1.py:86" | |
case 2'1- | |
attribute \src "aoc-2019-1.py:92" | |
switch { $75 } | |
attribute \src "aoc-2019-1.py:92" | |
case 1'1 | |
attribute \src "aoc-2019-1.py:94" | |
case | |
assign \out_en$next 1'0 | |
end | |
end | |
case 3'011 | |
attribute \src "aoc-2019-1.py:81" | |
switch { $79 $77 } | |
attribute \src "aoc-2019-1.py:81" | |
case 2'-1 | |
attribute \src "aoc-2019-1.py:86" | |
case 2'1- | |
attribute \src "aoc-2019-1.py:92" | |
switch { $81 } | |
attribute \src "aoc-2019-1.py:92" | |
case 1'1 | |
attribute \src "aoc-2019-1.py:94" | |
case | |
assign \out_en$next 1'0 | |
end | |
end | |
case 3'100 | |
attribute \src "aoc-2019-1.py:81" | |
switch { $85 $83 } | |
attribute \src "aoc-2019-1.py:81" | |
case 2'-1 | |
attribute \src "aoc-2019-1.py:86" | |
case 2'1- | |
attribute \src "aoc-2019-1.py:92" | |
switch { $87 } | |
attribute \src "aoc-2019-1.py:92" | |
case 1'1 | |
attribute \src "aoc-2019-1.py:94" | |
case | |
assign \out_en$next 1'0 | |
end | |
end | |
case 3'101 | |
attribute \src "aoc-2019-1.py:81" | |
switch { $91 $89 } | |
attribute \src "aoc-2019-1.py:81" | |
case 2'-1 | |
attribute \src "aoc-2019-1.py:86" | |
case 2'1- | |
attribute \src "aoc-2019-1.py:92" | |
switch { $93 } | |
attribute \src "aoc-2019-1.py:92" | |
case 1'1 | |
attribute \src "aoc-2019-1.py:94" | |
case | |
assign \out_en$next 1'0 | |
end | |
end | |
case 3'--- | |
attribute \src "aoc-2019-1.py:81" | |
switch { $97 $95 } | |
attribute \src "aoc-2019-1.py:81" | |
case 2'-1 | |
attribute \src "aoc-2019-1.py:86" | |
case 2'1- | |
attribute \src "aoc-2019-1.py:92" | |
switch { $99 } | |
attribute \src "aoc-2019-1.py:92" | |
case 1'1 | |
attribute \src "aoc-2019-1.py:94" | |
case | |
assign \out_en$next 1'0 | |
end | |
end | |
end | |
end | |
attribute \src "nmigen/hdl/xfrm.py:528" | |
switch \rst | |
case 1'1 | |
assign \out_en$next 1'0 | |
end | |
sync init | |
update \out_en 1'0 | |
sync posedge \clk | |
update \out_en \out_en$next | |
end | |
attribute \src "aoc-2019-1.py:44" | |
wire width 1 $101 | |
attribute \src "aoc-2019-1.py:44" | |
cell $not $102 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 1'1 | |
parameter \Y_WIDTH 1'1 | |
connect \A \uart_rx_ack | |
connect \Y $101 | |
end | |
attribute \src "aoc-2019-1.py:45" | |
wire width 1 $103 | |
attribute \src "aoc-2019-1.py:45" | |
cell $eq $104 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 4'1000 | |
parameter \B_SIGNED 1'0 | |
parameter \B_WIDTH 3'101 | |
parameter \Y_WIDTH 1'1 | |
connect \A \uart_rx_data | |
connect \B 5'10010 | |
connect \Y $103 | |
end | |
attribute \src "aoc-2019-1.py:53" | |
wire width 1 $105 | |
attribute \src "aoc-2019-1.py:53" | |
cell $ge $106 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 4'1000 | |
parameter \B_SIGNED 1'0 | |
parameter \B_WIDTH 3'110 | |
parameter \Y_WIDTH 1'1 | |
connect \A \uart_rx_data | |
connect \B 6'110000 | |
connect \Y $105 | |
end | |
attribute \src "aoc-2019-1.py:53" | |
wire width 1 $107 | |
attribute \src "aoc-2019-1.py:53" | |
cell $le $108 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 4'1000 | |
parameter \B_SIGNED 1'0 | |
parameter \B_WIDTH 3'110 | |
parameter \Y_WIDTH 1'1 | |
connect \A \uart_rx_data | |
connect \B 6'111001 | |
connect \Y $107 | |
end | |
attribute \src "aoc-2019-1.py:53" | |
wire width 1 $109 | |
attribute \src "aoc-2019-1.py:53" | |
cell $and $110 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 1'1 | |
parameter \B_SIGNED 1'0 | |
parameter \B_WIDTH 1'1 | |
parameter \Y_WIDTH 1'1 | |
connect \A $105 | |
connect \B $107 | |
connect \Y $109 | |
end | |
attribute \src "aoc-2019-1.py:63" | |
wire width 26 $111 | |
attribute \src "aoc-2019-1.py:63" | |
wire width 24 $112 | |
attribute \src "aoc-2019-1.py:63" | |
cell $div $113 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 5'11000 | |
parameter \B_SIGNED 1'0 | |
parameter \B_WIDTH 2'10 | |
parameter \Y_WIDTH 5'11000 | |
connect \A \in_val | |
connect \B 2'11 | |
connect \Y $112 | |
end | |
attribute \src "aoc-2019-1.py:63" | |
wire width 24 $114 | |
attribute \src "nmigen/back/rtlil.py:516" | |
wire width 1 $115 | |
attribute \src "nmigen/back/rtlil.py:516" | |
cell $eq $116 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 5'11000 | |
parameter \B_SIGNED 1'0 | |
parameter \B_WIDTH 1'1 | |
parameter \Y_WIDTH 1'1 | |
connect \A \in_val | |
connect \B 1'0 | |
connect \Y $115 | |
end | |
attribute \src "aoc-2019-1.py:63" | |
cell $mux $117 | |
parameter \WIDTH 5'11000 | |
connect \A $112 | |
connect \B 24'000000000000000000000000 | |
connect \S $115 | |
connect \Y $114 | |
end | |
attribute \src "aoc-2019-1.py:63" | |
wire width 25 $118 | |
attribute \src "aoc-2019-1.py:63" | |
cell $add $119 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 5'11000 | |
parameter \B_SIGNED 1'0 | |
parameter \B_WIDTH 5'11000 | |
parameter \Y_WIDTH 5'11001 | |
connect \A \out_val | |
connect \B $114 | |
connect \Y $118 | |
end | |
attribute \src "aoc-2019-1.py:63" | |
wire width 26 $120 | |
attribute \src "aoc-2019-1.py:63" | |
cell $sub $121 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 5'11001 | |
parameter \B_SIGNED 1'0 | |
parameter \B_WIDTH 2'10 | |
parameter \Y_WIDTH 5'11010 | |
connect \A $118 | |
connect \B 2'10 | |
connect \Y $120 | |
end | |
connect $111 $120 | |
attribute \src "aoc-2019-1.py:81" | |
wire width 1 $122 | |
attribute \src "aoc-2019-1.py:81" | |
cell $ge $123 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 5'11000 | |
parameter \B_SIGNED 1'0 | |
parameter \B_WIDTH 5'10100 | |
parameter \Y_WIDTH 1'1 | |
connect \A \out_val | |
connect \B 20'00000000000000000001 | |
connect \Y $122 | |
end | |
attribute \src "aoc-2019-1.py:86" | |
wire width 1 $124 | |
attribute \src "aoc-2019-1.py:86" | |
cell $not $125 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 1'1 | |
parameter \Y_WIDTH 1'1 | |
connect \A \uart_tx_rdy | |
connect \Y $124 | |
end | |
attribute \src "aoc-2019-1.py:84" | |
wire width 25 $126 | |
attribute \src "aoc-2019-1.py:84" | |
wire width 25 $127 | |
attribute \src "aoc-2019-1.py:84" | |
cell $sub $128 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 5'11000 | |
parameter \B_SIGNED 1'0 | |
parameter \B_WIDTH 5'10100 | |
parameter \Y_WIDTH 5'11001 | |
connect \A \out_val | |
connect \B 20'00000000000000000001 | |
connect \Y $127 | |
end | |
connect $126 $127 | |
attribute \src "aoc-2019-1.py:81" | |
wire width 1 $129 | |
attribute \src "aoc-2019-1.py:81" | |
cell $ge $130 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 5'11000 | |
parameter \B_SIGNED 1'0 | |
parameter \B_WIDTH 5'10100 | |
parameter \Y_WIDTH 1'1 | |
connect \A \out_val | |
connect \B 20'00000000000000001010 | |
connect \Y $129 | |
end | |
attribute \src "aoc-2019-1.py:86" | |
wire width 1 $131 | |
attribute \src "aoc-2019-1.py:86" | |
cell $not $132 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 1'1 | |
parameter \Y_WIDTH 1'1 | |
connect \A \uart_tx_rdy | |
connect \Y $131 | |
end | |
attribute \src "aoc-2019-1.py:84" | |
wire width 25 $133 | |
attribute \src "aoc-2019-1.py:84" | |
wire width 25 $134 | |
attribute \src "aoc-2019-1.py:84" | |
cell $sub $135 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 5'11000 | |
parameter \B_SIGNED 1'0 | |
parameter \B_WIDTH 5'10100 | |
parameter \Y_WIDTH 5'11001 | |
connect \A \out_val | |
connect \B 20'00000000000000001010 | |
connect \Y $134 | |
end | |
connect $133 $134 | |
attribute \src "aoc-2019-1.py:81" | |
wire width 1 $136 | |
attribute \src "aoc-2019-1.py:81" | |
cell $ge $137 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 5'11000 | |
parameter \B_SIGNED 1'0 | |
parameter \B_WIDTH 5'10100 | |
parameter \Y_WIDTH 1'1 | |
connect \A \out_val | |
connect \B 20'00000000000001100100 | |
connect \Y $136 | |
end | |
attribute \src "aoc-2019-1.py:86" | |
wire width 1 $138 | |
attribute \src "aoc-2019-1.py:86" | |
cell $not $139 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 1'1 | |
parameter \Y_WIDTH 1'1 | |
connect \A \uart_tx_rdy | |
connect \Y $138 | |
end | |
attribute \src "aoc-2019-1.py:84" | |
wire width 25 $140 | |
attribute \src "aoc-2019-1.py:84" | |
wire width 25 $141 | |
attribute \src "aoc-2019-1.py:84" | |
cell $sub $142 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 5'11000 | |
parameter \B_SIGNED 1'0 | |
parameter \B_WIDTH 5'10100 | |
parameter \Y_WIDTH 5'11001 | |
connect \A \out_val | |
connect \B 20'00000000000001100100 | |
connect \Y $141 | |
end | |
connect $140 $141 | |
attribute \src "aoc-2019-1.py:81" | |
wire width 1 $143 | |
attribute \src "aoc-2019-1.py:81" | |
cell $ge $144 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 5'11000 | |
parameter \B_SIGNED 1'0 | |
parameter \B_WIDTH 5'10100 | |
parameter \Y_WIDTH 1'1 | |
connect \A \out_val | |
connect \B 20'00000000001111101000 | |
connect \Y $143 | |
end | |
attribute \src "aoc-2019-1.py:86" | |
wire width 1 $145 | |
attribute \src "aoc-2019-1.py:86" | |
cell $not $146 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 1'1 | |
parameter \Y_WIDTH 1'1 | |
connect \A \uart_tx_rdy | |
connect \Y $145 | |
end | |
attribute \src "aoc-2019-1.py:84" | |
wire width 25 $147 | |
attribute \src "aoc-2019-1.py:84" | |
wire width 25 $148 | |
attribute \src "aoc-2019-1.py:84" | |
cell $sub $149 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 5'11000 | |
parameter \B_SIGNED 1'0 | |
parameter \B_WIDTH 5'10100 | |
parameter \Y_WIDTH 5'11001 | |
connect \A \out_val | |
connect \B 20'00000000001111101000 | |
connect \Y $148 | |
end | |
connect $147 $148 | |
attribute \src "aoc-2019-1.py:81" | |
wire width 1 $150 | |
attribute \src "aoc-2019-1.py:81" | |
cell $ge $151 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 5'11000 | |
parameter \B_SIGNED 1'0 | |
parameter \B_WIDTH 5'10100 | |
parameter \Y_WIDTH 1'1 | |
connect \A \out_val | |
connect \B 20'00000010011100010000 | |
connect \Y $150 | |
end | |
attribute \src "aoc-2019-1.py:86" | |
wire width 1 $152 | |
attribute \src "aoc-2019-1.py:86" | |
cell $not $153 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 1'1 | |
parameter \Y_WIDTH 1'1 | |
connect \A \uart_tx_rdy | |
connect \Y $152 | |
end | |
attribute \src "aoc-2019-1.py:84" | |
wire width 25 $154 | |
attribute \src "aoc-2019-1.py:84" | |
wire width 25 $155 | |
attribute \src "aoc-2019-1.py:84" | |
cell $sub $156 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 5'11000 | |
parameter \B_SIGNED 1'0 | |
parameter \B_WIDTH 5'10100 | |
parameter \Y_WIDTH 5'11001 | |
connect \A \out_val | |
connect \B 20'00000010011100010000 | |
connect \Y $155 | |
end | |
connect $154 $155 | |
attribute \src "aoc-2019-1.py:81" | |
wire width 1 $157 | |
attribute \src "aoc-2019-1.py:81" | |
cell $ge $158 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 5'11000 | |
parameter \B_SIGNED 1'0 | |
parameter \B_WIDTH 5'10100 | |
parameter \Y_WIDTH 1'1 | |
connect \A \out_val | |
connect \B 20'00011000011010100000 | |
connect \Y $157 | |
end | |
attribute \src "aoc-2019-1.py:86" | |
wire width 1 $159 | |
attribute \src "aoc-2019-1.py:86" | |
cell $not $160 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 1'1 | |
parameter \Y_WIDTH 1'1 | |
connect \A \uart_tx_rdy | |
connect \Y $159 | |
end | |
attribute \src "aoc-2019-1.py:84" | |
wire width 25 $161 | |
attribute \src "aoc-2019-1.py:84" | |
wire width 25 $162 | |
attribute \src "aoc-2019-1.py:84" | |
cell $sub $163 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 5'11000 | |
parameter \B_SIGNED 1'0 | |
parameter \B_WIDTH 5'10100 | |
parameter \Y_WIDTH 5'11001 | |
connect \A \out_val | |
connect \B 20'00011000011010100000 | |
connect \Y $162 | |
end | |
connect $161 $162 | |
attribute \src "aoc-2019-1.py:81" | |
wire width 1 $164 | |
attribute \src "aoc-2019-1.py:81" | |
cell $ge $165 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 5'11000 | |
parameter \B_SIGNED 1'0 | |
parameter \B_WIDTH 5'10100 | |
parameter \Y_WIDTH 1'1 | |
connect \A \out_val | |
connect \B 20'11110100001001000000 | |
connect \Y $164 | |
end | |
attribute \src "aoc-2019-1.py:86" | |
wire width 1 $166 | |
attribute \src "aoc-2019-1.py:86" | |
cell $not $167 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 1'1 | |
parameter \Y_WIDTH 1'1 | |
connect \A \uart_tx_rdy | |
connect \Y $166 | |
end | |
attribute \src "aoc-2019-1.py:84" | |
wire width 25 $168 | |
attribute \src "aoc-2019-1.py:84" | |
wire width 25 $169 | |
attribute \src "aoc-2019-1.py:84" | |
cell $sub $170 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 5'11000 | |
parameter \B_SIGNED 1'0 | |
parameter \B_WIDTH 5'10100 | |
parameter \Y_WIDTH 5'11001 | |
connect \A \out_val | |
connect \B 20'11110100001001000000 | |
connect \Y $169 | |
end | |
connect $168 $169 | |
process $group_11 | |
assign \out_val$next \out_val | |
attribute \src "aoc-2019-1.py:41" | |
switch { \uart_rx_rdy } | |
attribute \src "aoc-2019-1.py:41" | |
case 1'1 | |
attribute \src "aoc-2019-1.py:44" | |
switch { $101 } | |
attribute \src "aoc-2019-1.py:44" | |
case 1'1 | |
attribute \src "aoc-2019-1.py:45" | |
switch { $109 $103 } | |
attribute \src "aoc-2019-1.py:45" | |
case 2'-1 | |
assign \out_val$next 24'000000000000000000000000 | |
attribute \src "aoc-2019-1.py:53" | |
case 2'1- | |
attribute \src "aoc-2019-1.py:57" | |
case | |
attribute \src "aoc-2019-1.py:58" | |
switch { \out_en } | |
attribute \src "aoc-2019-1.py:58" | |
case 1'1 | |
attribute \src "aoc-2019-1.py:60" | |
case | |
assign \out_val$next $111 [23:0] | |
end | |
end | |
end | |
attribute \src "aoc-2019-1.py:75" | |
case | |
end | |
attribute \src "aoc-2019-1.py:79" | |
switch { \out_en } | |
attribute \src "aoc-2019-1.py:79" | |
case 1'1 | |
attribute \src "aoc-2019-1.py:81" | |
switch \out_idx | |
case 3'000 | |
attribute \src "aoc-2019-1.py:81" | |
switch { $124 $122 } | |
attribute \src "aoc-2019-1.py:81" | |
case 2'-1 | |
assign \out_val$next $126 [23:0] | |
attribute \src "aoc-2019-1.py:86" | |
case 2'1- | |
end | |
case 3'001 | |
attribute \src "aoc-2019-1.py:81" | |
switch { $131 $129 } | |
attribute \src "aoc-2019-1.py:81" | |
case 2'-1 | |
assign \out_val$next $133 [23:0] | |
attribute \src "aoc-2019-1.py:86" | |
case 2'1- | |
end | |
case 3'010 | |
attribute \src "aoc-2019-1.py:81" | |
switch { $138 $136 } | |
attribute \src "aoc-2019-1.py:81" | |
case 2'-1 | |
assign \out_val$next $140 [23:0] | |
attribute \src "aoc-2019-1.py:86" | |
case 2'1- | |
end | |
case 3'011 | |
attribute \src "aoc-2019-1.py:81" | |
switch { $145 $143 } | |
attribute \src "aoc-2019-1.py:81" | |
case 2'-1 | |
assign \out_val$next $147 [23:0] | |
attribute \src "aoc-2019-1.py:86" | |
case 2'1- | |
end | |
case 3'100 | |
attribute \src "aoc-2019-1.py:81" | |
switch { $152 $150 } | |
attribute \src "aoc-2019-1.py:81" | |
case 2'-1 | |
assign \out_val$next $154 [23:0] | |
attribute \src "aoc-2019-1.py:86" | |
case 2'1- | |
end | |
case 3'101 | |
attribute \src "aoc-2019-1.py:81" | |
switch { $159 $157 } | |
attribute \src "aoc-2019-1.py:81" | |
case 2'-1 | |
assign \out_val$next $161 [23:0] | |
attribute \src "aoc-2019-1.py:86" | |
case 2'1- | |
end | |
case 3'--- | |
attribute \src "aoc-2019-1.py:81" | |
switch { $166 $164 } | |
attribute \src "aoc-2019-1.py:81" | |
case 2'-1 | |
assign \out_val$next $168 [23:0] | |
attribute \src "aoc-2019-1.py:86" | |
case 2'1- | |
end | |
end | |
end | |
attribute \src "nmigen/hdl/xfrm.py:528" | |
switch \rst | |
case 1'1 | |
assign \out_val$next 24'000000000000000000000000 | |
end | |
sync init | |
update \out_val 24'000000000000000000000000 | |
sync posedge \clk | |
update \out_val \out_val$next | |
end | |
attribute \src "aoc-2019-1.py:37" | |
wire width 4 \out_digit | |
attribute \src "aoc-2019-1.py:37" | |
wire width 4 \out_digit$next | |
attribute \src "aoc-2019-1.py:44" | |
wire width 1 $171 | |
attribute \src "aoc-2019-1.py:44" | |
cell $not $172 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 1'1 | |
parameter \Y_WIDTH 1'1 | |
connect \A \uart_rx_ack | |
connect \Y $171 | |
end | |
attribute \src "aoc-2019-1.py:45" | |
wire width 1 $173 | |
attribute \src "aoc-2019-1.py:45" | |
cell $eq $174 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 4'1000 | |
parameter \B_SIGNED 1'0 | |
parameter \B_WIDTH 3'101 | |
parameter \Y_WIDTH 1'1 | |
connect \A \uart_rx_data | |
connect \B 5'10010 | |
connect \Y $173 | |
end | |
attribute \src "aoc-2019-1.py:53" | |
wire width 1 $175 | |
attribute \src "aoc-2019-1.py:53" | |
cell $ge $176 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 4'1000 | |
parameter \B_SIGNED 1'0 | |
parameter \B_WIDTH 3'110 | |
parameter \Y_WIDTH 1'1 | |
connect \A \uart_rx_data | |
connect \B 6'110000 | |
connect \Y $175 | |
end | |
attribute \src "aoc-2019-1.py:53" | |
wire width 1 $177 | |
attribute \src "aoc-2019-1.py:53" | |
cell $le $178 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 4'1000 | |
parameter \B_SIGNED 1'0 | |
parameter \B_WIDTH 3'110 | |
parameter \Y_WIDTH 1'1 | |
connect \A \uart_rx_data | |
connect \B 6'111001 | |
connect \Y $177 | |
end | |
attribute \src "aoc-2019-1.py:53" | |
wire width 1 $179 | |
attribute \src "aoc-2019-1.py:53" | |
cell $and $180 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 1'1 | |
parameter \B_SIGNED 1'0 | |
parameter \B_WIDTH 1'1 | |
parameter \Y_WIDTH 1'1 | |
connect \A $175 | |
connect \B $177 | |
connect \Y $179 | |
end | |
attribute \src "aoc-2019-1.py:65" | |
wire width 1 $181 | |
attribute \src "aoc-2019-1.py:65" | |
cell $eq $182 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 4'1000 | |
parameter \B_SIGNED 1'0 | |
parameter \B_WIDTH 3'110 | |
parameter \Y_WIDTH 1'1 | |
connect \A \uart_rx_data | |
connect \B 6'100000 | |
connect \Y $181 | |
end | |
attribute \src "aoc-2019-1.py:67" | |
wire width 1 $183 | |
attribute \src "aoc-2019-1.py:67" | |
cell $eq $184 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 4'1000 | |
parameter \B_SIGNED 1'0 | |
parameter \B_WIDTH 3'100 | |
parameter \Y_WIDTH 1'1 | |
connect \A \uart_rx_data | |
connect \B 4'1010 | |
connect \Y $183 | |
end | |
attribute \src "aoc-2019-1.py:81" | |
wire width 1 $185 | |
attribute \src "aoc-2019-1.py:81" | |
cell $ge $186 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 5'11000 | |
parameter \B_SIGNED 1'0 | |
parameter \B_WIDTH 5'10100 | |
parameter \Y_WIDTH 1'1 | |
connect \A \out_val | |
connect \B 20'00000000000000000001 | |
connect \Y $185 | |
end | |
attribute \src "aoc-2019-1.py:86" | |
wire width 1 $187 | |
attribute \src "aoc-2019-1.py:86" | |
cell $not $188 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 1'1 | |
parameter \Y_WIDTH 1'1 | |
connect \A \uart_tx_rdy | |
connect \Y $187 | |
end | |
attribute \src "aoc-2019-1.py:83" | |
wire width 5 $189 | |
attribute \src "aoc-2019-1.py:83" | |
wire width 5 $190 | |
attribute \src "aoc-2019-1.py:83" | |
cell $add $191 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 3'100 | |
parameter \B_SIGNED 1'0 | |
parameter \B_WIDTH 1'1 | |
parameter \Y_WIDTH 3'101 | |
connect \A \out_digit | |
connect \B 1'1 | |
connect \Y $190 | |
end | |
connect $189 $190 | |
attribute \src "aoc-2019-1.py:81" | |
wire width 1 $192 | |
attribute \src "aoc-2019-1.py:81" | |
cell $ge $193 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 5'11000 | |
parameter \B_SIGNED 1'0 | |
parameter \B_WIDTH 5'10100 | |
parameter \Y_WIDTH 1'1 | |
connect \A \out_val | |
connect \B 20'00000000000000001010 | |
connect \Y $192 | |
end | |
attribute \src "aoc-2019-1.py:86" | |
wire width 1 $194 | |
attribute \src "aoc-2019-1.py:86" | |
cell $not $195 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 1'1 | |
parameter \Y_WIDTH 1'1 | |
connect \A \uart_tx_rdy | |
connect \Y $194 | |
end | |
attribute \src "aoc-2019-1.py:83" | |
wire width 5 $196 | |
attribute \src "aoc-2019-1.py:83" | |
wire width 5 $197 | |
attribute \src "aoc-2019-1.py:83" | |
cell $add $198 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 3'100 | |
parameter \B_SIGNED 1'0 | |
parameter \B_WIDTH 1'1 | |
parameter \Y_WIDTH 3'101 | |
connect \A \out_digit | |
connect \B 1'1 | |
connect \Y $197 | |
end | |
connect $196 $197 | |
attribute \src "aoc-2019-1.py:81" | |
wire width 1 $199 | |
attribute \src "aoc-2019-1.py:81" | |
cell $ge $200 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 5'11000 | |
parameter \B_SIGNED 1'0 | |
parameter \B_WIDTH 5'10100 | |
parameter \Y_WIDTH 1'1 | |
connect \A \out_val | |
connect \B 20'00000000000001100100 | |
connect \Y $199 | |
end | |
attribute \src "aoc-2019-1.py:86" | |
wire width 1 $201 | |
attribute \src "aoc-2019-1.py:86" | |
cell $not $202 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 1'1 | |
parameter \Y_WIDTH 1'1 | |
connect \A \uart_tx_rdy | |
connect \Y $201 | |
end | |
attribute \src "aoc-2019-1.py:83" | |
wire width 5 $203 | |
attribute \src "aoc-2019-1.py:83" | |
wire width 5 $204 | |
attribute \src "aoc-2019-1.py:83" | |
cell $add $205 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 3'100 | |
parameter \B_SIGNED 1'0 | |
parameter \B_WIDTH 1'1 | |
parameter \Y_WIDTH 3'101 | |
connect \A \out_digit | |
connect \B 1'1 | |
connect \Y $204 | |
end | |
connect $203 $204 | |
attribute \src "aoc-2019-1.py:81" | |
wire width 1 $206 | |
attribute \src "aoc-2019-1.py:81" | |
cell $ge $207 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 5'11000 | |
parameter \B_SIGNED 1'0 | |
parameter \B_WIDTH 5'10100 | |
parameter \Y_WIDTH 1'1 | |
connect \A \out_val | |
connect \B 20'00000000001111101000 | |
connect \Y $206 | |
end | |
attribute \src "aoc-2019-1.py:86" | |
wire width 1 $208 | |
attribute \src "aoc-2019-1.py:86" | |
cell $not $209 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 1'1 | |
parameter \Y_WIDTH 1'1 | |
connect \A \uart_tx_rdy | |
connect \Y $208 | |
end | |
attribute \src "aoc-2019-1.py:83" | |
wire width 5 $210 | |
attribute \src "aoc-2019-1.py:83" | |
wire width 5 $211 | |
attribute \src "aoc-2019-1.py:83" | |
cell $add $212 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 3'100 | |
parameter \B_SIGNED 1'0 | |
parameter \B_WIDTH 1'1 | |
parameter \Y_WIDTH 3'101 | |
connect \A \out_digit | |
connect \B 1'1 | |
connect \Y $211 | |
end | |
connect $210 $211 | |
attribute \src "aoc-2019-1.py:81" | |
wire width 1 $213 | |
attribute \src "aoc-2019-1.py:81" | |
cell $ge $214 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 5'11000 | |
parameter \B_SIGNED 1'0 | |
parameter \B_WIDTH 5'10100 | |
parameter \Y_WIDTH 1'1 | |
connect \A \out_val | |
connect \B 20'00000010011100010000 | |
connect \Y $213 | |
end | |
attribute \src "aoc-2019-1.py:86" | |
wire width 1 $215 | |
attribute \src "aoc-2019-1.py:86" | |
cell $not $216 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 1'1 | |
parameter \Y_WIDTH 1'1 | |
connect \A \uart_tx_rdy | |
connect \Y $215 | |
end | |
attribute \src "aoc-2019-1.py:83" | |
wire width 5 $217 | |
attribute \src "aoc-2019-1.py:83" | |
wire width 5 $218 | |
attribute \src "aoc-2019-1.py:83" | |
cell $add $219 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 3'100 | |
parameter \B_SIGNED 1'0 | |
parameter \B_WIDTH 1'1 | |
parameter \Y_WIDTH 3'101 | |
connect \A \out_digit | |
connect \B 1'1 | |
connect \Y $218 | |
end | |
connect $217 $218 | |
attribute \src "aoc-2019-1.py:81" | |
wire width 1 $220 | |
attribute \src "aoc-2019-1.py:81" | |
cell $ge $221 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 5'11000 | |
parameter \B_SIGNED 1'0 | |
parameter \B_WIDTH 5'10100 | |
parameter \Y_WIDTH 1'1 | |
connect \A \out_val | |
connect \B 20'00011000011010100000 | |
connect \Y $220 | |
end | |
attribute \src "aoc-2019-1.py:86" | |
wire width 1 $222 | |
attribute \src "aoc-2019-1.py:86" | |
cell $not $223 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 1'1 | |
parameter \Y_WIDTH 1'1 | |
connect \A \uart_tx_rdy | |
connect \Y $222 | |
end | |
attribute \src "aoc-2019-1.py:83" | |
wire width 5 $224 | |
attribute \src "aoc-2019-1.py:83" | |
wire width 5 $225 | |
attribute \src "aoc-2019-1.py:83" | |
cell $add $226 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 3'100 | |
parameter \B_SIGNED 1'0 | |
parameter \B_WIDTH 1'1 | |
parameter \Y_WIDTH 3'101 | |
connect \A \out_digit | |
connect \B 1'1 | |
connect \Y $225 | |
end | |
connect $224 $225 | |
attribute \src "aoc-2019-1.py:81" | |
wire width 1 $227 | |
attribute \src "aoc-2019-1.py:81" | |
cell $ge $228 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 5'11000 | |
parameter \B_SIGNED 1'0 | |
parameter \B_WIDTH 5'10100 | |
parameter \Y_WIDTH 1'1 | |
connect \A \out_val | |
connect \B 20'11110100001001000000 | |
connect \Y $227 | |
end | |
attribute \src "aoc-2019-1.py:86" | |
wire width 1 $229 | |
attribute \src "aoc-2019-1.py:86" | |
cell $not $230 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 1'1 | |
parameter \Y_WIDTH 1'1 | |
connect \A \uart_tx_rdy | |
connect \Y $229 | |
end | |
attribute \src "aoc-2019-1.py:83" | |
wire width 5 $231 | |
attribute \src "aoc-2019-1.py:83" | |
wire width 5 $232 | |
attribute \src "aoc-2019-1.py:83" | |
cell $add $233 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 3'100 | |
parameter \B_SIGNED 1'0 | |
parameter \B_WIDTH 1'1 | |
parameter \Y_WIDTH 3'101 | |
connect \A \out_digit | |
connect \B 1'1 | |
connect \Y $232 | |
end | |
connect $231 $232 | |
process $group_12 | |
assign \out_digit$next \out_digit | |
attribute \src "aoc-2019-1.py:41" | |
switch { \uart_rx_rdy } | |
attribute \src "aoc-2019-1.py:41" | |
case 1'1 | |
attribute \src "aoc-2019-1.py:44" | |
switch { $171 } | |
attribute \src "aoc-2019-1.py:44" | |
case 1'1 | |
attribute \src "aoc-2019-1.py:45" | |
switch { $179 $173 } | |
attribute \src "aoc-2019-1.py:45" | |
case 2'-1 | |
attribute \src "aoc-2019-1.py:53" | |
case 2'1- | |
attribute \src "aoc-2019-1.py:57" | |
case | |
attribute \src "aoc-2019-1.py:58" | |
switch { \out_en } | |
attribute \src "aoc-2019-1.py:58" | |
case 1'1 | |
attribute \src "aoc-2019-1.py:60" | |
case | |
attribute \src "aoc-2019-1.py:65" | |
switch { $183 $181 } | |
attribute \src "aoc-2019-1.py:65" | |
case 2'-1 | |
attribute \src "aoc-2019-1.py:67" | |
case 2'1- | |
assign \out_digit$next 4'0000 | |
attribute \src "aoc-2019-1.py:73" | |
case | |
end | |
end | |
end | |
end | |
attribute \src "aoc-2019-1.py:75" | |
case | |
end | |
attribute \src "aoc-2019-1.py:79" | |
switch { \out_en } | |
attribute \src "aoc-2019-1.py:79" | |
case 1'1 | |
attribute \src "aoc-2019-1.py:81" | |
switch \out_idx | |
case 3'000 | |
attribute \src "aoc-2019-1.py:81" | |
switch { $187 $185 } | |
attribute \src "aoc-2019-1.py:81" | |
case 2'-1 | |
assign \out_digit$next $189 [3:0] | |
attribute \src "aoc-2019-1.py:86" | |
case 2'1- | |
assign \out_digit$next 4'0000 | |
end | |
case 3'001 | |
attribute \src "aoc-2019-1.py:81" | |
switch { $194 $192 } | |
attribute \src "aoc-2019-1.py:81" | |
case 2'-1 | |
assign \out_digit$next $196 [3:0] | |
attribute \src "aoc-2019-1.py:86" | |
case 2'1- | |
assign \out_digit$next 4'0000 | |
end | |
case 3'010 | |
attribute \src "aoc-2019-1.py:81" | |
switch { $201 $199 } | |
attribute \src "aoc-2019-1.py:81" | |
case 2'-1 | |
assign \out_digit$next $203 [3:0] | |
attribute \src "aoc-2019-1.py:86" | |
case 2'1- | |
assign \out_digit$next 4'0000 | |
end | |
case 3'011 | |
attribute \src "aoc-2019-1.py:81" | |
switch { $208 $206 } | |
attribute \src "aoc-2019-1.py:81" | |
case 2'-1 | |
assign \out_digit$next $210 [3:0] | |
attribute \src "aoc-2019-1.py:86" | |
case 2'1- | |
assign \out_digit$next 4'0000 | |
end | |
case 3'100 | |
attribute \src "aoc-2019-1.py:81" | |
switch { $215 $213 } | |
attribute \src "aoc-2019-1.py:81" | |
case 2'-1 | |
assign \out_digit$next $217 [3:0] | |
attribute \src "aoc-2019-1.py:86" | |
case 2'1- | |
assign \out_digit$next 4'0000 | |
end | |
case 3'101 | |
attribute \src "aoc-2019-1.py:81" | |
switch { $222 $220 } | |
attribute \src "aoc-2019-1.py:81" | |
case 2'-1 | |
assign \out_digit$next $224 [3:0] | |
attribute \src "aoc-2019-1.py:86" | |
case 2'1- | |
assign \out_digit$next 4'0000 | |
end | |
case 3'--- | |
attribute \src "aoc-2019-1.py:81" | |
switch { $229 $227 } | |
attribute \src "aoc-2019-1.py:81" | |
case 2'-1 | |
assign \out_digit$next $231 [3:0] | |
attribute \src "aoc-2019-1.py:86" | |
case 2'1- | |
assign \out_digit$next 4'0000 | |
end | |
end | |
end | |
attribute \src "nmigen/hdl/xfrm.py:528" | |
switch \rst | |
case 1'1 | |
assign \out_digit$next 4'0000 | |
end | |
sync init | |
update \out_digit 4'0000 | |
sync posedge \clk | |
update \out_digit \out_digit$next | |
end | |
attribute \src "aoc-2019-1.py:44" | |
wire width 1 $234 | |
attribute \src "aoc-2019-1.py:44" | |
cell $not $235 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 1'1 | |
parameter \Y_WIDTH 1'1 | |
connect \A \uart_rx_ack | |
connect \Y $234 | |
end | |
attribute \src "aoc-2019-1.py:45" | |
wire width 1 $236 | |
attribute \src "aoc-2019-1.py:45" | |
cell $eq $237 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 4'1000 | |
parameter \B_SIGNED 1'0 | |
parameter \B_WIDTH 3'101 | |
parameter \Y_WIDTH 1'1 | |
connect \A \uart_rx_data | |
connect \B 5'10010 | |
connect \Y $236 | |
end | |
attribute \src "aoc-2019-1.py:53" | |
wire width 1 $238 | |
attribute \src "aoc-2019-1.py:53" | |
cell $ge $239 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 4'1000 | |
parameter \B_SIGNED 1'0 | |
parameter \B_WIDTH 3'110 | |
parameter \Y_WIDTH 1'1 | |
connect \A \uart_rx_data | |
connect \B 6'110000 | |
connect \Y $238 | |
end | |
attribute \src "aoc-2019-1.py:53" | |
wire width 1 $240 | |
attribute \src "aoc-2019-1.py:53" | |
cell $le $241 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 4'1000 | |
parameter \B_SIGNED 1'0 | |
parameter \B_WIDTH 3'110 | |
parameter \Y_WIDTH 1'1 | |
connect \A \uart_rx_data | |
connect \B 6'111001 | |
connect \Y $240 | |
end | |
attribute \src "aoc-2019-1.py:53" | |
wire width 1 $242 | |
attribute \src "aoc-2019-1.py:53" | |
cell $and $243 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 1'1 | |
parameter \B_SIGNED 1'0 | |
parameter \B_WIDTH 1'1 | |
parameter \Y_WIDTH 1'1 | |
connect \A $238 | |
connect \B $240 | |
connect \Y $242 | |
end | |
attribute \src "aoc-2019-1.py:65" | |
wire width 1 $244 | |
attribute \src "aoc-2019-1.py:65" | |
cell $eq $245 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 4'1000 | |
parameter \B_SIGNED 1'0 | |
parameter \B_WIDTH 3'110 | |
parameter \Y_WIDTH 1'1 | |
connect \A \uart_rx_data | |
connect \B 6'100000 | |
connect \Y $244 | |
end | |
attribute \src "aoc-2019-1.py:67" | |
wire width 1 $246 | |
attribute \src "aoc-2019-1.py:67" | |
cell $eq $247 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 4'1000 | |
parameter \B_SIGNED 1'0 | |
parameter \B_WIDTH 3'100 | |
parameter \Y_WIDTH 1'1 | |
connect \A \uart_rx_data | |
connect \B 4'1010 | |
connect \Y $246 | |
end | |
attribute \src "aoc-2019-1.py:81" | |
wire width 1 $248 | |
attribute \src "aoc-2019-1.py:81" | |
cell $ge $249 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 5'11000 | |
parameter \B_SIGNED 1'0 | |
parameter \B_WIDTH 5'10100 | |
parameter \Y_WIDTH 1'1 | |
connect \A \out_val | |
connect \B 20'00000000000000000001 | |
connect \Y $248 | |
end | |
attribute \src "aoc-2019-1.py:86" | |
wire width 1 $250 | |
attribute \src "aoc-2019-1.py:86" | |
cell $not $251 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 1'1 | |
parameter \Y_WIDTH 1'1 | |
connect \A \uart_tx_rdy | |
connect \Y $250 | |
end | |
attribute \src "aoc-2019-1.py:92" | |
wire width 1 $252 | |
attribute \src "aoc-2019-1.py:92" | |
cell $ne $253 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 2'11 | |
parameter \B_SIGNED 1'0 | |
parameter \B_WIDTH 1'1 | |
parameter \Y_WIDTH 1'1 | |
connect \A 3'000 | |
connect \B 1'0 | |
connect \Y $252 | |
end | |
attribute \src "aoc-2019-1.py:93" | |
wire width 4 $254 | |
attribute \src "aoc-2019-1.py:93" | |
wire width 4 $255 | |
attribute \src "aoc-2019-1.py:93" | |
cell $sub $256 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 2'11 | |
parameter \B_SIGNED 1'0 | |
parameter \B_WIDTH 1'1 | |
parameter \Y_WIDTH 3'100 | |
connect \A 3'000 | |
connect \B 1'1 | |
connect \Y $255 | |
end | |
connect $254 $255 | |
attribute \src "aoc-2019-1.py:81" | |
wire width 1 $257 | |
attribute \src "aoc-2019-1.py:81" | |
cell $ge $258 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 5'11000 | |
parameter \B_SIGNED 1'0 | |
parameter \B_WIDTH 5'10100 | |
parameter \Y_WIDTH 1'1 | |
connect \A \out_val | |
connect \B 20'00000000000000001010 | |
connect \Y $257 | |
end | |
attribute \src "aoc-2019-1.py:86" | |
wire width 1 $259 | |
attribute \src "aoc-2019-1.py:86" | |
cell $not $260 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 1'1 | |
parameter \Y_WIDTH 1'1 | |
connect \A \uart_tx_rdy | |
connect \Y $259 | |
end | |
attribute \src "aoc-2019-1.py:92" | |
wire width 1 $261 | |
attribute \src "aoc-2019-1.py:92" | |
cell $ne $262 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 2'11 | |
parameter \B_SIGNED 1'0 | |
parameter \B_WIDTH 1'1 | |
parameter \Y_WIDTH 1'1 | |
connect \A 3'001 | |
connect \B 1'0 | |
connect \Y $261 | |
end | |
attribute \src "aoc-2019-1.py:93" | |
wire width 4 $263 | |
attribute \src "aoc-2019-1.py:93" | |
wire width 4 $264 | |
attribute \src "aoc-2019-1.py:93" | |
cell $sub $265 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 2'11 | |
parameter \B_SIGNED 1'0 | |
parameter \B_WIDTH 1'1 | |
parameter \Y_WIDTH 3'100 | |
connect \A 3'001 | |
connect \B 1'1 | |
connect \Y $264 | |
end | |
connect $263 $264 | |
attribute \src "aoc-2019-1.py:81" | |
wire width 1 $266 | |
attribute \src "aoc-2019-1.py:81" | |
cell $ge $267 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 5'11000 | |
parameter \B_SIGNED 1'0 | |
parameter \B_WIDTH 5'10100 | |
parameter \Y_WIDTH 1'1 | |
connect \A \out_val | |
connect \B 20'00000000000001100100 | |
connect \Y $266 | |
end | |
attribute \src "aoc-2019-1.py:86" | |
wire width 1 $268 | |
attribute \src "aoc-2019-1.py:86" | |
cell $not $269 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 1'1 | |
parameter \Y_WIDTH 1'1 | |
connect \A \uart_tx_rdy | |
connect \Y $268 | |
end | |
attribute \src "aoc-2019-1.py:92" | |
wire width 1 $270 | |
attribute \src "aoc-2019-1.py:92" | |
cell $ne $271 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 2'11 | |
parameter \B_SIGNED 1'0 | |
parameter \B_WIDTH 1'1 | |
parameter \Y_WIDTH 1'1 | |
connect \A 3'010 | |
connect \B 1'0 | |
connect \Y $270 | |
end | |
attribute \src "aoc-2019-1.py:93" | |
wire width 4 $272 | |
attribute \src "aoc-2019-1.py:93" | |
wire width 4 $273 | |
attribute \src "aoc-2019-1.py:93" | |
cell $sub $274 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 2'11 | |
parameter \B_SIGNED 1'0 | |
parameter \B_WIDTH 1'1 | |
parameter \Y_WIDTH 3'100 | |
connect \A 3'010 | |
connect \B 1'1 | |
connect \Y $273 | |
end | |
connect $272 $273 | |
attribute \src "aoc-2019-1.py:81" | |
wire width 1 $275 | |
attribute \src "aoc-2019-1.py:81" | |
cell $ge $276 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 5'11000 | |
parameter \B_SIGNED 1'0 | |
parameter \B_WIDTH 5'10100 | |
parameter \Y_WIDTH 1'1 | |
connect \A \out_val | |
connect \B 20'00000000001111101000 | |
connect \Y $275 | |
end | |
attribute \src "aoc-2019-1.py:86" | |
wire width 1 $277 | |
attribute \src "aoc-2019-1.py:86" | |
cell $not $278 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 1'1 | |
parameter \Y_WIDTH 1'1 | |
connect \A \uart_tx_rdy | |
connect \Y $277 | |
end | |
attribute \src "aoc-2019-1.py:92" | |
wire width 1 $279 | |
attribute \src "aoc-2019-1.py:92" | |
cell $ne $280 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 2'11 | |
parameter \B_SIGNED 1'0 | |
parameter \B_WIDTH 1'1 | |
parameter \Y_WIDTH 1'1 | |
connect \A 3'011 | |
connect \B 1'0 | |
connect \Y $279 | |
end | |
attribute \src "aoc-2019-1.py:93" | |
wire width 4 $281 | |
attribute \src "aoc-2019-1.py:93" | |
wire width 4 $282 | |
attribute \src "aoc-2019-1.py:93" | |
cell $sub $283 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 2'11 | |
parameter \B_SIGNED 1'0 | |
parameter \B_WIDTH 1'1 | |
parameter \Y_WIDTH 3'100 | |
connect \A 3'011 | |
connect \B 1'1 | |
connect \Y $282 | |
end | |
connect $281 $282 | |
attribute \src "aoc-2019-1.py:81" | |
wire width 1 $284 | |
attribute \src "aoc-2019-1.py:81" | |
cell $ge $285 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 5'11000 | |
parameter \B_SIGNED 1'0 | |
parameter \B_WIDTH 5'10100 | |
parameter \Y_WIDTH 1'1 | |
connect \A \out_val | |
connect \B 20'00000010011100010000 | |
connect \Y $284 | |
end | |
attribute \src "aoc-2019-1.py:86" | |
wire width 1 $286 | |
attribute \src "aoc-2019-1.py:86" | |
cell $not $287 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 1'1 | |
parameter \Y_WIDTH 1'1 | |
connect \A \uart_tx_rdy | |
connect \Y $286 | |
end | |
attribute \src "aoc-2019-1.py:92" | |
wire width 1 $288 | |
attribute \src "aoc-2019-1.py:92" | |
cell $ne $289 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 2'11 | |
parameter \B_SIGNED 1'0 | |
parameter \B_WIDTH 1'1 | |
parameter \Y_WIDTH 1'1 | |
connect \A 3'100 | |
connect \B 1'0 | |
connect \Y $288 | |
end | |
attribute \src "aoc-2019-1.py:93" | |
wire width 4 $290 | |
attribute \src "aoc-2019-1.py:93" | |
wire width 4 $291 | |
attribute \src "aoc-2019-1.py:93" | |
cell $sub $292 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 2'11 | |
parameter \B_SIGNED 1'0 | |
parameter \B_WIDTH 1'1 | |
parameter \Y_WIDTH 3'100 | |
connect \A 3'100 | |
connect \B 1'1 | |
connect \Y $291 | |
end | |
connect $290 $291 | |
attribute \src "aoc-2019-1.py:81" | |
wire width 1 $293 | |
attribute \src "aoc-2019-1.py:81" | |
cell $ge $294 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 5'11000 | |
parameter \B_SIGNED 1'0 | |
parameter \B_WIDTH 5'10100 | |
parameter \Y_WIDTH 1'1 | |
connect \A \out_val | |
connect \B 20'00011000011010100000 | |
connect \Y $293 | |
end | |
attribute \src "aoc-2019-1.py:86" | |
wire width 1 $295 | |
attribute \src "aoc-2019-1.py:86" | |
cell $not $296 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 1'1 | |
parameter \Y_WIDTH 1'1 | |
connect \A \uart_tx_rdy | |
connect \Y $295 | |
end | |
attribute \src "aoc-2019-1.py:92" | |
wire width 1 $297 | |
attribute \src "aoc-2019-1.py:92" | |
cell $ne $298 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 2'11 | |
parameter \B_SIGNED 1'0 | |
parameter \B_WIDTH 1'1 | |
parameter \Y_WIDTH 1'1 | |
connect \A 3'101 | |
connect \B 1'0 | |
connect \Y $297 | |
end | |
attribute \src "aoc-2019-1.py:93" | |
wire width 4 $299 | |
attribute \src "aoc-2019-1.py:93" | |
wire width 4 $300 | |
attribute \src "aoc-2019-1.py:93" | |
cell $sub $301 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 2'11 | |
parameter \B_SIGNED 1'0 | |
parameter \B_WIDTH 1'1 | |
parameter \Y_WIDTH 3'100 | |
connect \A 3'101 | |
connect \B 1'1 | |
connect \Y $300 | |
end | |
connect $299 $300 | |
attribute \src "aoc-2019-1.py:81" | |
wire width 1 $302 | |
attribute \src "aoc-2019-1.py:81" | |
cell $ge $303 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 5'11000 | |
parameter \B_SIGNED 1'0 | |
parameter \B_WIDTH 5'10100 | |
parameter \Y_WIDTH 1'1 | |
connect \A \out_val | |
connect \B 20'11110100001001000000 | |
connect \Y $302 | |
end | |
attribute \src "aoc-2019-1.py:86" | |
wire width 1 $304 | |
attribute \src "aoc-2019-1.py:86" | |
cell $not $305 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 1'1 | |
parameter \Y_WIDTH 1'1 | |
connect \A \uart_tx_rdy | |
connect \Y $304 | |
end | |
attribute \src "aoc-2019-1.py:92" | |
wire width 1 $306 | |
attribute \src "aoc-2019-1.py:92" | |
cell $ne $307 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 2'11 | |
parameter \B_SIGNED 1'0 | |
parameter \B_WIDTH 1'1 | |
parameter \Y_WIDTH 1'1 | |
connect \A 3'110 | |
connect \B 1'0 | |
connect \Y $306 | |
end | |
attribute \src "aoc-2019-1.py:93" | |
wire width 4 $308 | |
attribute \src "aoc-2019-1.py:93" | |
wire width 4 $309 | |
attribute \src "aoc-2019-1.py:93" | |
cell $sub $310 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 2'11 | |
parameter \B_SIGNED 1'0 | |
parameter \B_WIDTH 1'1 | |
parameter \Y_WIDTH 3'100 | |
connect \A 3'110 | |
connect \B 1'1 | |
connect \Y $309 | |
end | |
connect $308 $309 | |
process $group_13 | |
assign \out_idx$next \out_idx | |
attribute \src "aoc-2019-1.py:41" | |
switch { \uart_rx_rdy } | |
attribute \src "aoc-2019-1.py:41" | |
case 1'1 | |
attribute \src "aoc-2019-1.py:44" | |
switch { $234 } | |
attribute \src "aoc-2019-1.py:44" | |
case 1'1 | |
attribute \src "aoc-2019-1.py:45" | |
switch { $242 $236 } | |
attribute \src "aoc-2019-1.py:45" | |
case 2'-1 | |
attribute \src "aoc-2019-1.py:53" | |
case 2'1- | |
attribute \src "aoc-2019-1.py:57" | |
case | |
attribute \src "aoc-2019-1.py:58" | |
switch { \out_en } | |
attribute \src "aoc-2019-1.py:58" | |
case 1'1 | |
attribute \src "aoc-2019-1.py:60" | |
case | |
attribute \src "aoc-2019-1.py:65" | |
switch { $246 $244 } | |
attribute \src "aoc-2019-1.py:65" | |
case 2'-1 | |
attribute \src "aoc-2019-1.py:67" | |
case 2'1- | |
assign \out_idx$next 3'110 | |
attribute \src "aoc-2019-1.py:73" | |
case | |
end | |
end | |
end | |
end | |
attribute \src "aoc-2019-1.py:75" | |
case | |
end | |
attribute \src "aoc-2019-1.py:79" | |
switch { \out_en } | |
attribute \src "aoc-2019-1.py:79" | |
case 1'1 | |
attribute \src "aoc-2019-1.py:81" | |
switch \out_idx | |
case 3'000 | |
attribute \src "aoc-2019-1.py:81" | |
switch { $250 $248 } | |
attribute \src "aoc-2019-1.py:81" | |
case 2'-1 | |
attribute \src "aoc-2019-1.py:86" | |
case 2'1- | |
attribute \src "aoc-2019-1.py:92" | |
switch { $252 } | |
attribute \src "aoc-2019-1.py:92" | |
case 1'1 | |
assign \out_idx$next $254 [2:0] | |
attribute \src "aoc-2019-1.py:94" | |
case | |
end | |
end | |
case 3'001 | |
attribute \src "aoc-2019-1.py:81" | |
switch { $259 $257 } | |
attribute \src "aoc-2019-1.py:81" | |
case 2'-1 | |
attribute \src "aoc-2019-1.py:86" | |
case 2'1- | |
attribute \src "aoc-2019-1.py:92" | |
switch { $261 } | |
attribute \src "aoc-2019-1.py:92" | |
case 1'1 | |
assign \out_idx$next $263 [2:0] | |
attribute \src "aoc-2019-1.py:94" | |
case | |
end | |
end | |
case 3'010 | |
attribute \src "aoc-2019-1.py:81" | |
switch { $268 $266 } | |
attribute \src "aoc-2019-1.py:81" | |
case 2'-1 | |
attribute \src "aoc-2019-1.py:86" | |
case 2'1- | |
attribute \src "aoc-2019-1.py:92" | |
switch { $270 } | |
attribute \src "aoc-2019-1.py:92" | |
case 1'1 | |
assign \out_idx$next $272 [2:0] | |
attribute \src "aoc-2019-1.py:94" | |
case | |
end | |
end | |
case 3'011 | |
attribute \src "aoc-2019-1.py:81" | |
switch { $277 $275 } | |
attribute \src "aoc-2019-1.py:81" | |
case 2'-1 | |
attribute \src "aoc-2019-1.py:86" | |
case 2'1- | |
attribute \src "aoc-2019-1.py:92" | |
switch { $279 } | |
attribute \src "aoc-2019-1.py:92" | |
case 1'1 | |
assign \out_idx$next $281 [2:0] | |
attribute \src "aoc-2019-1.py:94" | |
case | |
end | |
end | |
case 3'100 | |
attribute \src "aoc-2019-1.py:81" | |
switch { $286 $284 } | |
attribute \src "aoc-2019-1.py:81" | |
case 2'-1 | |
attribute \src "aoc-2019-1.py:86" | |
case 2'1- | |
attribute \src "aoc-2019-1.py:92" | |
switch { $288 } | |
attribute \src "aoc-2019-1.py:92" | |
case 1'1 | |
assign \out_idx$next $290 [2:0] | |
attribute \src "aoc-2019-1.py:94" | |
case | |
end | |
end | |
case 3'101 | |
attribute \src "aoc-2019-1.py:81" | |
switch { $295 $293 } | |
attribute \src "aoc-2019-1.py:81" | |
case 2'-1 | |
attribute \src "aoc-2019-1.py:86" | |
case 2'1- | |
attribute \src "aoc-2019-1.py:92" | |
switch { $297 } | |
attribute \src "aoc-2019-1.py:92" | |
case 1'1 | |
assign \out_idx$next $299 [2:0] | |
attribute \src "aoc-2019-1.py:94" | |
case | |
end | |
end | |
case 3'--- | |
attribute \src "aoc-2019-1.py:81" | |
switch { $304 $302 } | |
attribute \src "aoc-2019-1.py:81" | |
case 2'-1 | |
attribute \src "aoc-2019-1.py:86" | |
case 2'1- | |
attribute \src "aoc-2019-1.py:92" | |
switch { $306 } | |
attribute \src "aoc-2019-1.py:92" | |
case 1'1 | |
assign \out_idx$next $308 [2:0] | |
attribute \src "aoc-2019-1.py:94" | |
case | |
end | |
end | |
end | |
end | |
attribute \src "nmigen/hdl/xfrm.py:528" | |
switch \rst | |
case 1'1 | |
assign \out_idx$next 3'000 | |
end | |
sync init | |
update \out_idx 3'000 | |
sync posedge \clk | |
update \out_idx \out_idx$next | |
end | |
attribute \src "aoc-2019-1.py:81" | |
wire width 1 $311 | |
attribute \src "aoc-2019-1.py:81" | |
cell $ge $312 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 5'11000 | |
parameter \B_SIGNED 1'0 | |
parameter \B_WIDTH 5'10100 | |
parameter \Y_WIDTH 1'1 | |
connect \A \out_val | |
connect \B 20'00000000000000000001 | |
connect \Y $311 | |
end | |
attribute \src "aoc-2019-1.py:86" | |
wire width 1 $313 | |
attribute \src "aoc-2019-1.py:86" | |
cell $not $314 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 1'1 | |
parameter \Y_WIDTH 1'1 | |
connect \A \uart_tx_rdy | |
connect \Y $313 | |
end | |
attribute \src "aoc-2019-1.py:81" | |
wire width 1 $315 | |
attribute \src "aoc-2019-1.py:81" | |
cell $ge $316 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 5'11000 | |
parameter \B_SIGNED 1'0 | |
parameter \B_WIDTH 5'10100 | |
parameter \Y_WIDTH 1'1 | |
connect \A \out_val | |
connect \B 20'00000000000000001010 | |
connect \Y $315 | |
end | |
attribute \src "aoc-2019-1.py:86" | |
wire width 1 $317 | |
attribute \src "aoc-2019-1.py:86" | |
cell $not $318 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 1'1 | |
parameter \Y_WIDTH 1'1 | |
connect \A \uart_tx_rdy | |
connect \Y $317 | |
end | |
attribute \src "aoc-2019-1.py:81" | |
wire width 1 $319 | |
attribute \src "aoc-2019-1.py:81" | |
cell $ge $320 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 5'11000 | |
parameter \B_SIGNED 1'0 | |
parameter \B_WIDTH 5'10100 | |
parameter \Y_WIDTH 1'1 | |
connect \A \out_val | |
connect \B 20'00000000000001100100 | |
connect \Y $319 | |
end | |
attribute \src "aoc-2019-1.py:86" | |
wire width 1 $321 | |
attribute \src "aoc-2019-1.py:86" | |
cell $not $322 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 1'1 | |
parameter \Y_WIDTH 1'1 | |
connect \A \uart_tx_rdy | |
connect \Y $321 | |
end | |
attribute \src "aoc-2019-1.py:81" | |
wire width 1 $323 | |
attribute \src "aoc-2019-1.py:81" | |
cell $ge $324 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 5'11000 | |
parameter \B_SIGNED 1'0 | |
parameter \B_WIDTH 5'10100 | |
parameter \Y_WIDTH 1'1 | |
connect \A \out_val | |
connect \B 20'00000000001111101000 | |
connect \Y $323 | |
end | |
attribute \src "aoc-2019-1.py:86" | |
wire width 1 $325 | |
attribute \src "aoc-2019-1.py:86" | |
cell $not $326 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 1'1 | |
parameter \Y_WIDTH 1'1 | |
connect \A \uart_tx_rdy | |
connect \Y $325 | |
end | |
attribute \src "aoc-2019-1.py:81" | |
wire width 1 $327 | |
attribute \src "aoc-2019-1.py:81" | |
cell $ge $328 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 5'11000 | |
parameter \B_SIGNED 1'0 | |
parameter \B_WIDTH 5'10100 | |
parameter \Y_WIDTH 1'1 | |
connect \A \out_val | |
connect \B 20'00000010011100010000 | |
connect \Y $327 | |
end | |
attribute \src "aoc-2019-1.py:86" | |
wire width 1 $329 | |
attribute \src "aoc-2019-1.py:86" | |
cell $not $330 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 1'1 | |
parameter \Y_WIDTH 1'1 | |
connect \A \uart_tx_rdy | |
connect \Y $329 | |
end | |
attribute \src "aoc-2019-1.py:81" | |
wire width 1 $331 | |
attribute \src "aoc-2019-1.py:81" | |
cell $ge $332 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 5'11000 | |
parameter \B_SIGNED 1'0 | |
parameter \B_WIDTH 5'10100 | |
parameter \Y_WIDTH 1'1 | |
connect \A \out_val | |
connect \B 20'00011000011010100000 | |
connect \Y $331 | |
end | |
attribute \src "aoc-2019-1.py:86" | |
wire width 1 $333 | |
attribute \src "aoc-2019-1.py:86" | |
cell $not $334 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 1'1 | |
parameter \Y_WIDTH 1'1 | |
connect \A \uart_tx_rdy | |
connect \Y $333 | |
end | |
attribute \src "aoc-2019-1.py:81" | |
wire width 1 $335 | |
attribute \src "aoc-2019-1.py:81" | |
cell $ge $336 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 5'11000 | |
parameter \B_SIGNED 1'0 | |
parameter \B_WIDTH 5'10100 | |
parameter \Y_WIDTH 1'1 | |
connect \A \out_val | |
connect \B 20'11110100001001000000 | |
connect \Y $335 | |
end | |
attribute \src "aoc-2019-1.py:86" | |
wire width 1 $337 | |
attribute \src "aoc-2019-1.py:86" | |
cell $not $338 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 1'1 | |
parameter \Y_WIDTH 1'1 | |
connect \A \uart_tx_rdy | |
connect \Y $337 | |
end | |
attribute \src "aoc-2019-1.py:97" | |
wire width 1 $339 | |
attribute \src "aoc-2019-1.py:97" | |
cell $and $340 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 1'1 | |
parameter \B_SIGNED 1'0 | |
parameter \B_WIDTH 1'1 | |
parameter \Y_WIDTH 1'1 | |
connect \A \uart_tx_rdy | |
connect \B \uart_tx_ack | |
connect \Y $339 | |
end | |
process $group_14 | |
assign \uart_tx_rdy$next \uart_tx_rdy | |
attribute \src "aoc-2019-1.py:79" | |
switch { \out_en } | |
attribute \src "aoc-2019-1.py:79" | |
case 1'1 | |
attribute \src "aoc-2019-1.py:81" | |
switch \out_idx | |
case 3'000 | |
attribute \src "aoc-2019-1.py:81" | |
switch { $313 $311 } | |
attribute \src "aoc-2019-1.py:81" | |
case 2'-1 | |
attribute \src "aoc-2019-1.py:86" | |
case 2'1- | |
assign \uart_tx_rdy$next 1'1 | |
end | |
case 3'001 | |
attribute \src "aoc-2019-1.py:81" | |
switch { $317 $315 } | |
attribute \src "aoc-2019-1.py:81" | |
case 2'-1 | |
attribute \src "aoc-2019-1.py:86" | |
case 2'1- | |
assign \uart_tx_rdy$next 1'1 | |
end | |
case 3'010 | |
attribute \src "aoc-2019-1.py:81" | |
switch { $321 $319 } | |
attribute \src "aoc-2019-1.py:81" | |
case 2'-1 | |
attribute \src "aoc-2019-1.py:86" | |
case 2'1- | |
assign \uart_tx_rdy$next 1'1 | |
end | |
case 3'011 | |
attribute \src "aoc-2019-1.py:81" | |
switch { $325 $323 } | |
attribute \src "aoc-2019-1.py:81" | |
case 2'-1 | |
attribute \src "aoc-2019-1.py:86" | |
case 2'1- | |
assign \uart_tx_rdy$next 1'1 | |
end | |
case 3'100 | |
attribute \src "aoc-2019-1.py:81" | |
switch { $329 $327 } | |
attribute \src "aoc-2019-1.py:81" | |
case 2'-1 | |
attribute \src "aoc-2019-1.py:86" | |
case 2'1- | |
assign \uart_tx_rdy$next 1'1 | |
end | |
case 3'101 | |
attribute \src "aoc-2019-1.py:81" | |
switch { $333 $331 } | |
attribute \src "aoc-2019-1.py:81" | |
case 2'-1 | |
attribute \src "aoc-2019-1.py:86" | |
case 2'1- | |
assign \uart_tx_rdy$next 1'1 | |
end | |
case 3'--- | |
attribute \src "aoc-2019-1.py:81" | |
switch { $337 $335 } | |
attribute \src "aoc-2019-1.py:81" | |
case 2'-1 | |
attribute \src "aoc-2019-1.py:86" | |
case 2'1- | |
assign \uart_tx_rdy$next 1'1 | |
end | |
end | |
end | |
attribute \src "aoc-2019-1.py:97" | |
switch { $339 } | |
attribute \src "aoc-2019-1.py:97" | |
case 1'1 | |
assign \uart_tx_rdy$next 1'0 | |
end | |
attribute \src "nmigen/hdl/xfrm.py:528" | |
switch \rst | |
case 1'1 | |
assign \uart_tx_rdy$next 1'0 | |
end | |
sync init | |
update \uart_tx_rdy 1'0 | |
sync posedge \clk | |
update \uart_tx_rdy \uart_tx_rdy$next | |
end | |
attribute \src "aoc-2019-1.py:81" | |
wire width 1 $341 | |
attribute \src "aoc-2019-1.py:81" | |
cell $ge $342 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 5'11000 | |
parameter \B_SIGNED 1'0 | |
parameter \B_WIDTH 5'10100 | |
parameter \Y_WIDTH 1'1 | |
connect \A \out_val | |
connect \B 20'00000000000000000001 | |
connect \Y $341 | |
end | |
attribute \src "aoc-2019-1.py:86" | |
wire width 1 $343 | |
attribute \src "aoc-2019-1.py:86" | |
cell $not $344 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 1'1 | |
parameter \Y_WIDTH 1'1 | |
connect \A \uart_tx_rdy | |
connect \Y $343 | |
end | |
attribute \src "aoc-2019-1.py:89" | |
wire width 8 $345 | |
attribute \src "aoc-2019-1.py:89" | |
wire width 7 $346 | |
attribute \src "aoc-2019-1.py:89" | |
cell $add $347 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 3'110 | |
parameter \B_SIGNED 1'0 | |
parameter \B_WIDTH 3'100 | |
parameter \Y_WIDTH 3'111 | |
connect \A 6'110000 | |
connect \B \out_digit | |
connect \Y $346 | |
end | |
attribute \src "aoc-2019-1.py:89" | |
cell $pos $348 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 3'111 | |
parameter \Y_WIDTH 4'1000 | |
connect \A $346 | |
connect \Y $345 | |
end | |
attribute \src "aoc-2019-1.py:81" | |
wire width 1 $349 | |
attribute \src "aoc-2019-1.py:81" | |
cell $ge $350 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 5'11000 | |
parameter \B_SIGNED 1'0 | |
parameter \B_WIDTH 5'10100 | |
parameter \Y_WIDTH 1'1 | |
connect \A \out_val | |
connect \B 20'00000000000000001010 | |
connect \Y $349 | |
end | |
attribute \src "aoc-2019-1.py:86" | |
wire width 1 $351 | |
attribute \src "aoc-2019-1.py:86" | |
cell $not $352 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 1'1 | |
parameter \Y_WIDTH 1'1 | |
connect \A \uart_tx_rdy | |
connect \Y $351 | |
end | |
attribute \src "aoc-2019-1.py:89" | |
wire width 8 $353 | |
attribute \src "aoc-2019-1.py:89" | |
wire width 7 $354 | |
attribute \src "aoc-2019-1.py:89" | |
cell $add $355 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 3'110 | |
parameter \B_SIGNED 1'0 | |
parameter \B_WIDTH 3'100 | |
parameter \Y_WIDTH 3'111 | |
connect \A 6'110000 | |
connect \B \out_digit | |
connect \Y $354 | |
end | |
attribute \src "aoc-2019-1.py:89" | |
cell $pos $356 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 3'111 | |
parameter \Y_WIDTH 4'1000 | |
connect \A $354 | |
connect \Y $353 | |
end | |
attribute \src "aoc-2019-1.py:81" | |
wire width 1 $357 | |
attribute \src "aoc-2019-1.py:81" | |
cell $ge $358 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 5'11000 | |
parameter \B_SIGNED 1'0 | |
parameter \B_WIDTH 5'10100 | |
parameter \Y_WIDTH 1'1 | |
connect \A \out_val | |
connect \B 20'00000000000001100100 | |
connect \Y $357 | |
end | |
attribute \src "aoc-2019-1.py:86" | |
wire width 1 $359 | |
attribute \src "aoc-2019-1.py:86" | |
cell $not $360 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 1'1 | |
parameter \Y_WIDTH 1'1 | |
connect \A \uart_tx_rdy | |
connect \Y $359 | |
end | |
attribute \src "aoc-2019-1.py:89" | |
wire width 8 $361 | |
attribute \src "aoc-2019-1.py:89" | |
wire width 7 $362 | |
attribute \src "aoc-2019-1.py:89" | |
cell $add $363 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 3'110 | |
parameter \B_SIGNED 1'0 | |
parameter \B_WIDTH 3'100 | |
parameter \Y_WIDTH 3'111 | |
connect \A 6'110000 | |
connect \B \out_digit | |
connect \Y $362 | |
end | |
attribute \src "aoc-2019-1.py:89" | |
cell $pos $364 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 3'111 | |
parameter \Y_WIDTH 4'1000 | |
connect \A $362 | |
connect \Y $361 | |
end | |
attribute \src "aoc-2019-1.py:81" | |
wire width 1 $365 | |
attribute \src "aoc-2019-1.py:81" | |
cell $ge $366 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 5'11000 | |
parameter \B_SIGNED 1'0 | |
parameter \B_WIDTH 5'10100 | |
parameter \Y_WIDTH 1'1 | |
connect \A \out_val | |
connect \B 20'00000000001111101000 | |
connect \Y $365 | |
end | |
attribute \src "aoc-2019-1.py:86" | |
wire width 1 $367 | |
attribute \src "aoc-2019-1.py:86" | |
cell $not $368 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 1'1 | |
parameter \Y_WIDTH 1'1 | |
connect \A \uart_tx_rdy | |
connect \Y $367 | |
end | |
attribute \src "aoc-2019-1.py:89" | |
wire width 8 $369 | |
attribute \src "aoc-2019-1.py:89" | |
wire width 7 $370 | |
attribute \src "aoc-2019-1.py:89" | |
cell $add $371 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 3'110 | |
parameter \B_SIGNED 1'0 | |
parameter \B_WIDTH 3'100 | |
parameter \Y_WIDTH 3'111 | |
connect \A 6'110000 | |
connect \B \out_digit | |
connect \Y $370 | |
end | |
attribute \src "aoc-2019-1.py:89" | |
cell $pos $372 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 3'111 | |
parameter \Y_WIDTH 4'1000 | |
connect \A $370 | |
connect \Y $369 | |
end | |
attribute \src "aoc-2019-1.py:81" | |
wire width 1 $373 | |
attribute \src "aoc-2019-1.py:81" | |
cell $ge $374 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 5'11000 | |
parameter \B_SIGNED 1'0 | |
parameter \B_WIDTH 5'10100 | |
parameter \Y_WIDTH 1'1 | |
connect \A \out_val | |
connect \B 20'00000010011100010000 | |
connect \Y $373 | |
end | |
attribute \src "aoc-2019-1.py:86" | |
wire width 1 $375 | |
attribute \src "aoc-2019-1.py:86" | |
cell $not $376 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 1'1 | |
parameter \Y_WIDTH 1'1 | |
connect \A \uart_tx_rdy | |
connect \Y $375 | |
end | |
attribute \src "aoc-2019-1.py:89" | |
wire width 8 $377 | |
attribute \src "aoc-2019-1.py:89" | |
wire width 7 $378 | |
attribute \src "aoc-2019-1.py:89" | |
cell $add $379 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 3'110 | |
parameter \B_SIGNED 1'0 | |
parameter \B_WIDTH 3'100 | |
parameter \Y_WIDTH 3'111 | |
connect \A 6'110000 | |
connect \B \out_digit | |
connect \Y $378 | |
end | |
attribute \src "aoc-2019-1.py:89" | |
cell $pos $380 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 3'111 | |
parameter \Y_WIDTH 4'1000 | |
connect \A $378 | |
connect \Y $377 | |
end | |
attribute \src "aoc-2019-1.py:81" | |
wire width 1 $381 | |
attribute \src "aoc-2019-1.py:81" | |
cell $ge $382 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 5'11000 | |
parameter \B_SIGNED 1'0 | |
parameter \B_WIDTH 5'10100 | |
parameter \Y_WIDTH 1'1 | |
connect \A \out_val | |
connect \B 20'00011000011010100000 | |
connect \Y $381 | |
end | |
attribute \src "aoc-2019-1.py:86" | |
wire width 1 $383 | |
attribute \src "aoc-2019-1.py:86" | |
cell $not $384 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 1'1 | |
parameter \Y_WIDTH 1'1 | |
connect \A \uart_tx_rdy | |
connect \Y $383 | |
end | |
attribute \src "aoc-2019-1.py:89" | |
wire width 8 $385 | |
attribute \src "aoc-2019-1.py:89" | |
wire width 7 $386 | |
attribute \src "aoc-2019-1.py:89" | |
cell $add $387 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 3'110 | |
parameter \B_SIGNED 1'0 | |
parameter \B_WIDTH 3'100 | |
parameter \Y_WIDTH 3'111 | |
connect \A 6'110000 | |
connect \B \out_digit | |
connect \Y $386 | |
end | |
attribute \src "aoc-2019-1.py:89" | |
cell $pos $388 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 3'111 | |
parameter \Y_WIDTH 4'1000 | |
connect \A $386 | |
connect \Y $385 | |
end | |
attribute \src "aoc-2019-1.py:81" | |
wire width 1 $389 | |
attribute \src "aoc-2019-1.py:81" | |
cell $ge $390 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 5'11000 | |
parameter \B_SIGNED 1'0 | |
parameter \B_WIDTH 5'10100 | |
parameter \Y_WIDTH 1'1 | |
connect \A \out_val | |
connect \B 20'11110100001001000000 | |
connect \Y $389 | |
end | |
attribute \src "aoc-2019-1.py:86" | |
wire width 1 $391 | |
attribute \src "aoc-2019-1.py:86" | |
cell $not $392 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 1'1 | |
parameter \Y_WIDTH 1'1 | |
connect \A \uart_tx_rdy | |
connect \Y $391 | |
end | |
attribute \src "aoc-2019-1.py:89" | |
wire width 8 $393 | |
attribute \src "aoc-2019-1.py:89" | |
wire width 7 $394 | |
attribute \src "aoc-2019-1.py:89" | |
cell $add $395 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 3'110 | |
parameter \B_SIGNED 1'0 | |
parameter \B_WIDTH 3'100 | |
parameter \Y_WIDTH 3'111 | |
connect \A 6'110000 | |
connect \B \out_digit | |
connect \Y $394 | |
end | |
attribute \src "aoc-2019-1.py:89" | |
cell $pos $396 | |
parameter \A_SIGNED 1'0 | |
parameter \A_WIDTH 3'111 | |
parameter \Y_WIDTH 4'1000 | |
connect \A $394 | |
connect \Y $393 | |
end | |
process $group_15 | |
assign \uart_tx_data$next \uart_tx_data | |
attribute \src "aoc-2019-1.py:79" | |
switch { \out_en } | |
attribute \src "aoc-2019-1.py:79" | |
case 1'1 | |
attribute \src "aoc-2019-1.py:81" | |
switch \out_idx | |
case 3'000 | |
attribute \src "aoc-2019-1.py:81" | |
switch { $343 $341 } | |
attribute \src "aoc-2019-1.py:81" | |
case 2'-1 | |
attribute \src "aoc-2019-1.py:86" | |
case 2'1- | |
assign \uart_tx_data$next $345 | |
end | |
case 3'001 | |
attribute \src "aoc-2019-1.py:81" | |
switch { $351 $349 } | |
attribute \src "aoc-2019-1.py:81" | |
case 2'-1 | |
attribute \src "aoc-2019-1.py:86" | |
case 2'1- | |
assign \uart_tx_data$next $353 | |
end | |
case 3'010 | |
attribute \src "aoc-2019-1.py:81" | |
switch { $359 $357 } | |
attribute \src "aoc-2019-1.py:81" | |
case 2'-1 | |
attribute \src "aoc-2019-1.py:86" | |
case 2'1- | |
assign \uart_tx_data$next $361 | |
end | |
case 3'011 | |
attribute \src "aoc-2019-1.py:81" | |
switch { $367 $365 } | |
attribute \src "aoc-2019-1.py:81" | |
case 2'-1 | |
attribute \src "aoc-2019-1.py:86" | |
case 2'1- | |
assign \uart_tx_data$next $369 | |
end | |
case 3'100 | |
attribute \src "aoc-2019-1.py:81" | |
switch { $375 $373 } | |
attribute \src "aoc-2019-1.py:81" | |
case 2'-1 | |
attribute \src "aoc-2019-1.py:86" | |
case 2'1- | |
assign \uart_tx_data$next $377 | |
end | |
case 3'101 | |
attribute \src "aoc-2019-1.py:81" | |
switch { $383 $381 } | |
attribute \src "aoc-2019-1.py:81" | |
case 2'-1 | |
attribute \src "aoc-2019-1.py:86" | |
case 2'1- | |
assign \uart_tx_data$next $385 | |
end | |
case 3'--- | |
attribute \src "aoc-2019-1.py:81" | |
switch { $391 $389 } | |
attribute \src "aoc-2019-1.py:81" | |
case 2'-1 | |
attribute \src "aoc-2019-1.py:86" | |
case 2'1- | |
assign \uart_tx_data$next $393 | |
end | |
end | |
end | |
attribute \src "nmigen/hdl/xfrm.py:528" | |
switch \rst | |
case 1'1 | |
assign \uart_tx_data$next 8'00000000 | |
end | |
sync init | |
update \uart_tx_data 8'00000000 | |
sync posedge \clk | |
update \uart_tx_data \uart_tx_data$next | |
end | |
connect \uart_0__dtr__o 1'0 | |
connect \uart_0__rts__o 1'0 | |
end |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
2.43.1.4. Executing ABC9. | |
Running ABC command: <yosys-exe-dir>/yosys-abc -s -f <abc-temp-dir>/abc.script 2>&1 | |
ABC: ABC command line: "source <abc-temp-dir>/abc.script". | |
ABC: | |
ABC: + read_lut <yosys-exe-dir>/../share/yosys/ice40/abc9_hx.lut | |
ABC: + read_box -v <yosys-exe-dir>/../share/yosys/ice40/abc9_hx.box | |
ABC: + &read <abc-temp-dir>/input.xaig | |
ABC: + &ps | |
ABC: <abc-temp-dir>/input : i/o = 142/ 156 and = 3868 lev = 220 (15.55) mem = 0.15 MB box = 941 bb = 0 | |
ABC: Warning: AIG with boxes has internal fanout in 0 complex flops and 870 carries. | |
ABC: + &st | |
ABC: + &scorr | |
ABC: Warning: The network is combinational. | |
ABC: + &sweep | |
ABC: + &dc2 | |
ABC: yosys-abc: src/opt/dar/darRefact.c:589: Dar_ManRefactor: Assertion `(int)Aig_Regular(pObjNew)->Level <= Required' failed. | |
ERROR: ABC: execution of command "/nix/store/zyfvhjwfgpflh5mnzmlmjq9ixc7aj8sb-yosys-2019.10.18/bin/yosys-abc -s -f /tmp/yosys-abc-FMSk9y/abc.script 2>&1" failed: return code 134. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Automatically generated by nMigen 0.1.dev1+g6765021.dirty. Do not edit. | |
read_ilang top.il | |
# (script_after_read placeholder) | |
synth_ice40 -abc9 -top top | |
# (script_after_synth placeholder) | |
write_json top.json |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment