Firmware emulates little i2c energy-dependend memory

master
Ivan Olenichev 6 years ago
parent 58a262e74c
commit 90fc7379fd

Binary file not shown.

@ -0,0 +1,3 @@
[env]
board = icestick

File diff suppressed because it is too large Load Diff

Binary file not shown.

@ -0,0 +1,1161 @@
# Generated by Yosys 0.7 (Apio build) (git sha1 8c071a2, gcc 4.8.4-2ubuntu1~14.04.3 -fPIC -Os)
.model top
.inputs CLK SCL SDA COM_RX
.outputs LED1 LED2 LED3 LED4 LED5 SDA ACK COM_TX COM_DCD COM_DSR COM_RTS
.names $false
.names $true
1
.names $undef
.gate SB_LUT4 I0=$abc$5798$n225 I1=$abc$5798$n553 I2=$abc$5798$n230 I3=UART.tx_activity O=$abc$5798$n5
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:51"
.param LUT_INIT 0000000111111111
.gate SB_LUT4 I0=$abc$5798$n226_1 I1=$abc$5798$n229 I2=$abc$5798$n582 I3=$abc$5798$n568 O=$abc$5798$n225
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:51"
.param LUT_INIT 0000101000001100
.gate SB_LUT4 I0=UART.tx_data[4] I1=UART.tx_data[6] I2=$abc$5798$n227 I3=$false O=$abc$5798$n226_1
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:47"
.param LUT_INIT 10101100
.gate SB_LUT4 I0=$abc$5798$n594 I1=$abc$5798$n595 I2=$false I3=$false O=$abc$5798$n227
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:43"
.param LUT_INIT 0110
.gate SB_LUT4 I0=UART.tx_bit_counter[0] I1=UART.tx_bit_counter[1] I2=$false I3=$false O=$abc$5798$n594
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:43"
.param LUT_INIT 0110
.gate SB_LUT4 I0=UART.tx_data[0] I1=UART.tx_data[2] I2=$abc$5798$n227 I3=$false O=$abc$5798$n229
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:47"
.param LUT_INIT 10101100
.gate SB_LUT4 I0=$abc$5798$n231 I1=$abc$5798$n232 I2=$abc$5798$n568 I3=$abc$5798$n582 O=$abc$5798$n230
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:51"
.param LUT_INIT 1010001100000000
.gate SB_LUT4 I0=UART.tx_data[5] I1=UART.tx_data[7] I2=$abc$5798$n227 I3=$false O=$abc$5798$n231
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:47"
.param LUT_INIT 10101100
.gate SB_LUT4 I0=UART.tx_data[1] I1=UART.tx_data[3] I2=$abc$5798$n227 I3=$false O=$abc$5798$n232
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:47"
.param LUT_INIT 01010011
.gate SB_LUT4 I0=I2C.SDAF I1=I2C.SDAD I2=$abc$5798$n269 I3=$abc$5798$n235 O=$abc$5798$n7
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:51"
.param LUT_INIT 0011010100110011
.gate SB_LUT4 I0=I2C.sda_cnt[0] I1=I2C.sda_cnt[1] I2=$false I3=$false O=$abc$5798$n269
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:43"
.param LUT_INIT 1001
.gate SB_LUT4 I0=$abc$5798$n268 I1=$abc$5798$n271 I2=$abc$5798$n272 I3=$false O=$abc$5798$n235
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:47"
.param LUT_INIT 00000001
.gate SB_LUT4 I0=I2C.SCLF I1=I2C.SCLD I2=$abc$5798$n276 I3=$abc$5798$n238 O=$abc$5798$n9
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:51"
.param LUT_INIT 0011010100110011
.gate SB_LUT4 I0=I2C.scl_cnt[0] I1=I2C.scl_cnt[1] I2=$false I3=$false O=$abc$5798$n276
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:43"
.param LUT_INIT 1001
.gate SB_LUT4 I0=$abc$5798$n275 I1=$abc$5798$n278 I2=$abc$5798$n279 I3=$false O=$abc$5798$n238
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:47"
.param LUT_INIT 00000001
.gate SB_LUT4 I0=I2C.sda_cnt[0] I1=I2C.sda_cnt[1] I2=I2C.sda_cnt[2] I3=I2C.sda_cnt[3] O=$abc$5798$n25
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:51"
.param LUT_INIT 0000000000000001
.gate SB_LUT4 I0=I2C.scl_cnt[0] I1=I2C.scl_cnt[1] I2=I2C.scl_cnt[2] I3=I2C.scl_cnt[3] O=$abc$5798$n27
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:51"
.param LUT_INIT 0000000000000001
.gate SB_LUT4 I0=I2C.i2c_state_machine I1=$abc$5798$n242 I2=$abc$5798$n243 I3=$false O=$abc$5798$n29
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:47"
.param LUT_INIT 11110001
.gate SB_LUT4 I0=$abc$5798$n9 I1=$abc$5798$n18 I2=$abc$5798$n7 I3=$false O=$abc$5798$n242
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:47"
.param LUT_INIT 00010000
.gate SB_LUT4 I0=$abc$5798$n7 I1=$abc$5798$n9 I2=$abc$5798$n18 I3=$false O=$abc$5798$n243
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:47"
.param LUT_INIT 00010000
.gate SB_LUT4 I0=$abc$5798$n242 I1=I2C.byte_counter[0] I2=$false I3=$false O=$abc$5798$n98
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:43"
.param LUT_INIT 0100
.gate SB_LUT4 I0=$abc$5798$n242 I1=I2C.byte_counter[2] I2=$false I3=$false O=$abc$5798$n101
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:43"
.param LUT_INIT 0100
.gate SB_LUT4 I0=$abc$5798$n242 I1=I2C.byte_counter[6] I2=$false I3=$false O=$abc$5798$n104
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:43"
.param LUT_INIT 0100
.gate SB_LUT4 I0=$abc$5798$n242 I1=I2C.byte_counter[7] I2=$false I3=$false O=$abc$5798$n105
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:43"
.param LUT_INIT 0100
.gate SB_LUT4 I0=$abc$5798$n242 I1=I2C.byte_counter[8] I2=$false I3=$false O=$abc$5798$n110
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:43"
.param LUT_INIT 0100
.gate SB_LUT4 I0=$0\UART_WR[0:0] I1=I2C.is_read I2=$false I3=$false O=$abc$5798$n141
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:43"
.param LUT_INIT 1000
.gate SB_LUT4 I0=wr_old I1=I2C.wr I2=$false I3=$false O=$0\UART_WR[0:0]
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:43"
.param LUT_INIT 0100
.gate SB_LUT4 I0=I2C.is_read I1=$0\UART_WR[0:0] I2=$false I3=$false O=$0\RAM_W[0:0]
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:43"
.param LUT_INIT 0100
.gate SB_LUT4 I0=I2C.wr I1=wr_old I2=$false I3=$false O=$abc$5798$n152
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:43"
.param LUT_INIT 0110
.gate SB_LUT4 I0=LED1 I1=$abc$5798$n254 I2=I2C.wr I3=wr_old O=$abc$5798$n156
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:51"
.param LUT_INIT 0000001011000000
.gate SB_LUT4 I0=I2C.is_read I1=$abc$5798$n255 I2=$false I3=$false O=$abc$5798$n254
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:43"
.param LUT_INIT 0100
.gate SB_LUT4 I0=$abc$5798$n256 I1=$abc$5798$n259 I2=I2C.byte_counter[1] I3=$false O=$abc$5798$n255
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:47"
.param LUT_INIT 10000000
.gate SB_LUT4 I0=$abc$5798$n257 I1=$abc$5798$n258_1 I2=$false I3=$false O=$abc$5798$n256
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:43"
.param LUT_INIT 1000
.gate SB_LUT4 I0=I2C.byte_counter[0] I1=I2C.byte_counter[2] I2=$false I3=$false O=$abc$5798$n257
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:43"
.param LUT_INIT 0001
.gate SB_LUT4 I0=I2C.byte_counter[4] I1=I2C.byte_counter[5] I2=I2C.byte_counter[6] I3=I2C.byte_counter[7] O=$abc$5798$n258_1
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:51"
.param LUT_INIT 0000000000000001
.gate SB_LUT4 I0=I2C.byte_counter[3] I1=I2C.byte_counter[8] I2=$false I3=$false O=$abc$5798$n259
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:43"
.param LUT_INIT 0001
.gate SB_LUT4 I0=$abc$5798$n254 I1=I2C.wr I2=wr_old I3=$false O=$abc$5798$n158
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:47"
.param LUT_INIT 00011000
.gate SB_LUT4 I0=$abc$5798$n255 I1=$0\RAM_W[0:0] I2=I2C.wr I3=wr_old O=$abc$5798$n166
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:51"
.param LUT_INIT 0100111101000100
.gate SB_LUT4 I0=I2C.SDAD I1=I2C.SDAF I2=$abc$5798$n25 I3=$false O=$abc$5798$n168
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:47"
.param LUT_INIT 01101111
.gate SB_LUT4 I0=I2C.SCLD I1=I2C.SCLF I2=$abc$5798$n27 I3=$false O=$abc$5798$n170
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:47"
.param LUT_INIT 01101111
.gate SB_LUT4 I0=$abc$5798$n265 I1=$abc$5798$n270 I2=$false I3=$false O=$abc$5798$n185
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:43"
.param LUT_INIT 1000
.gate SB_LUT4 I0=$abc$5798$n79 I1=$abc$5798$n269_1 I2=$abc$5798$n266 I3=$false O=$abc$5798$n265
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:47"
.param LUT_INIT 01000000
.gate SB_LUT4 I0=$abc$5798$n29 I1=$abc$5798$n267 I2=$abc$5798$n171 I3=$abc$5798$n268_1 O=$abc$5798$n266
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:51"
.param LUT_INIT 0000000100000000
.gate SB_LUT4 I0=$abc$5798$n242 I1=I2C.is_read I2=$false I3=$false O=$abc$5798$n267
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:43"
.param LUT_INIT 0100
.gate SB_LUT4 I0=$abc$5798$n9 I1=$abc$5798$n20 I2=$false I3=$false O=$abc$5798$n268_1
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:43"
.param LUT_INIT 0100
.gate SB_LUT4 I0=$abc$5798$n71 I1=$abc$5798$n92 I2=$abc$5798$n584 I3=$false O=$abc$5798$n269_1
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:47"
.param LUT_INIT 00010000
.gate SB_LUT4 I0=$abc$5798$n242 I1=$abc$5798$n77 I2=I2C.i2c_bit_counter[0] I3=I2C.i2c_bit_counter[1] O=$abc$5798$n270
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:51"
.param LUT_INIT 0000000100010000
.gate SB_LUT4 I0=$abc$5798$n265 I1=$abc$5798$n272_1 I2=$false I3=$false O=$abc$5798$n195
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:43"
.param LUT_INIT 1000
.gate SB_LUT4 I0=$abc$5798$n242 I1=I2C.i2c_bit_counter[0] I2=I2C.i2c_bit_counter[1] I3=$abc$5798$n77 O=$abc$5798$n272_1
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:51"
.param LUT_INIT 0001010000000000
.gate SB_LUT4 I0=$abc$5798$n265 I1=$abc$5798$n274 I2=$false I3=$false O=$abc$5798$n203
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:43"
.param LUT_INIT 1000
.gate SB_LUT4 I0=$abc$5798$n242 I1=I2C.i2c_bit_counter[0] I2=I2C.i2c_bit_counter[1] I3=$abc$5798$n77 O=$abc$5798$n274
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:51"
.param LUT_INIT 0000000011101011
.gate SB_LUT4 I0=$abc$5798$n265 I1=$abc$5798$n276_1 I2=$false I3=$false O=$abc$5798$n211
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:43"
.param LUT_INIT 1000
.gate SB_LUT4 I0=$abc$5798$n242 I1=I2C.i2c_bit_counter[0] I2=I2C.i2c_bit_counter[1] I3=$abc$5798$n77 O=$abc$5798$n276_1
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:51"
.param LUT_INIT 1110101100000000
.gate SB_LUT4 I0=$abc$5798$n278_1 I1=$abc$5798$n270 I2=$false I3=$false O=$abc$5798$n219
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:43"
.param LUT_INIT 1000
.gate SB_LUT4 I0=$abc$5798$n266 I1=$abc$5798$n269_1 I2=$abc$5798$n79 I3=$false O=$abc$5798$n278_1
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:47"
.param LUT_INIT 10000000
.gate SB_LUT4 I0=$abc$5798$n278_1 I1=$abc$5798$n272_1 I2=$false I3=$false O=$abc$5798$n226
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:43"
.param LUT_INIT 1000
.gate SB_LUT4 I0=$abc$5798$n278_1 I1=$abc$5798$n274 I2=$false I3=$false O=$abc$5798$n234
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:43"
.param LUT_INIT 1000
.gate SB_LUT4 I0=$abc$5798$n278_1 I1=$abc$5798$n276_1 I2=$false I3=$false O=$abc$5798$n241
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:43"
.param LUT_INIT 1000
.gate SB_LUT4 I0=$abc$5798$n283_1 I1=UART.tx_activity I2=$false I3=$false O=$abc$5798$n246
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:43"
.param LUT_INIT 1110
.gate SB_LUT4 I0=UART.TX_sig_last I1=UART_WR I2=$false I3=$false O=$abc$5798$n283_1
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:43"
.param LUT_INIT 0100
.gate SB_LUT4 I0=UART.tx_activity I1=$abc$5798$n283_1 I2=$false I3=$false O=$abc$5798$n247
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:43"
.param LUT_INIT 0100
.gate SB_LUT4 I0=$abc$5798$n288_1 I1=$abc$5798$n286_1 I2=$abc$5798$n283_1 I3=UART.tx_activity O=$abc$5798$n251
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:51"
.param LUT_INIT 0100010011110000
.gate SB_LUT4 I0=$abc$5798$n549 I1=$abc$5798$n288 I2=$abc$5798$n291 I3=$abc$5798$n292 O=$abc$5798$n286_1
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:51"
.param LUT_INIT 0000000000000001
.gate SB_LUT4 I0=UART.tx_clk_counter[1] I1=UART.tx_clk_counter[0] I2=$false I3=$false O=$abc$5798$n549
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:43"
.param LUT_INIT 1001
.gate SB_LUT4 I0=UART.tx_bit_counter[0] I1=UART.tx_bit_counter[1] I2=UART.tx_bit_counter[2] I3=UART.tx_bit_counter[3] O=$abc$5798$n288_1
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:51"
.param LUT_INIT 0000000000000001
.gate SB_LUT4 I0=$abc$5798$n242 I1=I2C.byte_counter[1] I2=$false I3=$false O=$abc$5798$n258
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:43"
.param LUT_INIT 0100
.gate SB_LUT4 I0=$abc$5798$n242 I1=I2C.byte_counter[3] I2=$false I3=$false O=$abc$5798$n260
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:43"
.param LUT_INIT 0100
.gate SB_LUT4 I0=$abc$5798$n242 I1=I2C.byte_counter[4] I2=$false I3=$false O=$abc$5798$n262
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:43"
.param LUT_INIT 0100
.gate SB_LUT4 I0=$abc$5798$n242 I1=I2C.byte_counter[5] I2=$false I3=$false O=$abc$5798$n263
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:43"
.param LUT_INIT 0100
.gate SB_LUT4 I0=RAM.last_we I1=RAM_W I2=$false I3=$false O=$abc$5798$n317
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:43"
.param LUT_INIT 0100
.gate SB_LUT4 I0=I2C.RECEIVED_BYTE[0] I1=$abc$5798$n318 I2=$0\RAM_W[0:0] I3=$false O=$0\ram_adress[7:0][0]
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:47"
.param LUT_INIT 10101100
.gate SB_LUT4 I0=I2C.RECEIVED_BYTE[1] I1=LED2 I2=$0\RAM_W[0:0] I3=$false O=$0\ram_adress[7:0][1]
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:47"
.param LUT_INIT 10100011
.gate SB_LUT4 I0=I2C.RECEIVED_BYTE[2] I1=$abc$5798$n323 I2=$0\RAM_W[0:0] I3=$false O=$0\ram_adress[7:0][2]
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:47"
.param LUT_INIT 10101100
.gate SB_LUT4 I0=I2C.RECEIVED_BYTE[3] I1=$abc$5798$n325 I2=$0\RAM_W[0:0] I3=$false O=$0\ram_adress[7:0][3]
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:47"
.param LUT_INIT 10101100
.gate SB_LUT4 I0=I2C.RECEIVED_BYTE[4] I1=$abc$5798$n328 I2=$0\RAM_W[0:0] I3=$false O=$0\ram_adress[7:0][4]
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:47"
.param LUT_INIT 10101100
.gate SB_LUT4 I0=I2C.RECEIVED_BYTE[5] I1=$abc$5798$n330 I2=$0\RAM_W[0:0] I3=$false O=$0\ram_adress[7:0][5]
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:47"
.param LUT_INIT 10101100
.gate SB_LUT4 I0=I2C.RECEIVED_BYTE[6] I1=$abc$5798$n333 I2=$0\RAM_W[0:0] I3=$false O=$0\ram_adress[7:0][6]
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:47"
.param LUT_INIT 10101100
.gate SB_LUT4 I0=I2C.RECEIVED_BYTE[7] I1=$abc$5798$n336 I2=$0\RAM_W[0:0] I3=$false O=$0\ram_adress[7:0][7]
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:47"
.param LUT_INIT 10101100
.gate SB_LUT4 I0=RAM.r_data[0] I1=I2C.RECEIVED_BYTE[0] I2=$abc$5798$n141 I3=$false O=$0\UART_TX_DATA[7:0][0]
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:47"
.param LUT_INIT 10101100
.gate SB_LUT4 I0=RAM.r_data[1] I1=I2C.RECEIVED_BYTE[1] I2=$abc$5798$n141 I3=$false O=$0\UART_TX_DATA[7:0][1]
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:47"
.param LUT_INIT 10101100
.gate SB_LUT4 I0=RAM.r_data[2] I1=I2C.RECEIVED_BYTE[2] I2=$abc$5798$n141 I3=$false O=$0\UART_TX_DATA[7:0][2]
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:47"
.param LUT_INIT 10101100
.gate SB_LUT4 I0=RAM.r_data[3] I1=I2C.RECEIVED_BYTE[3] I2=$abc$5798$n141 I3=$false O=$0\UART_TX_DATA[7:0][3]
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:47"
.param LUT_INIT 10101100
.gate SB_LUT4 I0=RAM.r_data[4] I1=I2C.RECEIVED_BYTE[4] I2=$abc$5798$n141 I3=$false O=$0\UART_TX_DATA[7:0][4]
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:47"
.param LUT_INIT 10101100
.gate SB_LUT4 I0=RAM.r_data[5] I1=I2C.RECEIVED_BYTE[5] I2=$abc$5798$n141 I3=$false O=$0\UART_TX_DATA[7:0][5]
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:47"
.param LUT_INIT 10101100
.gate SB_LUT4 I0=RAM.r_data[6] I1=I2C.RECEIVED_BYTE[6] I2=$abc$5798$n141 I3=$false O=$0\UART_TX_DATA[7:0][6]
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:47"
.param LUT_INIT 10101100
.gate SB_LUT4 I0=RAM.r_data[7] I1=I2C.RECEIVED_BYTE[7] I2=$abc$5798$n141 I3=$false O=$0\UART_TX_DATA[7:0][7]
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:47"
.param LUT_INIT 10101100
.gate SB_LUT4 I0=$abc$5798$n242 I1=I2C.i2c_bit_counter[0] I2=$false I3=$false O=$abc$5798$n363
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:43"
.param LUT_INIT 0100
.gate SB_LUT4 I0=$abc$5798$n242 I1=I2C.i2c_bit_counter[1] I2=$false I3=$false O=$abc$5798$n365
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:43"
.param LUT_INIT 0100
.gate SB_LUT4 I0=$abc$5798$n242 I1=I2C.i2c_bit_counter[2] I2=$false I3=$false O=$abc$5798$n367
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:43"
.param LUT_INIT 0100
.gate SB_LUT4 I0=$abc$5798$n242 I1=I2C.i2c_bit_counter[3] I2=$false I3=$false O=$abc$5798$n609
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:43"
.param LUT_INIT 0001
.gate SB_LUT4 I0=$abc$5798$n315 I1=$abc$5798$n336_1 I2=$abc$5798$n320_1 I3=$abc$5798$n326_1 O=$abc$5798$n378
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:51"
.param LUT_INIT 1011000011111111
.gate SB_LUT4 I0=$abc$5798$n316_1 I1=$abc$5798$n317_1 I2=$abc$5798$n318_1 I3=$abc$5798$n319_1 O=$abc$5798$n315
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:51"
.param LUT_INIT 0000000000000001
.gate SB_LUT4 I0=$abc$5798$n14 I1=I2C_TX[0] I2=$abc$5798$n79 I3=$abc$5798$n270 O=$abc$5798$n316_1
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:51"
.param LUT_INIT 0101110000000000
.gate SB_LUT4 I0=$abc$5798$n22 I1=I2C_TX[5] I2=$abc$5798$n79 I3=$abc$5798$n272_1 O=$abc$5798$n317_1
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:51"
.param LUT_INIT 1100010100000000
.gate SB_LUT4 I0=I2C_TX[7] I1=I2C_TX[3] I2=$abc$5798$n79 I3=$abc$5798$n276_1 O=$abc$5798$n318_1
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:51"
.param LUT_INIT 1010110000000000
.gate SB_LUT4 I0=$abc$5798$n12 I1=I2C_TX[6] I2=$abc$5798$n79 I3=$abc$5798$n274 O=$abc$5798$n319_1
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:51"
.param LUT_INIT 1100010100000000
.gate SB_LUT4 I0=$abc$5798$n322_1 I1=$abc$5798$n321 I2=$false I3=$false O=$abc$5798$n320_1
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:43"
.param LUT_INIT 0100
.gate SB_LUT4 I0=$abc$5798$n29 I1=$abc$5798$n267 I2=$false I3=$false O=$abc$5798$n321
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:43"
.param LUT_INIT 0100
.gate SB_LUT4 I0=$abc$5798$n324_1 I1=$abc$5798$n323_1 I2=$abc$5798$n325_1 I3=$abc$5798$n171 O=$abc$5798$n322_1
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:51"
.param LUT_INIT 0111001100000011
.gate SB_LUT4 I0=$abc$5798$n242 I1=$abc$5798$n243 I2=I2C.SDA_DIR I3=$false O=$abc$5798$n323_1
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:47"
.param LUT_INIT 00010000
.gate SB_LUT4 I0=$abc$5798$n242 I1=I2C.is_ack I2=$false I3=$false O=$abc$5798$n324_1
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:43"
.param LUT_INIT 0100
.gate SB_LUT4 I0=$abc$5798$n20 I1=$abc$5798$n9 I2=$false I3=$false O=$abc$5798$n325_1
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:43"
.param LUT_INIT 0100
.gate SB_LUT4 I0=$abc$5798$n328_1 I1=$abc$5798$n327_1 I2=I2C.i2c_state_machine I3=$abc$5798$n323_1 O=$abc$5798$n326_1
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:51"
.param LUT_INIT 1011000010111011
.gate SB_LUT4 I0=$abc$5798$n29 I1=$abc$5798$n267 I2=$false I3=$false O=$abc$5798$n327_1
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:43"
.param LUT_INIT 0001
.gate SB_LUT4 I0=$abc$5798$n329_1 I1=$abc$5798$n323_1 I2=$abc$5798$n330_1 I3=$abc$5798$n418 O=$abc$5798$n328_1
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:51"
.param LUT_INIT 1011000010111011
.gate SB_LUT4 I0=$abc$5798$n325_1 I1=$abc$5798$n171 I2=$false I3=$false O=$abc$5798$n329_1
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:43"
.param LUT_INIT 1000
.gate SB_LUT4 I0=$abc$5798$n331_1 I1=$abc$5798$n333_1 I2=$false I3=$false O=$abc$5798$n330_1
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:43"
.param LUT_INIT 0001
.gate SB_LUT4 I0=$abc$5798$n18 I1=$abc$5798$n9 I2=$abc$5798$n7 I3=$abc$5798$n332_1 O=$abc$5798$n331_1
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:51"
.param LUT_INIT 0000000011101111
.gate SB_LUT4 I0=I2C.byte_counter[1] I1=$abc$5798$n259 I2=$abc$5798$n258_1 I3=$abc$5798$n257 O=$abc$5798$n332_1
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:51"
.param LUT_INIT 0100000000000000
.gate SB_LUT4 I0=$abc$5798$n334_1 I1=I2C.RECEIVED_BYTE[3] I2=I2C.RECEIVED_BYTE[5] I3=I2C.RECEIVED_BYTE[6] O=$abc$5798$n333_1
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:51"
.param LUT_INIT 1000000000000000
.gate SB_LUT4 I0=I2C.RECEIVED_BYTE[1] I1=I2C.RECEIVED_BYTE[2] I2=I2C.RECEIVED_BYTE[4] I3=I2C.RECEIVED_BYTE[7] O=$abc$5798$n334_1
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:51"
.param LUT_INIT 0000000000000001
.gate SB_LUT4 I0=$abc$5798$n171 I1=$abc$5798$n325_1 I2=$false I3=$false O=$abc$5798$n336_1
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:43"
.param LUT_INIT 0100
.gate SB_LUT4 I0=$abc$5798$n338_1 I1=$abc$5798$n267 I2=$false I3=$false O=$abc$5798$n380
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:43"
.param LUT_INIT 1110
.gate SB_LUT4 I0=$abc$5798$n29 I1=$abc$5798$n331_1 I2=$abc$5798$n418 I3=I2C.RECEIVED_BYTE[0] O=$abc$5798$n338_1
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:51"
.param LUT_INIT 0001000000000000
.gate SB_LUT4 I0=$abc$5798$n340_1 I1=$abc$5798$n363 I2=$abc$5798$n343_1 I3=$abc$5798$n344_1 O=$abc$5798$n382
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:51"
.param LUT_INIT 1111111101000000
.gate SB_LUT4 I0=$abc$5798$n341_1 I1=$abc$5798$n336_1 I2=$abc$5798$n321 I3=$false O=$abc$5798$n340_1
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:47"
.param LUT_INIT 11100000
.gate SB_LUT4 I0=$abc$5798$n342_1 I1=$abc$5798$n171 I2=$false I3=$false O=$abc$5798$n341_1
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:43"
.param LUT_INIT 1000
.gate SB_LUT4 I0=$abc$5798$n242 I1=$abc$5798$n268_1 I2=I2C.is_ack I3=$false O=$abc$5798$n342_1
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:47"
.param LUT_INIT 01000000
.gate SB_LUT4 I0=$abc$5798$n324_1 I1=$abc$5798$n329_1 I2=$abc$5798$n327_1 I3=$abc$5798$n266 O=$abc$5798$n343_1
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:51"
.param LUT_INIT 0000000001111111
.gate SB_LUT4 I0=$abc$5798$n345_1 I1=$abc$5798$n171 I2=$abc$5798$n77 I3=$false O=$abc$5798$n344_1
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:47"
.param LUT_INIT 00010000
.gate SB_LUT4 I0=$abc$5798$n29 I1=$abc$5798$n267 I2=$abc$5798$n9 I3=$abc$5798$n20 O=$abc$5798$n345_1
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:51"
.param LUT_INIT 1111111010111111
.gate SB_LUT4 I0=$abc$5798$n340_1 I1=$abc$5798$n365 I2=$abc$5798$n343_1 I3=$abc$5798$n347_1 O=$abc$5798$n384
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:51"
.param LUT_INIT 1111111101000000
.gate SB_LUT4 I0=$abc$5798$n345_1 I1=$abc$5798$n348_1 I2=$abc$5798$n171 I3=$false O=$abc$5798$n347_1
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:47"
.param LUT_INIT 00000001
.gate SB_LUT4 I0=$abc$5798$n242 I1=I2C.i2c_bit_counter[0] I2=I2C.i2c_bit_counter[1] I3=$false O=$abc$5798$n348_1
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:47"
.param LUT_INIT 00010100
.gate SB_LUT4 I0=$abc$5798$n340_1 I1=$abc$5798$n367 I2=$abc$5798$n343_1 I3=$abc$5798$n350_1 O=$abc$5798$n386
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:51"
.param LUT_INIT 1111111101000000
.gate SB_LUT4 I0=$abc$5798$n345_1 I1=$abc$5798$n171 I2=$abc$5798$n79 I3=$false O=$abc$5798$n350_1
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:47"
.param LUT_INIT 00010000
.gate SB_LUT4 I0=$abc$5798$n29 I1=$abc$5798$n267 I2=$abc$5798$n354_1 I3=$false O=$abc$5798$n353
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:47"
.param LUT_INIT 00000001
.gate SB_LUT4 I0=$abc$5798$n325_1 I1=I2C.is_ack I2=I2C.i2c_bit_counter[3] I3=$abc$5798$n242 O=$abc$5798$n354_1
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:51"
.param LUT_INIT 0000000000000111
.gate SB_LUT4 I0=$abc$5798$n321 I1=$abc$5798$n341_1 I2=$abc$5798$n359_1 I3=$false O=$abc$5798$n358_1
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:47"
.param LUT_INIT 00000111
.gate SB_LUT4 I0=$abc$5798$n29 I1=$abc$5798$n267 I2=$abc$5798$n418 I3=$false O=$abc$5798$n359_1
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:47"
.param LUT_INIT 00010000
.gate SB_LUT4 I0=$abc$5798$n492 I1=$abc$5798$n422 I2=$abc$5798$n260 I3=$abc$5798$n358_1 O=$abc$5798$n396
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:51"
.param LUT_INIT 1111000011101110
.gate SB_LUT4 I0=I2C.byte_counter[6] I1=I2C.byte_counter[7] I2=I2C.byte_counter[8] I3=I2C.byte_counter[1] O=$abc$5798$n369_1
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:51"
.param LUT_INIT 0000000100000000
.gate SB_LUT4 I0=$abc$5798$n422 I1=$abc$5798$n493 I2=$abc$5798$n262 I3=$abc$5798$n358_1 O=$abc$5798$n398
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:51"
.param LUT_INIT 1111000001000100
.gate SB_LUT4 I0=$abc$5798$n422 I1=$abc$5798$n494 I2=$abc$5798$n263 I3=$abc$5798$n358_1 O=$abc$5798$n400
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:51"
.param LUT_INIT 1111000001000100
.gate SB_LUT4 I0=$abc$5798$n422 I1=$abc$5798$n495 I2=$abc$5798$n104 I3=$abc$5798$n358_1 O=$abc$5798$n402
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:51"
.param LUT_INIT 1111000001000100
.gate SB_LUT4 I0=$abc$5798$n422 I1=$abc$5798$n496 I2=$abc$5798$n105 I3=$abc$5798$n358_1 O=$abc$5798$n404
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:51"
.param LUT_INIT 1111000001000100
.gate SB_LUT4 I0=$abc$5798$n422 I1=$abc$5798$n497 I2=$abc$5798$n110 I3=$abc$5798$n358_1 O=$abc$5798$n406
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:51"
.param LUT_INIT 1111000001000100
.gate SB_LUT4 I0=$abc$5798$n376 I1=$abc$5798$n378_1 I2=$false I3=$false O=$abc$5798$n408
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:43"
.param LUT_INIT 1011
.gate SB_LUT4 I0=$abc$5798$n330_1 I1=$abc$5798$n418 I2=$abc$5798$n377 I3=$abc$5798$n327_1 O=$abc$5798$n376
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:51"
.param LUT_INIT 1111010000000000
.gate SB_LUT4 I0=$abc$5798$n329_1 I1=$abc$5798$n324_1 I2=$false I3=$false O=$abc$5798$n377
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:43"
.param LUT_INIT 0100
.gate SB_LUT4 I0=$abc$5798$n325_1 I1=$abc$5798$n171 I2=$abc$5798$n321 I3=$abc$5798$n423 O=$abc$5798$n378_1
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:51"
.param LUT_INIT 0000000001111111
.gate SB_LUT4 I0=$abc$5798$n381 I1=$abc$5798$n382_1 I2=$abc$5798$n385 I3=$abc$5798$n387 O=$abc$5798$n410
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:51"
.param LUT_INIT 1111111111110010
.gate SB_LUT4 I0=$abc$5798$n321 I1=$abc$5798$n171 I2=$false I3=$false O=$abc$5798$n381
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:43"
.param LUT_INIT 1000
.gate SB_LUT4 I0=$abc$5798$n383 I1=$abc$5798$n384_1 I2=$abc$5798$n342_1 I3=$false O=$abc$5798$n382_1
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:47"
.param LUT_INIT 10100011
.gate SB_LUT4 I0=$abc$5798$n323_1 I1=$abc$5798$n7 I2=$false I3=$false O=$abc$5798$n383
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:43"
.param LUT_INIT 0001
.gate SB_LUT4 I0=$abc$5798$n242 I1=$abc$5798$n243 I2=I2C.wr I3=$false O=$abc$5798$n384_1
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:47"
.param LUT_INIT 00010000
.gate SB_LUT4 I0=$abc$5798$n171 I1=$abc$5798$n325_1 I2=$abc$5798$n386_1 I3=$abc$5798$n384_1 O=$abc$5798$n385
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:51"
.param LUT_INIT 0001111100000000
.gate SB_LUT4 I0=$abc$5798$n329_1 I1=$abc$5798$n324_1 I2=$abc$5798$n267 I3=$abc$5798$n29 O=$abc$5798$n386_1
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:51"
.param LUT_INIT 0000000011111000
.gate SB_LUT4 I0=$abc$5798$n596 I1=$abc$5798$n341_1 I2=$abc$5798$n327_1 I3=$false O=$abc$5798$n387
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:47"
.param LUT_INIT 01000000
.gate SB_LUT4 I0=$abc$5798$n341_1 I1=$abc$5798$n383 I2=$abc$5798$n389 I3=$abc$5798$n267 O=$abc$5798$n415
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:51"
.param LUT_INIT 0111011100001111
.gate SB_LUT4 I0=$abc$5798$n330_1 I1=$abc$5798$n418 I2=$false I3=$false O=$abc$5798$n389
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:43"
.param LUT_INIT 1000
.gate SB_LUT4 I0=$abc$5798$n288_1 I1=$abc$5798$n286_1 I2=$abc$5798$n283_1 I3=UART.tx_activity O=$abc$5798$n546
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:51"
.param LUT_INIT 0111011111110000
.gate SB_LUT4 I0=$abc$5798$n286_1 I1=$abc$5798$n288 I2=$false I3=$false O=$abc$5798$n548
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:43"
.param LUT_INIT 1110
.gate SB_LUT4 I0=$abc$5798$n286_1 I1=$abc$5798$n291 I2=$false I3=$false O=$abc$5798$n550
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:43"
.param LUT_INIT 1110
.gate SB_LUT4 I0=$abc$5798$n286_1 I1=$abc$5798$n292 I2=$false I3=$false O=$abc$5798$n551
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:43"
.param LUT_INIT 1110
.gate SB_LUT4 I0=UART.tx_activity I1=I2C.i2c_state_machine I2=$false I3=$false O=COM_DSR
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:43"
.param LUT_INIT 1110
.gate SB_LUT4 I0=RAM.r_data[2] I1=$false I2=$false I3=$false O=$abc$5798$n1
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:39"
.param LUT_INIT 01
.gate SB_LUT4 I0=RAM.r_data[4] I1=$false I2=$false I3=$false O=$abc$5798$n3
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:39"
.param LUT_INIT 01
.gate SB_LUT4 I0=$abc$5798$n7 I1=$false I2=$false I3=$false O=$abc$5798$n6
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:39"
.param LUT_INIT 01
.gate SB_LUT4 I0=$abc$5798$n9 I1=$false I2=$false I3=$false O=$abc$5798$n8
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:39"
.param LUT_INIT 01
.gate SB_LUT4 I0=RAM.r_data[1] I1=$false I2=$false I3=$false O=$abc$5798$n11
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:39"
.param LUT_INIT 01
.gate SB_LUT4 I0=$abc$5798$n16 I1=$false I2=$false I3=$false O=COM_TX
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:39"
.param LUT_INIT 01
.gate SB_LUT4 I0=UART.tx_activity I1=$false I2=$false I3=$false O=$abc$5798$n31
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:39"
.param LUT_INIT 01
.gate SB_LUT4 I0=$abc$5798$n609 I1=$false I2=$false I3=$false O=$abc$5798$n369
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:39"
.param LUT_INIT 01
.gate SB_LUT4 I0=$abc$5798$n258 I1=$false I2=$false I3=$false O=$abc$5798$n583
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:39"
.param LUT_INIT 01
.gate SB_LUT4 I0=$abc$5798$n365 I1=$false I2=$false I3=$false O=$abc$5798$n585
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:39"
.param LUT_INIT 01
.gate SB_LUT4 I0=$abc$5798$n594 I1=$false I2=$false I3=$false O=$abc$5798$n593
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:39"
.param LUT_INIT 01
.gate SB_LUT4 I0=$abc$5798$n101 I1=$false I2=$false I3=$false O=$abc$5798$n599
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:39"
.param LUT_INIT 01
.gate SB_LUT4 I0=$abc$5798$n260 I1=$false I2=$false I3=$false O=$abc$5798$n600
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:39"
.param LUT_INIT 01
.gate SB_LUT4 I0=$abc$5798$n263 I1=$false I2=$false I3=$false O=$abc$5798$n601
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:39"
.param LUT_INIT 01
.gate SB_LUT4 I0=$abc$5798$n104 I1=$false I2=$false I3=$false O=$abc$5798$n602
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:39"
.param LUT_INIT 01
.gate SB_LUT4 I0=$abc$5798$n105 I1=$false I2=$false I3=$false O=$abc$5798$n603
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:39"
.param LUT_INIT 01
.gate SB_LUT4 I0=$abc$5798$n110 I1=$false I2=$false I3=$false O=$abc$5798$n604
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:39"
.param LUT_INIT 01
.gate SB_LUT4 I0=$abc$5798$n262 I1=$false I2=$false I3=$false O=$abc$5798$n605
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:39"
.param LUT_INIT 01
.gate SB_LUT4 I0=$abc$5798$n595 I1=$false I2=$false I3=$false O=$abc$5798$n606
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:39"
.param LUT_INIT 01
.gate SB_LUT4 I0=$abc$5798$n363 I1=$false I2=$false I3=$false O=$abc$5798$n607
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:39"
.param LUT_INIT 01
.gate SB_LUT4 I0=$abc$5798$n367 I1=$false I2=$false I3=$false O=$abc$5798$n608
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:39"
.param LUT_INIT 01
.gate SB_LUT4 I0=$abc$5798$n610 I1=$false I2=$false I3=$false O=$abc$5798$n611
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:39"
.param LUT_INIT 01
.gate SB_LUT4 I0=$abc$5798$n612 I1=$false I2=$false I3=$false O=$abc$5798$n613
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:39"
.param LUT_INIT 01
.gate SB_LUT4 I0=I2C.is_ack I1=$abc$5798$n171 I2=$abc$5798$n325_1 I3=$false O=$abc$5798$n418
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:47"
.param LUT_INIT 01000000
.gate SB_LUT4 I0=$abc$5798$n489 I1=$abc$5798$n98 I2=$abc$5798$n420 I3=$false O=$abc$5798$n390
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:47"
.param LUT_INIT 10101100
.gate SB_LUT4 I0=$abc$5798$n321 I1=$abc$5798$n341_1 I2=$abc$5798$n359_1 I3=$abc$5798$n422 O=$abc$5798$n420
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:51"
.param LUT_INIT 0000000011111000
.gate SB_LUT4 I0=$abc$5798$n491 I1=$abc$5798$n101 I2=$abc$5798$n420 I3=$false O=$abc$5798$n394
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:47"
.param LUT_INIT 10101100
.gate SB_LUT4 I0=$abc$5798$n260 I1=$abc$5798$n257 I2=$abc$5798$n369_1 I3=$abc$5798$n258_1 O=$abc$5798$n422
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:51"
.param LUT_INIT 1000000000000000
.gate SB_LUT4 I0=$abc$5798$n29 I1=$abc$5798$n325_1 I2=$abc$5798$n324_1 I3=$false O=$abc$5798$n423
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:47"
.param LUT_INIT 10110000
.gate SB_LUT4 I0=$abc$5798$n609 I1=$abc$5798$n71 I2=$abc$5798$n345_1 I3=$false O=$abc$5798$n424
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:47"
.param LUT_INIT 01011100
.gate SB_LUT4 I0=$abc$5798$n345_1 I1=$abc$5798$n342_1 I2=$abc$5798$n609 I3=$abc$5798$n321 O=$abc$5798$n425
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:51"
.param LUT_INIT 0011000011110101
.gate SB_LUT4 I0=$abc$5798$n353 I1=$abc$5798$n425 I2=$abc$5798$n424 I3=$abc$5798$n171 O=$abc$5798$n388
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:51"
.param LUT_INIT 1011101111110000
.gate SB_LUT4 I0=$abc$5798$n242 I1=$abc$5798$n418 I2=$abc$5798$n341_1 I3=$abc$5798$n267 O=$abc$5798$n427
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:51"
.param LUT_INIT 1111000001000100
.gate SB_LUT4 I0=$abc$5798$n29 I1=I2C.byte_counter[0] I2=$abc$5798$n427 I3=$abc$5798$n258 O=$abc$5798$n392
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:51"
.param LUT_INIT 1011111101000000
.gate SB_CARRY CI=$abc$5798$n606 CO=$auto$alumacc.cc:470:replace_alu$1306.C[2] I0=$false I1=$abc$5798$n594
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/arith_map.v:47"
.gate SB_CARRY CI=$auto$alumacc.cc:470:replace_alu$1306.C[2] CO=$auto$alumacc.cc:470:replace_alu$1306.C[3] I0=$false I1=$abc$5798$n611
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/arith_map.v:47"
.gate SB_CARRY CI=$auto$alumacc.cc:470:replace_alu$1306.C[3] CO=$abc$5798$n553 I0=$false I1=$abc$5798$n613
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/arith_map.v:47"
.gate SB_CARRY CI=$abc$5798$n607 CO=$auto$alumacc.cc:470:replace_alu$1311.C[2] I0=$false I1=$abc$5798$n585
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/arith_map.v:47"
.gate SB_CARRY CI=$auto$alumacc.cc:470:replace_alu$1311.C[2] CO=$auto$alumacc.cc:470:replace_alu$1311.C[3] I0=$false I1=$abc$5798$n608
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/arith_map.v:47"
.gate SB_CARRY CI=$auto$alumacc.cc:470:replace_alu$1311.C[3] CO=$abc$5798$n171 I0=$false I1=$abc$5798$n609
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/arith_map.v:47"
.gate SB_CARRY CI=$abc$5798$n583 CO=$auto$alumacc.cc:470:replace_alu$1316.C[3] I0=$false I1=$abc$5798$n599
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/arith_map.v:47"
.gate SB_CARRY CI=$auto$alumacc.cc:470:replace_alu$1316.C[3] CO=$auto$alumacc.cc:470:replace_alu$1316.C[4] I0=$false I1=$abc$5798$n600
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/arith_map.v:47"
.gate SB_CARRY CI=$auto$alumacc.cc:470:replace_alu$1316.C[4] CO=$auto$alumacc.cc:470:replace_alu$1316.C[5] I0=$false I1=$abc$5798$n605
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/arith_map.v:47"
.gate SB_CARRY CI=$auto$alumacc.cc:470:replace_alu$1316.C[5] CO=$auto$alumacc.cc:470:replace_alu$1316.C[6] I0=$false I1=$abc$5798$n601
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/arith_map.v:47"
.gate SB_CARRY CI=$auto$alumacc.cc:470:replace_alu$1316.C[6] CO=$auto$alumacc.cc:470:replace_alu$1316.C[7] I0=$false I1=$abc$5798$n602
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/arith_map.v:47"
.gate SB_CARRY CI=$auto$alumacc.cc:470:replace_alu$1316.C[7] CO=$auto$alumacc.cc:470:replace_alu$1316.C[8] I0=$false I1=$abc$5798$n603
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/arith_map.v:47"
.gate SB_CARRY CI=$auto$alumacc.cc:470:replace_alu$1316.C[8] CO=$abc$5798$n596 I0=$false I1=$abc$5798$n604
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/arith_map.v:47"
.gate SB_LUT4 I0=$false I1=$true I2=$abc$5798$n98 I3=$false O=$abc$5798$n489
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/arith_map.v:53"
.param LUT_INIT 0110100110010110
.gate SB_CARRY CI=$abc$5798$n98 CO=$auto$alumacc.cc:470:replace_alu$1321.C[2] I0=$false I1=$abc$5798$n258
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/arith_map.v:47"
.gate SB_LUT4 I0=$false I1=$false I2=$abc$5798$n101 I3=$auto$alumacc.cc:470:replace_alu$1321.C[2] O=$abc$5798$n491
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/arith_map.v:53"
.param LUT_INIT 0110100110010110
.gate SB_CARRY CI=$auto$alumacc.cc:470:replace_alu$1321.C[2] CO=$auto$alumacc.cc:470:replace_alu$1321.C[3] I0=$false I1=$abc$5798$n101
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/arith_map.v:47"
.gate SB_LUT4 I0=$false I1=$false I2=$abc$5798$n260 I3=$auto$alumacc.cc:470:replace_alu$1321.C[3] O=$abc$5798$n492
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/arith_map.v:53"
.param LUT_INIT 0110100110010110
.gate SB_CARRY CI=$auto$alumacc.cc:470:replace_alu$1321.C[3] CO=$auto$alumacc.cc:470:replace_alu$1321.C[4] I0=$false I1=$abc$5798$n260
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/arith_map.v:47"
.gate SB_LUT4 I0=$false I1=$false I2=$abc$5798$n262 I3=$auto$alumacc.cc:470:replace_alu$1321.C[4] O=$abc$5798$n493
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/arith_map.v:53"
.param LUT_INIT 0110100110010110
.gate SB_CARRY CI=$auto$alumacc.cc:470:replace_alu$1321.C[4] CO=$auto$alumacc.cc:470:replace_alu$1321.C[5] I0=$false I1=$abc$5798$n262
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/arith_map.v:47"
.gate SB_LUT4 I0=$false I1=$false I2=$abc$5798$n263 I3=$auto$alumacc.cc:470:replace_alu$1321.C[5] O=$abc$5798$n494
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/arith_map.v:53"
.param LUT_INIT 0110100110010110
.gate SB_CARRY CI=$auto$alumacc.cc:470:replace_alu$1321.C[5] CO=$auto$alumacc.cc:470:replace_alu$1321.C[6] I0=$false I1=$abc$5798$n263
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/arith_map.v:47"
.gate SB_LUT4 I0=$false I1=$false I2=$abc$5798$n104 I3=$auto$alumacc.cc:470:replace_alu$1321.C[6] O=$abc$5798$n495
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/arith_map.v:53"
.param LUT_INIT 0110100110010110
.gate SB_CARRY CI=$auto$alumacc.cc:470:replace_alu$1321.C[6] CO=$auto$alumacc.cc:470:replace_alu$1321.C[7] I0=$false I1=$abc$5798$n104
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/arith_map.v:47"
.gate SB_LUT4 I0=$false I1=$false I2=$abc$5798$n105 I3=$auto$alumacc.cc:470:replace_alu$1321.C[7] O=$abc$5798$n496
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/arith_map.v:53"
.param LUT_INIT 0110100110010110
.gate SB_CARRY CI=$auto$alumacc.cc:470:replace_alu$1321.C[7] CO=$auto$alumacc.cc:470:replace_alu$1321.C[8] I0=$false I1=$abc$5798$n105
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/arith_map.v:47"
.gate SB_LUT4 I0=$false I1=$false I2=$abc$5798$n110 I3=$auto$alumacc.cc:470:replace_alu$1321.C[8] O=$abc$5798$n497
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/arith_map.v:53"
.param LUT_INIT 0110100110010110
.gate SB_LUT4 I0=$false I1=$abc$5798$n363 I2=$false I3=$true O=$abc$5798$n77
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/arith_map.v:53"
.param LUT_INIT 0110100110010110
.gate SB_CARRY CI=$abc$5798$n363 CO=$auto$alumacc.cc:470:replace_alu$1324.C[2] I0=$abc$5798$n365 I1=$true
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/arith_map.v:47"
.gate SB_LUT4 I0=$false I1=$abc$5798$n367 I2=$true I3=$auto$alumacc.cc:470:replace_alu$1324.C[2] O=$abc$5798$n79
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/arith_map.v:53"
.param LUT_INIT 0110100110010110
.gate SB_CARRY CI=$auto$alumacc.cc:470:replace_alu$1324.C[2] CO=$auto$alumacc.cc:470:replace_alu$1324.C[3] I0=$abc$5798$n367 I1=$true
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/arith_map.v:47"
.gate SB_LUT4 I0=$false I1=$abc$5798$n369 I2=$true I3=$auto$alumacc.cc:470:replace_alu$1324.C[3] O=$abc$5798$n71
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/arith_map.v:53"
.param LUT_INIT 0110100110010110
.gate SB_CARRY CI=$auto$alumacc.cc:470:replace_alu$1324.C[3] CO=$abc$5798$n584 I0=$abc$5798$n369 I1=$true
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/arith_map.v:47"
.gate SB_LUT4 I0=$false I1=$false I2=$true I3=$abc$5798$n584 O=$abc$5798$n92
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/arith_map.v:53"
.param LUT_INIT 0110100110010110
.gate SB_LUT4 I0=$false I1=I2C.scl_cnt[0] I2=$false I3=$true O=$abc$5798$n275
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/arith_map.v:53"
.param LUT_INIT 0110100110010110
.gate SB_CARRY CI=I2C.scl_cnt[0] CO=$auto$alumacc.cc:470:replace_alu$1327.C[2] I0=I2C.scl_cnt[1] I1=$true
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/arith_map.v:47"
.gate SB_LUT4 I0=$false I1=I2C.scl_cnt[2] I2=$true I3=$auto$alumacc.cc:470:replace_alu$1327.C[2] O=$abc$5798$n278
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/arith_map.v:53"
.param LUT_INIT 0110100110010110
.gate SB_CARRY CI=$auto$alumacc.cc:470:replace_alu$1327.C[2] CO=$auto$alumacc.cc:470:replace_alu$1327.C[3] I0=I2C.scl_cnt[2] I1=$true
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/arith_map.v:47"
.gate SB_LUT4 I0=$false I1=I2C.scl_cnt[3] I2=$true I3=$auto$alumacc.cc:470:replace_alu$1327.C[3] O=$abc$5798$n279
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/arith_map.v:53"
.param LUT_INIT 0110100110010110
.gate SB_LUT4 I0=$false I1=I2C.sda_cnt[0] I2=$false I3=$true O=$abc$5798$n268
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/arith_map.v:53"
.param LUT_INIT 0110100110010110
.gate SB_CARRY CI=I2C.sda_cnt[0] CO=$auto$alumacc.cc:470:replace_alu$1330.C[2] I0=I2C.sda_cnt[1] I1=$true
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/arith_map.v:47"
.gate SB_LUT4 I0=$false I1=I2C.sda_cnt[2] I2=$true I3=$auto$alumacc.cc:470:replace_alu$1330.C[2] O=$abc$5798$n271
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/arith_map.v:53"
.param LUT_INIT 0110100110010110
.gate SB_CARRY CI=$auto$alumacc.cc:470:replace_alu$1330.C[2] CO=$auto$alumacc.cc:470:replace_alu$1330.C[3] I0=I2C.sda_cnt[2] I1=$true
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/arith_map.v:47"
.gate SB_LUT4 I0=$false I1=I2C.sda_cnt[3] I2=$true I3=$auto$alumacc.cc:470:replace_alu$1330.C[3] O=$abc$5798$n272
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/arith_map.v:53"
.param LUT_INIT 0110100110010110
.gate SB_LUT4 I0=$false I1=$true I2=LED1 I3=$false O=$abc$5798$n318
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/arith_map.v:53"
.param LUT_INIT 0110100110010110
.gate SB_CARRY CI=LED1 CO=$auto$alumacc.cc:470:replace_alu$1333.C[2] I0=$false I1=LED2
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/arith_map.v:47"
.gate SB_LUT4 I0=$false I1=$false I2=LED3 I3=$auto$alumacc.cc:470:replace_alu$1333.C[2] O=$abc$5798$n323
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/arith_map.v:53"
.param LUT_INIT 0110100110010110
.gate SB_CARRY CI=$auto$alumacc.cc:470:replace_alu$1333.C[2] CO=$auto$alumacc.cc:470:replace_alu$1333.C[3] I0=$false I1=LED3
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/arith_map.v:47"
.gate SB_LUT4 I0=$false I1=$false I2=LED4 I3=$auto$alumacc.cc:470:replace_alu$1333.C[3] O=$abc$5798$n325
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/arith_map.v:53"
.param LUT_INIT 0110100110010110
.gate SB_CARRY CI=$auto$alumacc.cc:470:replace_alu$1333.C[3] CO=$auto$alumacc.cc:470:replace_alu$1333.C[4] I0=$false I1=LED4
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/arith_map.v:47"
.gate SB_LUT4 I0=$false I1=$false I2=ram_adress[4] I3=$auto$alumacc.cc:470:replace_alu$1333.C[4] O=$abc$5798$n328
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/arith_map.v:53"
.param LUT_INIT 0110100110010110
.gate SB_CARRY CI=$auto$alumacc.cc:470:replace_alu$1333.C[4] CO=$auto$alumacc.cc:470:replace_alu$1333.C[5] I0=$false I1=ram_adress[4]
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/arith_map.v:47"
.gate SB_LUT4 I0=$false I1=$false I2=ram_adress[5] I3=$auto$alumacc.cc:470:replace_alu$1333.C[5] O=$abc$5798$n330
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/arith_map.v:53"
.param LUT_INIT 0110100110010110
.gate SB_CARRY CI=$auto$alumacc.cc:470:replace_alu$1333.C[5] CO=$auto$alumacc.cc:470:replace_alu$1333.C[6] I0=$false I1=ram_adress[5]
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/arith_map.v:47"
.gate SB_LUT4 I0=$false I1=$false I2=ram_adress[6] I3=$auto$alumacc.cc:470:replace_alu$1333.C[6] O=$abc$5798$n333
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/arith_map.v:53"
.param LUT_INIT 0110100110010110
.gate SB_CARRY CI=$auto$alumacc.cc:470:replace_alu$1333.C[6] CO=$auto$alumacc.cc:470:replace_alu$1333.C[7] I0=$false I1=ram_adress[6]
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/arith_map.v:47"
.gate SB_LUT4 I0=$false I1=$false I2=ram_adress[7] I3=$auto$alumacc.cc:470:replace_alu$1333.C[7] O=$abc$5798$n336
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/arith_map.v:53"
.param LUT_INIT 0110100110010110
.gate SB_LUT4 I0=$false I1=UART.tx_clk_counter[0] I2=$false I3=$true O=$abc$5798$n288
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/arith_map.v:53"
.param LUT_INIT 0110100110010110
.gate SB_CARRY CI=UART.tx_clk_counter[0] CO=$auto$alumacc.cc:470:replace_alu$1336.C[2] I0=UART.tx_clk_counter[1] I1=$true
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/arith_map.v:47"
.gate SB_LUT4 I0=$false I1=UART.tx_clk_counter[2] I2=$true I3=$auto$alumacc.cc:470:replace_alu$1336.C[2] O=$abc$5798$n291
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/arith_map.v:53"
.param LUT_INIT 0110100110010110
.gate SB_CARRY CI=$auto$alumacc.cc:470:replace_alu$1336.C[2] CO=$auto$alumacc.cc:470:replace_alu$1336.C[3] I0=UART.tx_clk_counter[2] I1=$true
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/arith_map.v:47"
.gate SB_LUT4 I0=$false I1=UART.tx_clk_counter[3] I2=$true I3=$auto$alumacc.cc:470:replace_alu$1336.C[3] O=$abc$5798$n292
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/arith_map.v:53"
.param LUT_INIT 0110100110010110
.gate SB_LUT4 I0=$false I1=UART.tx_bit_counter[0] I2=$false I3=$true O=$abc$5798$n595
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/arith_map.v:53"
.param LUT_INIT 0110100110010110
.gate SB_CARRY CI=UART.tx_bit_counter[0] CO=$auto$alumacc.cc:470:replace_alu$1339.C[2] I0=UART.tx_bit_counter[1] I1=$true
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/arith_map.v:47"
.gate SB_LUT4 I0=$false I1=UART.tx_bit_counter[2] I2=$true I3=$auto$alumacc.cc:470:replace_alu$1339.C[2] O=$abc$5798$n610
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/arith_map.v:53"
.param LUT_INIT 0110100110010110
.gate SB_CARRY CI=$auto$alumacc.cc:470:replace_alu$1339.C[2] CO=$auto$alumacc.cc:470:replace_alu$1339.C[3] I0=UART.tx_bit_counter[2] I1=$true
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/arith_map.v:47"
.gate SB_LUT4 I0=$false I1=UART.tx_bit_counter[3] I2=$true I3=$auto$alumacc.cc:470:replace_alu$1339.C[3] O=$abc$5798$n612
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/arith_map.v:53"
.param LUT_INIT 0110100110010110
.gate SB_LUT4 I0=$false I1=$false I2=$abc$5798$n606 I3=$true O=$abc$5798$n582
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/arith_map.v:53"
.param LUT_INIT 0110100110010110
.gate SB_CARRY CI=$abc$5798$n606 CO=$auto$alumacc.cc:470:replace_alu$1342.C[2] I0=$false I1=$abc$5798$n594
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/arith_map.v:47"
.gate SB_LUT4 I0=$false I1=$false I2=$abc$5798$n611 I3=$auto$alumacc.cc:470:replace_alu$1342.C[2] O=$abc$5798$n568
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/arith_map.v:53"
.param LUT_INIT 0110100110010110
.gate SB_DFFE C=CLK D=RAM.r_data[0] E=$abc$5798$n141 Q=I2C_TX[0]
.attr src "top.v:41|/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:8"
.gate SB_DFFE C=CLK D=$abc$5798$n11 E=$abc$5798$n141 Q=$abc$5798$n22
.attr src "top.v:41|/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:8"
.gate SB_DFFE C=CLK D=$abc$5798$n1 E=$abc$5798$n141 Q=$abc$5798$n12
.attr src "top.v:41|/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:8"
.gate SB_DFFE C=CLK D=RAM.r_data[3] E=$abc$5798$n141 Q=I2C_TX[3]
.attr src "top.v:41|/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:8"
.gate SB_DFFE C=CLK D=$abc$5798$n3 E=$abc$5798$n141 Q=$abc$5798$n14
.attr src "top.v:41|/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:8"
.gate SB_DFFE C=CLK D=RAM.r_data[5] E=$abc$5798$n141 Q=I2C_TX[5]
.attr src "top.v:41|/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:8"
.gate SB_DFFE C=CLK D=RAM.r_data[6] E=$abc$5798$n141 Q=I2C_TX[6]
.attr src "top.v:41|/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:8"
.gate SB_DFFE C=CLK D=RAM.r_data[7] E=$abc$5798$n141 Q=I2C_TX[7]
.attr src "top.v:41|/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:8"
.gate SB_DFFESS C=CLK D=$0\RAM_W[0:0] E=$abc$5798$n152 Q=UART_WR S=$abc$5798$n141
.attr src "top.v:41|/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:8"
.gate SB_DFFE C=CLK D=$0\UART_TX_DATA[7:0][0] E=$0\UART_WR[0:0] Q=UART_TX_DATA[0]
.attr src "top.v:41|/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:8"
.gate SB_DFFE C=CLK D=$0\UART_TX_DATA[7:0][1] E=$0\UART_WR[0:0] Q=UART_TX_DATA[1]
.attr src "top.v:41|/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:8"
.gate SB_DFFE C=CLK D=$0\UART_TX_DATA[7:0][2] E=$0\UART_WR[0:0] Q=UART_TX_DATA[2]
.attr src "top.v:41|/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:8"
.gate SB_DFFE C=CLK D=$0\UART_TX_DATA[7:0][3] E=$0\UART_WR[0:0] Q=UART_TX_DATA[3]
.attr src "top.v:41|/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:8"
.gate SB_DFFE C=CLK D=$0\UART_TX_DATA[7:0][4] E=$0\UART_WR[0:0] Q=UART_TX_DATA[4]
.attr src "top.v:41|/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:8"
.gate SB_DFFE C=CLK D=$0\UART_TX_DATA[7:0][5] E=$0\UART_WR[0:0] Q=UART_TX_DATA[5]
.attr src "top.v:41|/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:8"
.gate SB_DFFE C=CLK D=$0\UART_TX_DATA[7:0][6] E=$0\UART_WR[0:0] Q=UART_TX_DATA[6]
.attr src "top.v:41|/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:8"
.gate SB_DFFE C=CLK D=$0\UART_TX_DATA[7:0][7] E=$0\UART_WR[0:0] Q=UART_TX_DATA[7]
.attr src "top.v:41|/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:8"
.gate SB_DFF C=CLK D=I2C.wr Q=wr_old
.attr src "top.v:41|/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:2"
.gate SB_DFFE C=CLK D=$0\ram_adress[7:0][0] E=$abc$5798$n158 Q=LED1
.attr src "top.v:41|/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:8"
.gate SB_DFFE C=CLK D=$0\ram_adress[7:0][1] E=$abc$5798$n156 Q=LED2
.attr src "top.v:41|/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:8"
.gate SB_DFFE C=CLK D=$0\ram_adress[7:0][2] E=$abc$5798$n158 Q=LED3
.attr src "top.v:41|/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:8"
.gate SB_DFFE C=CLK D=$0\ram_adress[7:0][3] E=$abc$5798$n158 Q=LED4
.attr src "top.v:41|/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:8"
.gate SB_DFFE C=CLK D=$0\ram_adress[7:0][4] E=$abc$5798$n158 Q=ram_adress[4]
.attr src "top.v:41|/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:8"
.gate SB_DFFE C=CLK D=$0\ram_adress[7:0][5] E=$abc$5798$n158 Q=ram_adress[5]
.attr src "top.v:41|/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:8"
.gate SB_DFFE C=CLK D=$0\ram_adress[7:0][6] E=$abc$5798$n158 Q=ram_adress[6]
.attr src "top.v:41|/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:8"
.gate SB_DFFE C=CLK D=$0\ram_adress[7:0][7] E=$abc$5798$n158 Q=ram_adress[7]
.attr src "top.v:41|/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:8"
.gate SB_DFFE C=CLK D=$0\RAM_W[0:0] E=$abc$5798$n166 Q=RAM_W
.attr src "top.v:41|/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:8"
.gate SB_DFFN C=CLK D=SCL Q=I2C.SCLF
.attr src "i2c_slave.v:41|/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:1"
.gate SB_DFFN C=CLK D=I2C.SDA_IN Q=I2C.SDAF
.attr src "i2c_slave.v:41|/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:1"
.gate SB_DFFESS C=CLK D=$abc$5798$n268 E=$abc$5798$n168 Q=I2C.sda_cnt[0] S=$abc$5798$n25
.attr src "i2c_slave.v:46|/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:8"
.gate SB_DFFESS C=CLK D=$abc$5798$n269 E=$abc$5798$n168 Q=I2C.sda_cnt[1] S=$abc$5798$n25
.attr src "i2c_slave.v:46|/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:8"
.gate SB_DFFESS C=CLK D=$abc$5798$n271 E=$abc$5798$n168 Q=I2C.sda_cnt[2] S=$abc$5798$n25
.attr src "i2c_slave.v:46|/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:8"
.gate SB_DFFESR C=CLK D=$abc$5798$n272 E=$abc$5798$n168 Q=I2C.sda_cnt[3] R=$abc$5798$n25
.attr src "i2c_slave.v:46|/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:8"
.gate SB_DFFESS C=CLK D=$abc$5798$n275 E=$abc$5798$n170 Q=I2C.scl_cnt[0] S=$abc$5798$n27
.attr src "i2c_slave.v:46|/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:8"
.gate SB_DFFESS C=CLK D=$abc$5798$n276 E=$abc$5798$n170 Q=I2C.scl_cnt[1] S=$abc$5798$n27
.attr src "i2c_slave.v:46|/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:8"
.gate SB_DFFESS C=CLK D=$abc$5798$n278 E=$abc$5798$n170 Q=I2C.scl_cnt[2] S=$abc$5798$n27
.attr src "i2c_slave.v:46|/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:8"
.gate SB_DFFESR C=CLK D=$abc$5798$n279 E=$abc$5798$n170 Q=I2C.scl_cnt[3] R=$abc$5798$n27
.attr src "i2c_slave.v:46|/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:8"
.gate SB_DFF C=CLK D=$abc$5798$n410 Q=I2C.wr
.attr src "i2c_slave.v:46|/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:2"
.gate SB_DFF C=CLK D=$abc$5798$n408 Q=I2C.is_ack
.attr src "i2c_slave.v:46|/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:2"
.gate SB_DFF C=CLK D=$abc$5798$n390 Q=I2C.byte_counter[0]
.attr src "i2c_slave.v:46|/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:2"
.gate SB_DFF C=CLK D=$abc$5798$n392 Q=I2C.byte_counter[1]
.attr src "i2c_slave.v:46|/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:2"
.gate SB_DFF C=CLK D=$abc$5798$n394 Q=I2C.byte_counter[2]
.attr src "i2c_slave.v:46|/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:2"
.gate SB_DFF C=CLK D=$abc$5798$n396 Q=I2C.byte_counter[3]
.attr src "i2c_slave.v:46|/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:2"
.gate SB_DFF C=CLK D=$abc$5798$n398 Q=I2C.byte_counter[4]
.attr src "i2c_slave.v:46|/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:2"
.gate SB_DFF C=CLK D=$abc$5798$n400 Q=I2C.byte_counter[5]
.attr src "i2c_slave.v:46|/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:2"
.gate SB_DFF C=CLK D=$abc$5798$n402 Q=I2C.byte_counter[6]
.attr src "i2c_slave.v:46|/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:2"
.gate SB_DFF C=CLK D=$abc$5798$n404 Q=I2C.byte_counter[7]
.attr src "i2c_slave.v:46|/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:2"
.gate SB_DFF C=CLK D=$abc$5798$n406 Q=I2C.byte_counter[8]
.attr src "i2c_slave.v:46|/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:2"
.gate SB_DFF C=CLK D=$abc$5798$n382 Q=I2C.i2c_bit_counter[0]
.attr src "i2c_slave.v:46|/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:2"
.gate SB_DFF C=CLK D=$abc$5798$n384 Q=I2C.i2c_bit_counter[1]
.attr src "i2c_slave.v:46|/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:2"
.gate SB_DFF C=CLK D=$abc$5798$n386 Q=I2C.i2c_bit_counter[2]
.attr src "i2c_slave.v:46|/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:2"
.gate SB_DFF C=CLK D=$abc$5798$n388 Q=I2C.i2c_bit_counter[3]
.attr src "i2c_slave.v:46|/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:2"
.gate SB_DFF C=CLK D=$abc$5798$n380 Q=I2C.is_read
.attr src "i2c_slave.v:46|/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:2"
.gate SB_DFFSR C=CLK D=$abc$5798$n415 Q=I2C.i2c_state_machine R=$abc$5798$n29
.attr src "i2c_slave.v:46|/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:2"
.gate SB_DFF C=CLK D=$abc$5798$n7 Q=$abc$5798$n18
.attr src "i2c_slave.v:46|/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:2"
.gate SB_DFF C=CLK D=$abc$5798$n9 Q=$abc$5798$n20
.attr src "i2c_slave.v:46|/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:2"
.gate SB_DFF C=CLK D=$abc$5798$n6 Q=I2C.SDAD
.attr src "i2c_slave.v:46|/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:2"
.gate SB_DFF C=CLK D=$abc$5798$n8 Q=I2C.SCLD
.attr src "i2c_slave.v:46|/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:2"
.gate SB_DFF C=CLK D=$abc$5798$n378 Q=I2C.SDA_DIR
.attr src "i2c_slave.v:46|/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:2"
.gate SB_DFFE C=CLK D=$abc$5798$n6 E=$abc$5798$n185 Q=I2C.RECEIVED_BYTE[0]
.attr src "i2c_slave.v:46|/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:8"
.gate SB_DFFE C=CLK D=$abc$5798$n6 E=$abc$5798$n195 Q=I2C.RECEIVED_BYTE[1]
.attr src "i2c_slave.v:46|/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:8"
.gate SB_DFFE C=CLK D=$abc$5798$n6 E=$abc$5798$n203 Q=I2C.RECEIVED_BYTE[2]
.attr src "i2c_slave.v:46|/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:8"
.gate SB_DFFE C=CLK D=$abc$5798$n6 E=$abc$5798$n211 Q=I2C.RECEIVED_BYTE[3]
.attr src "i2c_slave.v:46|/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:8"
.gate SB_DFFE C=CLK D=$abc$5798$n6 E=$abc$5798$n219 Q=I2C.RECEIVED_BYTE[4]
.attr src "i2c_slave.v:46|/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:8"
.gate SB_DFFE C=CLK D=$abc$5798$n6 E=$abc$5798$n226 Q=I2C.RECEIVED_BYTE[5]
.attr src "i2c_slave.v:46|/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:8"
.gate SB_DFFE C=CLK D=$abc$5798$n6 E=$abc$5798$n234 Q=I2C.RECEIVED_BYTE[6]
.attr src "i2c_slave.v:46|/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:8"
.gate SB_DFFE C=CLK D=$abc$5798$n6 E=$abc$5798$n241 Q=I2C.RECEIVED_BYTE[7]
.attr src "i2c_slave.v:46|/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:8"
.gate SB_DFF C=CLK D=$abc$5798$n546 Q=UART.tx_activity
.attr src "uart.v:17|/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:2"
.gate SB_DFFE C=CLK D=$abc$5798$n5 E=$abc$5798$n251 Q=$abc$5798$n16
.attr src "uart.v:17|/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:8"
.gate SB_DFFE C=CLK D=UART_TX_DATA[0] E=$abc$5798$n247 Q=UART.tx_data[0]
.attr src "uart.v:17|/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:8"
.gate SB_DFFE C=CLK D=UART_TX_DATA[1] E=$abc$5798$n247 Q=UART.tx_data[1]
.attr src "uart.v:17|/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:8"
.gate SB_DFFE C=CLK D=UART_TX_DATA[2] E=$abc$5798$n247 Q=UART.tx_data[2]
.attr src "uart.v:17|/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:8"
.gate SB_DFFE C=CLK D=UART_TX_DATA[3] E=$abc$5798$n247 Q=UART.tx_data[3]
.attr src "uart.v:17|/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:8"
.gate SB_DFFE C=CLK D=UART_TX_DATA[4] E=$abc$5798$n247 Q=UART.tx_data[4]
.attr src "uart.v:17|/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:8"
.gate SB_DFFE C=CLK D=UART_TX_DATA[5] E=$abc$5798$n247 Q=UART.tx_data[5]
.attr src "uart.v:17|/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:8"
.gate SB_DFFE C=CLK D=UART_TX_DATA[6] E=$abc$5798$n247 Q=UART.tx_data[6]
.attr src "uart.v:17|/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:8"
.gate SB_DFFE C=CLK D=UART_TX_DATA[7] E=$abc$5798$n247 Q=UART.tx_data[7]
.attr src "uart.v:17|/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:8"
.gate SB_DFFESS C=CLK D=$abc$5798$n548 E=$abc$5798$n246 Q=UART.tx_clk_counter[0] S=$abc$5798$n31
.attr src "uart.v:17|/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:8"
.gate SB_DFFESR C=CLK D=$abc$5798$n549 E=$abc$5798$n246 Q=UART.tx_clk_counter[1] R=$abc$5798$n31
.attr src "uart.v:17|/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:8"
.gate SB_DFFESS C=CLK D=$abc$5798$n550 E=$abc$5798$n246 Q=UART.tx_clk_counter[2] S=$abc$5798$n31
.attr src "uart.v:17|/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:8"
.gate SB_DFFESS C=CLK D=$abc$5798$n551 E=$abc$5798$n246 Q=UART.tx_clk_counter[3] S=$abc$5798$n31
.attr src "uart.v:17|/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:8"
.gate SB_DFFESS C=CLK D=$abc$5798$n595 E=$abc$5798$n251 Q=UART.tx_bit_counter[0] S=$abc$5798$n31
.attr src "uart.v:17|/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:8"
.gate SB_DFFESR C=CLK D=$abc$5798$n593 E=$abc$5798$n251 Q=UART.tx_bit_counter[1] R=$abc$5798$n31
.attr src "uart.v:17|/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:8"
.gate SB_DFFESR C=CLK D=$abc$5798$n610 E=$abc$5798$n251 Q=UART.tx_bit_counter[2] R=$abc$5798$n31
.attr src "uart.v:17|/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:8"
.gate SB_DFFESS C=CLK D=$abc$5798$n612 E=$abc$5798$n251 Q=UART.tx_bit_counter[3] S=$abc$5798$n31
.attr src "uart.v:17|/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:8"
.gate SB_DFF C=CLK D=UART_WR Q=UART.TX_sig_last
.attr src "uart.v:17|/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:2"
.gate SB_DFF C=CLK D=RAM_W Q=RAM.last_we
.attr src "ram.v:8|/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:2"
.gate SB_IO D_IN_0=I2C.SDA_IN D_OUT_0=$false OUTPUT_ENABLE=I2C.SDA_DIR PACKAGE_PIN=SDA
.attr src "i2c_slave.v:163"
.param PIN_TYPE 101001
.param PULLUP 0
.gate SB_RAM40_4K MASK[0]=$undef MASK[1]=$undef MASK[2]=$undef MASK[3]=$undef MASK[4]=$undef MASK[5]=$undef MASK[6]=$undef MASK[7]=$undef MASK[8]=$undef MASK[9]=$undef MASK[10]=$undef MASK[11]=$undef MASK[12]=$undef MASK[13]=$undef MASK[14]=$undef MASK[15]=$undef RADDR[0]=LED1 RADDR[1]=LED2 RADDR[2]=LED3 RADDR[3]=LED4 RADDR[4]=ram_adress[4] RADDR[5]=ram_adress[5] RADDR[6]=ram_adress[6] RADDR[7]=ram_adress[7] RADDR[8]=$false RADDR[9]=$false RADDR[10]=$false RCLK=CLK RCLKE=$true RDATA[0]=RAM.r_data[0] RDATA[1]=$techmap1352\RAM.mem.0.0.0.A1DATA_16[1] RDATA[2]=RAM.r_data[1] RDATA[3]=$techmap1352\RAM.mem.0.0.0.A1DATA_16[3] RDATA[4]=RAM.r_data[2] RDATA[5]=$techmap1352\RAM.mem.0.0.0.A1DATA_16[5] RDATA[6]=RAM.r_data[3] RDATA[7]=$techmap1352\RAM.mem.0.0.0.A1DATA_16[7] RDATA[8]=RAM.r_data[4] RDATA[9]=$techmap1352\RAM.mem.0.0.0.A1DATA_16[9] RDATA[10]=RAM.r_data[5] RDATA[11]=$techmap1352\RAM.mem.0.0.0.A1DATA_16[11] RDATA[12]=RAM.r_data[6] RDATA[13]=$techmap1352\RAM.mem.0.0.0.A1DATA_16[13] RDATA[14]=RAM.r_data[7] RDATA[15]=$techmap1352\RAM.mem.0.0.0.A1DATA_16[15] RE=$true WADDR[0]=LED1 WADDR[1]=LED2 WADDR[2]=LED3 WADDR[3]=LED4 WADDR[4]=ram_adress[4] WADDR[5]=ram_adress[5] WADDR[6]=ram_adress[6] WADDR[7]=ram_adress[7] WADDR[8]=$false WADDR[9]=$false WADDR[10]=$false WCLK=CLK WCLKE=$abc$5798$n317 WDATA[0]=I2C.RECEIVED_BYTE[0] WDATA[1]=$undef WDATA[2]=I2C.RECEIVED_BYTE[1] WDATA[3]=$undef WDATA[4]=I2C.RECEIVED_BYTE[2] WDATA[5]=$undef WDATA[6]=I2C.RECEIVED_BYTE[3] WDATA[7]=$undef WDATA[8]=I2C.RECEIVED_BYTE[4] WDATA[9]=$undef WDATA[10]=I2C.RECEIVED_BYTE[5] WDATA[11]=$undef WDATA[12]=I2C.RECEIVED_BYTE[6] WDATA[13]=$undef WDATA[14]=I2C.RECEIVED_BYTE[7] WDATA[15]=$undef WE=$true
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/brams_map.v:277|/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/brams_map.v:35"
.param INIT_0 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx1x1x1x1x1x1x1x1
.param INIT_1 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
.param INIT_2 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
.param INIT_3 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
.param INIT_4 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
.param INIT_5 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
.param INIT_6 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
.param INIT_7 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
.param INIT_8 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
.param INIT_9 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
.param INIT_A xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
.param INIT_B xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
.param INIT_C xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
.param INIT_D xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
.param INIT_E xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
.param INIT_F xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
.param READ_MODE 00000000000000000000000000000001
.param WRITE_MODE 00000000000000000000000000000001
.names I2C.is_read ACK
1 1
.names $undef COM_DCD
1 1
.names I2C.is_read COM_RTS
1 1
.names I2C_TX[0] I2C.BYTE_TO_TRANSMIT[0]
1 1
.names I2C_TX[3] I2C.BYTE_TO_TRANSMIT[3]
1 1
.names I2C_TX[5] I2C.BYTE_TO_TRANSMIT[5]
1 1
.names I2C_TX[6] I2C.BYTE_TO_TRANSMIT[6]
1 1
.names I2C_TX[7] I2C.BYTE_TO_TRANSMIT[7]
1 1
.names CLK I2C.CLK
1 1
.names I2C.byte_counter[0] I2C.COUNTER[0]
1 1
.names I2C.byte_counter[1] I2C.COUNTER[1]
1 1
.names I2C.byte_counter[2] I2C.COUNTER[2]
1 1
.names I2C.byte_counter[3] I2C.COUNTER[3]
1 1
.names I2C.byte_counter[4] I2C.COUNTER[4]
1 1
.names I2C.byte_counter[5] I2C.COUNTER[5]
1 1
.names I2C.byte_counter[6] I2C.COUNTER[6]
1 1
.names I2C.byte_counter[7] I2C.COUNTER[7]
1 1
.names I2C.byte_counter[8] I2C.COUNTER[8]
1 1
.names I2C.is_ack I2C.IS_ACK
1 1
.names I2C.is_read I2C.IS_READ
1 1
.names I2C.i2c_state_machine I2C.IS_TRANSMISSION
1 1
.names SCL I2C.SCL
1 1
.names SDA I2C.SDA
1 1
.names I2C.wr I2C.WR
1 1
.names I2C.is_ack I2C_ACK
1 1
.names I2C.byte_counter[0] I2C_COUNTER[0]
1 1
.names I2C.byte_counter[1] I2C_COUNTER[1]
1 1
.names I2C.byte_counter[2] I2C_COUNTER[2]
1 1
.names I2C.byte_counter[3] I2C_COUNTER[3]
1 1
.names I2C.byte_counter[4] I2C_COUNTER[4]
1 1
.names I2C.byte_counter[5] I2C_COUNTER[5]
1 1
.names I2C.byte_counter[6] I2C_COUNTER[6]
1 1
.names I2C.byte_counter[7] I2C_COUNTER[7]
1 1
.names I2C.byte_counter[8] I2C_COUNTER[8]
1 1
.names $false I2C_COUNTER[9]
1 1
.names I2C.is_read I2C_READ
1 1
.names I2C.RECEIVED_BYTE[0] I2C_RX[0]
1 1
.names I2C.RECEIVED_BYTE[1] I2C_RX[1]
1 1
.names I2C.RECEIVED_BYTE[2] I2C_RX[2]
1 1
.names I2C.RECEIVED_BYTE[3] I2C_RX[3]
1 1
.names I2C.RECEIVED_BYTE[4] I2C_RX[4]
1 1
.names I2C.RECEIVED_BYTE[5] I2C_RX[5]
1 1
.names I2C.RECEIVED_BYTE[6] I2C_RX[6]
1 1
.names I2C.RECEIVED_BYTE[7] I2C_RX[7]
1 1
.names I2C.i2c_state_machine I2C_TRANS
1 1
.names I2C.BYTE_TO_TRANSMIT[1] I2C_TX[1]
1 1
.names I2C.BYTE_TO_TRANSMIT[2] I2C_TX[2]
1 1
.names I2C.BYTE_TO_TRANSMIT[4] I2C_TX[4]
1 1
.names I2C.wr I2C_WR
1 1
.names I2C.i2c_state_machine LED5
1 1
.names LED1 RAM.addr[0]
1 1
.names LED2 RAM.addr[1]
1 1
.names LED3 RAM.addr[2]
1 1
.names LED4 RAM.addr[3]
1 1
.names ram_adress[4] RAM.addr[4]
1 1
.names ram_adress[5] RAM.addr[5]
1 1
.names ram_adress[6] RAM.addr[6]
1 1
.names ram_adress[7] RAM.addr[7]
1 1
.names $false RAM.addr[8]
1 1
.names CLK RAM.clk
1 1
.names RAM.r_data[0] RAM.rdata[0]
1 1
.names RAM.r_data[1] RAM.rdata[1]
1 1
.names RAM.r_data[2] RAM.rdata[2]
1 1
.names RAM.r_data[3] RAM.rdata[3]
1 1
.names RAM.r_data[4] RAM.rdata[4]
1 1
.names RAM.r_data[5] RAM.rdata[5]
1 1
.names RAM.r_data[6] RAM.rdata[6]
1 1
.names RAM.r_data[7] RAM.rdata[7]
1 1
.names I2C.RECEIVED_BYTE[0] RAM.wdata[0]
1 1
.names I2C.RECEIVED_BYTE[1] RAM.wdata[1]
1 1
.names I2C.RECEIVED_BYTE[2] RAM.wdata[2]
1 1
.names I2C.RECEIVED_BYTE[3] RAM.wdata[3]
1 1
.names I2C.RECEIVED_BYTE[4] RAM.wdata[4]
1 1
.names I2C.RECEIVED_BYTE[5] RAM.wdata[5]
1 1
.names I2C.RECEIVED_BYTE[6] RAM.wdata[6]
1 1
.names I2C.RECEIVED_BYTE[7] RAM.wdata[7]
1 1
.names RAM_W RAM.wen
1 1
.names RAM.r_data[0] RAM_RD[0]
1 1
.names RAM.r_data[1] RAM_RD[1]
1 1
.names RAM.r_data[2] RAM_RD[2]
1 1
.names RAM.r_data[3] RAM_RD[3]
1 1
.names RAM.r_data[4] RAM_RD[4]
1 1
.names RAM.r_data[5] RAM_RD[5]
1 1
.names RAM.r_data[6] RAM_RD[6]
1 1
.names RAM.r_data[7] RAM_RD[7]
1 1
.names CLK UART.CLK
1 1
.names UART.tx_activity UART.TX_ACTIVITY
1 1
.names UART_TX_DATA[0] UART.TX_BYTE[0]
1 1
.names UART_TX_DATA[1] UART.TX_BYTE[1]
1 1
.names UART_TX_DATA[2] UART.TX_BYTE[2]
1 1
.names UART_TX_DATA[3] UART.TX_BYTE[3]
1 1
.names UART_TX_DATA[4] UART.TX_BYTE[4]
1 1
.names UART_TX_DATA[5] UART.TX_BYTE[5]
1 1
.names UART_TX_DATA[6] UART.TX_BYTE[6]
1 1
.names UART_TX_DATA[7] UART.TX_BYTE[7]
1 1
.names COM_TX UART.TX_LINE
1 1
.names UART_WR UART.TX_SIGNAL
1 1
.names COM_TX UART.tx_line
1 1
.names UART.tx_activity UART_ACTIVE
1 1
.names COM_TX UART_TX_LINE
1 1
.names LED1 ram_adress[0]
1 1
.names LED2 ram_adress[1]
1 1
.names LED3 ram_adress[2]
1 1
.names LED4 ram_adress[3]
1 1
.end

@ -0,0 +1,173 @@
module i2c_slave (input CLK,
input SCL, inout SDA,
output IS_TRANSMISSION, output IS_READ, output IS_ACK, output WR, //output ACK_MASTER_CTRL,
output reg [7:0] RECEIVED_BYTE, input [7:0] BYTE_TO_TRANSMIT,
output [(MAX_I2C_TRANSACTION_EXP2-1):0] COUNTER);
// ALL OPERATIONS WITH MEMORY ARE IN POSEDGE CLK, IN NEGEDGE - ONLY SCL AND SDA LATCH
// COUNTER = 0 - ADRESS RECEIVED, COUNTER >=1 - DATA TRANSMISSION
// RECEIVED BYTES MUST READ WHEN WR POSEDGE, ADRESS NOT READING ###AND BYTE COUNTER >=1 (BYTE COUNTER = 0 - ADRESS)
// BYTES TO TRANSMIT MUST WRITE WHEN WR POSEDGE, BYTE COUNTER CAN BE ZERO
// (FIRST BYTE TRANSMITTED AFTER ADRESS).
// LAST BYTE HAS NO WR ####BUT LAST BYTE NOT TRANSMITTED (DECAUSE MASTER STOPS TRANSMIT)
parameter I2C_ADRESS = 7'h34;
parameter MAX_I2C_TRANSACTION_EXP2 = 9; // !!! - FOR LIMIT BYTES TO TX/RX (WITH ADRESS)
reg SDA_IN, SDA_DIR, SDA_OUT;
initial begin
SDA_OUT = 0;
end
reg SCLD, SDAD;
reg SCL_LAST, SDA_LAST;
reg i2c_state_machine;
initial begin
SCL_LAST = 1; SDA_LAST = 1; i2c_state_machine = 0;
end
reg is_read;
reg [3:0] i2c_bit_counter;
//reg [7:0] received_byte;
reg [7:0] byte_to_transmit;
reg [(MAX_I2C_TRANSACTION_EXP2-1):0] byte_counter;
//reg is_for_me;
reg is_ack;
reg wr;//reg ack_master_ctrl;
// FILTER
reg SCLF, SDAF;
reg [3:0] scl_cnt, sda_cnt;
always@(negedge CLK) begin
SCLF = SCL;
SDAF = SDA_IN;
end
always@(posedge CLK) begin
if (scl_cnt != 0) begin
scl_cnt = scl_cnt - 1;
if (scl_cnt == 0) begin
if (SCLD != SCLF)
SCLD = SCLF;
end
end
else begin
if (SCLD != SCLF)
scl_cnt = 3'd7;
end
if (sda_cnt != 0) begin
sda_cnt = sda_cnt - 1;
if (sda_cnt == 0) begin
if (SDAD != SDAF)
SDAD = SDAF;
end
end
else begin
if (SDAD != SDAF)
sda_cnt = 3'd7;
end
// END OF FILTER
//SDA_IN = SDA; // FOR IVERILOG
if ((SDAD == 0) && (SDA_LAST == 1) && (SCLD == 1)) begin
i2c_state_machine = 1;
i2c_bit_counter = 4'd8;
byte_counter = 9'd0;
is_read = 0;
//is_for_me = 1; // RESETS TO ZERO WHEN ADRESS CHECKING
SDA_DIR = 0;
is_ack = 0;
//ack_master_ctrl = 1;
wr = 0;
end
if ((SDAD == 1) && (SDA_LAST == 0) && (SCLD == 1)) begin
i2c_state_machine = 0;
SDA_DIR = 0;
wr = 0;
end
if (i2c_state_machine/* && is_for_me*/) begin
if (!is_read) begin
if (i2c_bit_counter > 0) begin
if ((SCL_LAST == 0) && (SCLD == 1)) begin
RECEIVED_BYTE[i2c_bit_counter-1] = SDAD;
i2c_bit_counter = i2c_bit_counter - 1;
end
end
else begin
if ((SCL_LAST == 1) && (SCLD == 0) && (is_ack == 0)) begin
if (byte_counter == 0) begin
if (RECEIVED_BYTE[7:1] != I2C_ADRESS)
i2c_state_machine = 0; //is_for_me = 0;
is_read = RECEIVED_BYTE[0];
end
else begin
// EMIT SIGNAL OF BYTE RECEIVING
end
if (byte_counter != (2^MAX_I2C_TRANSACTION_EXP2 - 1))
byte_counter = byte_counter + 1;
SDA_DIR = i2c_state_machine; //is_for_me;
is_ack = i2c_state_machine; //1;
//if (is_read) begin
// i2c_bit_counter = 8;
//end
end
else if ((SCL_LAST == 0) && (SCLD == 1) && (is_ack == 1) && (byte_counter > 1))
wr = 1;
else if ((SCL_LAST == 1) && (SCLD == 0) && (is_ack == 1)) begin
is_ack = 0;
SDA_DIR = 0;
i2c_bit_counter = 4'd8;
wr = 0;
end
end
end
else begin // IS_READ
if (i2c_bit_counter > 0) begin
if ((SCL_LAST == 1) && (SCLD == 0)) begin
wr = 0;
SDA_DIR = (BYTE_TO_TRANSMIT[i2c_bit_counter-1] ^ 1) /*& is_for_me & ack_master_ctrl*/;
i2c_bit_counter = i2c_bit_counter - 1;
is_ack = 0;
end
end
else begin
if ((SCL_LAST == 1) && (SCLD == 0) && (is_ack == 0)) begin
SDA_DIR = 0;
is_ack = 1;
end
else if ((SCL_LAST == 0) && (SCLD == 1) && (is_ack == 1)) begin
i2c_bit_counter = 8;
i2c_state_machine = (SDAD ^ 1) | SDA_DIR; //ack_master_ctrl = SDAD+1; // MAYBE TRANSMIT BYTE REPEAT
wr = (SDAD ^ 1) | SDA_DIR;
if (byte_counter != (2^MAX_I2C_TRANSACTION_EXP2 - 1))
byte_counter = byte_counter + 1;
// EMIT SIGNAL OF BYTE TO TRANSMIT
end
end
end
end
SCL_LAST <= SCLD;
SDA_LAST <= SDAD;
//SDA_OUT = (SDA_DIR ^ 1) & SDA; // FOR IVERILOG
end
assign IS_TRANSMISSION = i2c_state_machine;
//assign SDA = SDA_DIR ? 1'b0 : 1'bz;
assign IS_ACK = is_ack;
assign IS_READ = is_read;
assign WR = wr;//assign ACK_MASTER_CTRL = ack_master_ctrl;
//assign RECEIVED_BYTE = received_byte;
//assign BYTE_TO_TRANSMIT = byte_to_transmit;
assign COUNTER = byte_counter;
SB_IO #(
.PIN_TYPE(6'b 1010_01),
.PULLUP(1'b 0)
) led_io (
.PACKAGE_PIN(SDA),
.OUTPUT_ENABLE(SDA_DIR),
.D_OUT_0(SDA_OUT),
.D_IN_0(SDA_IN)
);
endmodule

@ -0,0 +1,26 @@
set_io LED1 99
set_io LED2 98
set_io LED3 97
set_io LED4 96
set_io LED5 95
#set_io SCLM 78 # J2, 1
#set_io SDAM 87 # J2, 7
set_io ACK 81 # J2, 4
#set_io SCLTGL01 80 # J2, 3
#set_io SDAOUTM 79 # J2, 2
#set_io SCLTGL 79 # J2, 8
set_io CLK 21
set_io SCL 90 # J2, 9
set_io SDA 91 # J2, 10
# GND - J2, 11
set_io COM_TX 8
set_io COM_RX 9
set_io COM_DCD 1
set_io COM_DSR 2
set_io COM_RTS 4 # IS CTS IN FT2232 SIDE
#set_io SDA_CTRL 88 # J2, 8

@ -0,0 +1,20 @@
module ram(input clk, wen, input [8:0] addr, input [7:0] wdata, output [7:0] rdata);
reg [7:0] mem [0:255];
reg [7:0] r_data;
reg [7:0] w_data;
reg [7:0] w_addr;
reg last_we;
initial mem[0] = 255;
always @(posedge clk) begin
if ((last_we == 0) && (wen == 1)) begin
w_data = wdata;
w_addr = addr;
mem[w_addr] <= w_data;
end
r_data <= mem[addr];
last_we = wen;
end
assign rdata = r_data;
endmodule

@ -0,0 +1,112 @@
module top (input CLK, output LED1, LED2, LED3, LED4, LED5,
input SCL, inout SDA, output ACK,
input COM_RX, output COM_TX, COM_DCD, COM_DSR, COM_RTS);
reg [7:0] I2C_TX; // TRANSMITTED TO MASTER
initial begin
I2C_TX = 22;
end
wire [7:0] I2C_RX; // RECEIVED FROM MASTER
wire [7:0] RAM_RD;
wire I2C_TRANS, I2C_READ, I2C_ACK, I2C_ACK_MSTR_CTRL, I2C_WR;
wire [9:0] I2C_COUNTER;
i2c_slave I2C (CLK, SCL, SDA, I2C_TRANS, I2C_READ, I2C_ACK, I2C_WR, //I2C_ACK_MSTR_CTRL,
I2C_RX, I2C_TX, I2C_COUNTER);
reg UART_WR, UART_DTR, UART_RTS, UART_DCD;
reg [7:0] UART_TX_DATA;
wire UART_ACTIVE, UART_TX_LINE;
reg [23:0] uart_counter;
initial begin
UART_WR = 0;
UART_TX = 1;
UART_RTS = 1;
UART_DTR = 0;
UART_DCD = 0;
end
uart UART (CLK, UART_WR, UART_TX_DATA, UART_ACTIVE, UART_TX_LINE);
reg wr_old;
reg [7:0] ram_adress;
reg RAM_W;
initial begin
ram_adress = 0;
RAM_W = 0;
end
ram RAM (CLK, RAM_W, ram_adress, I2C_RX, RAM_RD);
always @ (posedge CLK) begin
if ((wr_old == 0) && (I2C_WR == 1) && I2C_READ) begin
//I2C_TX = I2C_TX + 5;
// READ
I2C_TX = RAM_RD; // READ FROM CURRENT ADRESS
//ram_adress <= ram_adress + 1; // AND INCREMENT ADRESS (ASSIGNED IN THE NEXT TACT)
UART_WR = 1;
UART_TX_DATA = I2C_TX;
end
else if ((wr_old == 0) && (I2C_WR == 1) && (I2C_READ == 0)) begin
// RAM MODULE WRITES TO RAM IN THE CURRENT ADRESS
if (I2C_COUNTER == 2)
ram_adress = I2C_RX;
else begin
RAM_W = 1;
//ram_adress <= ram_adress + 1; // ONLY INCREMENT ADRESS IN THE NEXT TACT
end
UART_WR = 1;
UART_TX_DATA = I2C_RX;
end
else if ((wr_old == 1) && (I2C_WR == 0)) begin
RAM_W = 0;
UART_WR = 0;
if ((I2C_COUNTER != 2) || (I2C_READ == 1))
ram_adress <= ram_adress + 1; // ONLY INCREMENT ADRESS IN THE NEXT TACT
end
wr_old = I2C_WR;
/*
uart_counter = uart_counter + 1;
if (uart_counter == 12000000) begin
uart_counter = 0;
UART_TX_DATA = UART_TX_DATA + 1;
UART_WR = 1;
UART_RTS = UART_RTS ^ 1;
if (UART_RTS)
UART_DTR = UART_DTR ^ 1;
if (UART_DTR == 1)
UART_DCD = UART_DCD ^ 1;
end
else if (uart_counter == 5)
UART_WR = 0;*/
end
assign I2C_W = I2C_WR & (I2C_READ ^ 1);
assign LED5 = I2C_TRANS;
//assign LED5 = COM_RX;
assign LED1 = ram_adress[0];//I2C_RX[0];
assign LED2 = ram_adress[1];
assign LED3 = ram_adress[2];
assign LED4 = ram_adress[3];
assign ACK = I2C_READ;//I2C_WR; //I2C_ACK;
assign COM_TX = UART_TX_LINE;//COM_RX;
//assign COM_RTS = I2C_READ;
assign COM_RTS = I2C_READ;//UART_RTS;
assign COM_DSR = I2C_TRANS | UART_ACTIVE;//UART_DTR;
//assign COM_DCD = UART_DCD;
/* reg [24:0] counter;
always @ (posedge CLK) begin
counter = counter + 1;
end
assign LED1 = ~counter[24] & ~counter[23];
assign LED2 = ~counter[24] & counter[23];
assign LED3 = counter[24] & ~counter[23];
assign LED4 = counter[24] & counter[23];
assign LED5 = counter[23];*/
endmodule //top

@ -0,0 +1,48 @@
module uart ( input CLK, input TX_SIGNAL, input [7:0] TX_BYTE,
output TX_ACTIVITY, output TX_LINE);
parameter CLK_DIV = 13;
reg TX_sig_last;
reg [3:0] tx_bit_counter;
reg [3:0] tx_clk_counter; // MUST CONTAIN CLK DIV
reg [7:0] tx_data;
reg tx_activity;
reg tx_line;
initial begin
TX_sig_last = 0;
tx_line = 1;
end
always @ (posedge CLK) begin
if (tx_activity) begin
tx_clk_counter = tx_clk_counter - 1;
if (tx_clk_counter == 0) begin
tx_clk_counter = CLK_DIV;
if (tx_bit_counter == 0)
tx_activity = 0;
else begin
tx_bit_counter = tx_bit_counter - 1;
if (tx_bit_counter > 0)
tx_line = tx_data[8-tx_bit_counter];
else
tx_line = 1; // STOP_BIT
end
end
end
else begin
if ((TX_SIGNAL == 1) && (TX_sig_last == 0)) begin
tx_data = TX_BYTE;
tx_activity = 1;
tx_bit_counter = 9; // NO PARITY, STOP 1 BIT
tx_clk_counter = CLK_DIV;
tx_line = 0; // START BIT
end
end
TX_sig_last = TX_SIGNAL;
end
assign TX_LINE = tx_line;
assign TX_ACTIVITY = tx_activity;
endmodule
Loading…
Cancel
Save