parent
a91958a068
commit
df40598fbc
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
@ -1,1161 +0,0 @@
|
|||||||
# 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
|
|
@ -1,173 +0,0 @@
|
|||||||
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
|
|
@ -1,26 +0,0 @@
|
|||||||
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
|
|
@ -1,112 +0,0 @@
|
|||||||
|
|
||||||
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
|
|
@ -1,48 +0,0 @@
|
|||||||
|
|
||||||
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
|
|
Binary file not shown.
@ -0,0 +1,9 @@
|
|||||||
|
|
||||||
|
rot.bin: top.v inouts.pcf
|
||||||
|
yosys -q -p "synth_ice40 -blif i2c_kbd_alt.blif" top.v i2c_slave.v matrix_kbd.v ram.v simple_filter.v uart.v descriptors.v
|
||||||
|
arachne-pnr -p inouts.pcf i2c_kbd_alt.blif -o i2c_kbd_alt.txt
|
||||||
|
icebox_explain i2c_kbd_alt.txt > i2c_kbd_alt.ex
|
||||||
|
icepack i2c_kbd_alt.txt i2c_kbd_alt.bin
|
||||||
|
|
||||||
|
clean:
|
||||||
|
rm -f i2c_kbd_alt.blif i2c_kbd_alt.txt i2c_kbd_alt.ex i2c_kbd_alt.bin
|
@ -0,0 +1,150 @@
|
|||||||
|
module descriptors (input CLK, input RESET, input RD_REQUEST, input [1:0] DESC_TYPE, input [7:0] ADR, output reg [7:0] VAL/*, input [63:0] kbd_report*/);
|
||||||
|
|
||||||
|
parameter HID_REPORT_DESC_LEN = 63;
|
||||||
|
//reg [(8*30-1):0] i2c_hid_desc;// = 'h_1E_00__00_01__46_00__02_00__03_00__0A_00__04_00__03_00__05_00__06_00__9F_04__01_01__00_01__00_00_00_00;
|
||||||
|
//reg [(8*HID_REPORT_DESC_LEN-1):0] hid_report_desc;
|
||||||
|
|
||||||
|
parameter READ_ADRESS_OFFSET = 2;
|
||||||
|
|
||||||
|
reg last_rd_request = 0;
|
||||||
|
|
||||||
|
always @ (posedge CLK) begin
|
||||||
|
if (RESET == 0) begin
|
||||||
|
//i2c_hid_desc <= 'h_1E_00__00_01__50_00__02_00__03_00__0A_00__04_00__03_00__05_00__06_00__9F_04__01_01__00_01__00_00_00_00;
|
||||||
|
//hid_report_desc <= 'h__05_01__09_06__A1_01__05_07__85_01___19_E0__29_E7__15_00__25_01__75_01__95_08__81_02___95_01__75_08__81_01___95_05__75_01__05_05__85_01__19_01__29_05__91_02___95_01__75_03__91_03___95_06__75_08__15_00__25_65__05_07__19_00__29_65__81_00__C0;
|
||||||
|
//i2c_hid_desc [207:200] <= HID_REPORT_DESC_LEN[7:0];
|
||||||
|
//i2c_hid_desc [199:192] <= HID_REPORT_DESC_LEN[15:8];
|
||||||
|
last_rd_request <= 0;
|
||||||
|
end
|
||||||
|
else begin
|
||||||
|
if ((last_rd_request == 0) && (RD_REQUEST == 1)) begin
|
||||||
|
if (DESC_TYPE == 1) begin
|
||||||
|
case (ADR) 2: VAL <= 8'h1E; 3: VAL <= 0; // 2-3 - DESCR LEN (30),
|
||||||
|
4: VAL <= 0; 5: VAL <= 1; // 4-5 - bcdVersion
|
||||||
|
6: VAL <= HID_REPORT_DESC_LEN[7:0]; 7: VAL <= HID_REPORT_DESC_LEN[15:8];
|
||||||
|
8: VAL <= 2; 9: VAL <= 0; // 8-9 - REPORT DESC ADR
|
||||||
|
10: VAL <= 3; 11: VAL <= 0; // 10-11 - INPUT REG ADR
|
||||||
|
12: VAL <= 10; 13: VAL <= 0; // 12-13 - INPUT REG LEN
|
||||||
|
14: VAL <= 4; 15: VAL <= 0; // 14-15 - OUT REG ADR
|
||||||
|
16: VAL <= 3; 17: VAL <= 0; // 16-17 - OUT REG LEN
|
||||||
|
18: VAL <= 5; 19: VAL <= 0; // 18-19 - CMD REG ADR
|
||||||
|
20: VAL <= 6; 21: VAL <= 0; // 20-21 - DATA REG ADR
|
||||||
|
22: VAL <= 8'h9F; 23: VAL <= 4; // 22-23 - VENDOR ID
|
||||||
|
24: VAL <= 1; 25: VAL <= 1; // 24-25 - DEVICE ID
|
||||||
|
26: VAL <= 0; 27: VAL <= 1; // 26-27 - VERSION
|
||||||
|
28: VAL <= 0; 29: VAL <= 0; 30: VAL <= 0; 31: VAL <= 0; // 28-31 - RSVD
|
||||||
|
default: VAL <= 0;
|
||||||
|
endcase
|
||||||
|
end
|
||||||
|
else if (DESC_TYPE == 2) begin
|
||||||
|
case (ADR) 2: VAL <= 8'h05; 3: VAL <= 8'h01;
|
||||||
|
4: VAL <= 8'h09; 5: VAL <= 8'h06;
|
||||||
|
6: VAL <= 8'hA1; 7: VAL <= 8'h01;
|
||||||
|
8: VAL <= 8'h05; 9: VAL <= 8'h07;
|
||||||
|
//10: VAL <= 8'h85; 11: VAL <= 8'h01;
|
||||||
|
// MODIFIERS DESC
|
||||||
|
10: VAL <= 8'h19; 11: VAL <= 8'hE0;
|
||||||
|
12: VAL <= 8'h29; 13: VAL <= 8'hE7;
|
||||||
|
14: VAL <= 8'h15; 15: VAL <= 8'h00;
|
||||||
|
16: VAL <= 8'h25; 17: VAL <= 8'h01;
|
||||||
|
18: VAL <= 8'h75; 19: VAL <= 8'h01;
|
||||||
|
20: VAL <= 8'h95; 21: VAL <= 8'h08;
|
||||||
|
22: VAL <= 8'h81; 23: VAL <= 8'h02;
|
||||||
|
// RESERVED BYTE
|
||||||
|
24: VAL <= 8'h95; 25: VAL <= 8'h01;
|
||||||
|
26: VAL <= 8'h75; 27: VAL <= 8'h08;
|
||||||
|
28: VAL <= 8'h81; 29: VAL <= 8'h01;
|
||||||
|
// LEDS
|
||||||
|
30: VAL <= 8'h95; 31: VAL <= 8'h05;
|
||||||
|
32: VAL <= 8'h75; 33: VAL <= 8'h01;
|
||||||
|
34: VAL <= 8'h05; 35: VAL <= 8'h08;
|
||||||
|
36: VAL <= 8'h19; 37: VAL <= 8'h01;
|
||||||
|
38: VAL <= 8'h29; 39: VAL <= 8'h05;
|
||||||
|
40: VAL <= 8'h91; 41: VAL <= 8'h02;
|
||||||
|
// RESERVED 3 BITS
|
||||||
|
42: VAL <= 8'h95; 43: VAL <= 8'h01;
|
||||||
|
44: VAL <= 8'h75; 45: VAL <= 8'h03;
|
||||||
|
46: VAL <= 8'h91; 47: VAL <= 8'h03;
|
||||||
|
// SIX KEYS (NON-MODIFIERS)
|
||||||
|
48: VAL <= 8'h95; 49: VAL <= 8'h06;
|
||||||
|
50: VAL <= 8'h75; 51: VAL <= 8'h08;
|
||||||
|
52: VAL <= 8'h15; 53: VAL <= 8'h00;
|
||||||
|
54: VAL <= 8'h25; 55: VAL <= 8'h65;
|
||||||
|
56: VAL <= 8'h05; 57: VAL <= 8'h07;
|
||||||
|
58: VAL <= 8'h19; 59: VAL <= 8'h00;
|
||||||
|
60: VAL <= 8'h29; 61: VAL <= 8'h65;
|
||||||
|
62: VAL <= 8'h81; 63: VAL <= 8'h00;
|
||||||
|
// END COLLECTION
|
||||||
|
64: VAL <= 8'hC0;
|
||||||
|
default: VAL <= 0;
|
||||||
|
endcase
|
||||||
|
end
|
||||||
|
/*if (READ_TYPE == 1) begin
|
||||||
|
if ((READ_ADRESS < READ_ADRESS_OFFSET) || (READ_ADRESS > (READ_ADRESS_OFFSET + 30 - 1)))
|
||||||
|
VAL <= 0;
|
||||||
|
else
|
||||||
|
VAL <= i2c_hid_desc[ (8 * (30 - READ_ADRESS + READ_ADRESS_OFFSET - 1) + 7) : (8 * (30 - READ_ADRESS + READ_ADRESS_OFFSET - 1) + 0) ];
|
||||||
|
end*/
|
||||||
|
/*else if (READ_TYPE == 2) begin
|
||||||
|
if ((READ_ADRESS < READ_ADRESS_OFFSET) || (READ_ADRESS > (READ_ADRESS_OFFSET + HID_REPORT_DESC_LEN - 1)))
|
||||||
|
VAL <= 0;
|
||||||
|
else
|
||||||
|
VAL <= hid_report_desc[ (8 * (HID_REPORT_DESC_LEN - READ_ADRESS + READ_ADRESS_OFFSET - 1) + 7) : (8 * (HID_REPORT_DESC_LEN - READ_ADRESS + READ_ADRESS_OFFSET - 1) + 0) ];
|
||||||
|
end*/
|
||||||
|
/*else if (READ_TYPE == 3) begin
|
||||||
|
if ((READ_ADRESS < READ_ADRESS_OFFSET) || (READ_ADRESS > (READ_ADRESS_OFFSET + 10 - 1)))
|
||||||
|
VAL <= 0;
|
||||||
|
else if (READ_ADRESS == READ_ADRESS_OFFSET)
|
||||||
|
VAL <= 10;
|
||||||
|
else if (READ_ADRESS == (READ_ADRESS_OFFSET + 1))
|
||||||
|
VAL <= 0;
|
||||||
|
else
|
||||||
|
VAL <= kbd_report[ (8 * (10 - READ_ADRESS + READ_ADRESS_OFFSET - 1) + 7) : (8 * (10 - READ_ADRESS + READ_ADRESS_OFFSET - 1) + 0) ];
|
||||||
|
end*/
|
||||||
|
end
|
||||||
|
last_rd_request <= RD_REQUEST;
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
endmodule
|
||||||
|
|
||||||
|
//static const uint8 hid_descriptor_keyboard[] = {
|
||||||
|
//****/ 0x05, 0x01, /* USAGE_PAGE (Generic Desktop) */ 2
|
||||||
|
//****/ 0x09, 0x06, /* USAGE (Keyboard) */ 4
|
||||||
|
//****/ 0xa1, 0x01, /* COLLECTION (Application) */ 6
|
||||||
|
//******/ 0x05, 0x07, /* USAGE_PAGE (Keyboard) */ 8
|
||||||
|
//******/ 0x85, 0x01, /* REPORT_ID (1) */ 10
|
||||||
|
/* Ctrl, Shift and other modifier keys, 8 in total */
|
||||||
|
//******/ 0x19, 0xe0, /* USAGE_MINIMUM (kbd LeftControl) */ 12
|
||||||
|
//******/ 0x29, 0xe7, /* USAGE_MAXIMUM (kbd Right GUI) */ 14
|
||||||
|
//******/ 0x15, 0x00, /* LOGICAL_MINIMUM (0) */ 16
|
||||||
|
//******/ 0x25, 0x01, /* LOGICAL_MAXIMUM (1) */ 18
|
||||||
|
//******/ 0x75, 0x01, /* REPORT_SIZE (1) */ 20
|
||||||
|
//******/ 0x95, 0x08, /* REPORT_COUNT (8) */ 22
|
||||||
|
//******/ 0x81, 0x02, /* INPUT (Data,Var,Abs) */ 24
|
||||||
|
/* Reserved byte */
|
||||||
|
//******/ 0x95, 0x01, /* REPORT_COUNT (1) */ 26
|
||||||
|
//******/ 0x75, 0x08, /* REPORT_SIZE (8) */ 28
|
||||||
|
//******/ 0x81, 0x01, /* INPUT (Cnst,Ary,Abs) */ 30
|
||||||
|
/* LEDs for num lock etc */
|
||||||
|
//******/ 0x95, 0x05, /* REPORT_COUNT (5) */ 32
|
||||||
|
//******/ 0x75, 0x01, /* REPORT_SIZE (1) */ 34
|
||||||
|
//******/ 0x05, 0x08, /* USAGE_PAGE (LEDs) */ 36
|
||||||
|
//******/ 0x85, 0x01, /* REPORT_ID (1) */ 38
|
||||||
|
//******/ 0x19, 0x01, /* USAGE_MINIMUM (Num Lock) */ 40
|
||||||
|
//******/ 0x29, 0x05, /* USAGE_MAXIMUM (Kana) */ 42
|
||||||
|
//******/ 0x91, 0x02, /* OUTPUT (Data,Var,Abs) */ 44
|
||||||
|
/* Reserved 3 bits */
|
||||||
|
//******/ 0x95, 0x01, /* REPORT_COUNT (1) */ 46
|
||||||
|
//******/ 0x75, 0x03, /* REPORT_SIZE (3) */ 48
|
||||||
|
//******/ 0x91, 0x03, /* OUTPUT (Cnst,Var,Abs) */ 50
|
||||||
|
/* Slots for 6 keys that can be pressed down at the same time */
|
||||||
|
//******/ 0x95, 0x06, /* REPORT_COUNT (6) */ 52
|
||||||
|
//******/ 0x75, 0x08, /* REPORT_SIZE (8) */ 54
|
||||||
|
//******/ 0x15, 0x00, /* LOGICAL_MINIMUM (0) */ 56
|
||||||
|
//******/ 0x25, 0x65, /* LOGICAL_MAXIMUM (101) */Bluegiga Technologies Oy 58
|
||||||
|
//******/ 0x05, 0x07, /* USAGE_PAGE (Keyboard) */ 60
|
||||||
|
//******/ 0x19, 0x00, /* USAGE_MINIMUM (Reserved (no event indicated)) */ 62
|
||||||
|
//******/ 0x29, 0x65, /* USAGE_MAXIMUM (Keyboard Application) */ 64
|
||||||
|
//******/ 0x81, 0x00, /* INPUT (Data,Ary,Abs) */ 66
|
||||||
|
//****/ 0xc0 } 67
|
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,187 @@
|
|||||||
|
module i2c_slave (input CLK, input RESET,
|
||||||
|
input SCL, inout SDA,
|
||||||
|
output IS_TRANSMISSION, output IS_READ, output IS_ACK, output WR, //output ACK_MASTER_CTRL,
|
||||||
|
output [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 = 8; // !!! - FOR LIMIT BYTES TO TX/RX (WITH ADRESS)
|
||||||
|
|
||||||
|
reg SDA_IN, SDA_DIR, SDA_OUT;
|
||||||
|
initial begin
|
||||||
|
SDA_OUT = 0;
|
||||||
|
end
|
||||||
|
|
||||||
|
/*reg*/wire SCLD, SDAD;
|
||||||
|
|
||||||
|
reg SCL_LAST, SDA_LAST;
|
||||||
|
reg i2c_state_machine;
|
||||||
|
reg i2c_start_latency; // GETS LATENCY (ONE CLK) TO IS_TRANSMISSION WIRE
|
||||||
|
// NEEDS WHEN START REPEAT OCCURS
|
||||||
|
// WITHOUT THIS THERE ARE NO SIGNALS TO CALL ABOUT END OF PACKET BEFORE START REPEAT
|
||||||
|
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;
|
||||||
|
|
||||||
|
simple_filter FLT_SCL (CLK, RESET, SCLF, SCLD);
|
||||||
|
simple_filter FLT_SDA (CLK, RESET, SDAF, SDAD);
|
||||||
|
|
||||||
|
always@(negedge CLK) begin
|
||||||
|
SCLF <= SCL;
|
||||||
|
SDAF <= SDA_IN;
|
||||||
|
end
|
||||||
|
|
||||||
|
always@(posedge CLK or negedge RESET) begin
|
||||||
|
if (RESET == 0)
|
||||||
|
i2c_state_machine <= 0;
|
||||||
|
else 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_start_latency = 0;
|
||||||
|
i2c_bit_counter = 4'd8;
|
||||||
|
byte_counter = 9'd0;
|
||||||
|
//is_for_me = 1; // RESETS TO ZERO WHEN ADRESS CHECKING
|
||||||
|
SDA_DIR = 0;
|
||||||
|
is_ack = 0;
|
||||||
|
//ack_master_ctrl = 1;
|
||||||
|
wr = 0;
|
||||||
|
end
|
||||||
|
else if ((i2c_state_machine == 1) && (i2c_start_latency == 0)) begin
|
||||||
|
i2c_start_latency = 1;
|
||||||
|
is_read = 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 != ((1<<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 != ((1<<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
|
||||||
|
end
|
||||||
|
|
||||||
|
assign IS_TRANSMISSION = i2c_state_machine & i2c_start_latency;
|
||||||
|
//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)
|
||||||
|
) i2c_io (
|
||||||
|
.PACKAGE_PIN(SDA),
|
||||||
|
.OUTPUT_ENABLE(SDA_DIR),
|
||||||
|
.D_OUT_0(SDA_OUT),
|
||||||
|
.D_IN_0(SDA_IN)
|
||||||
|
);
|
||||||
|
|
||||||
|
endmodule
|
@ -0,0 +1,38 @@
|
|||||||
|
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
|
||||||
|
set_io INTERRUPT 88 # J2, 8
|
||||||
|
# GND - J2, 11
|
||||||
|
#set_io INT 95
|
||||||
|
|
||||||
|
set_io KBD_COLUMNS[0] 78 #J2-1 or PIO1-02
|
||||||
|
set_io KBD_COLUMNS[1] 79 #J2-2 or PIO1-03
|
||||||
|
set_io KBD_COLUMNS[2] 80 #J2-3 or PIO1-04
|
||||||
|
set_io KBD_COLUMNS[3] 81 #J2-4 or PIO1-05
|
||||||
|
|
||||||
|
set_io KBD_ROWS[0] 119 #J1-10 or PIO0-09
|
||||||
|
set_io KBD_ROWS[1] 118 #J1-9 or PIO0-08
|
||||||
|
set_io KBD_ROWS[2] 117 #J1-8 or PIO0-07
|
||||||
|
set_io KBD_ROWS[3] 116 #J1-7 or PIO0-06
|
||||||
|
|
||||||
|
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,189 @@
|
|||||||
|
module matrix_kbd (input CLK, input RESET, input FREEZE, inout [3:0] ROWS, input [3:0] COLUMNS, output [63:0] kbd_report, output INT);
|
||||||
|
|
||||||
|
// * - ESC (29), 7 - F1 (3A), 4 - F2 (3B), 1 - NUM_LOCK (53)
|
||||||
|
// 0 - CAPS LOCK (39), 8 - R (15), 5 - BACKSPACE (2A), 2 - ENTER (58)
|
||||||
|
// # - LSHIFT (E1), 9 - C (06), 6 - V (19), 3 - DELETE (4C)
|
||||||
|
// D - LCTRL (E0), C - LALT (E2), B - SPACE (2C), A - RGUI (E7)
|
||||||
|
|
||||||
|
parameter ONE_ROW_TIME = 12000;
|
||||||
|
|
||||||
|
reg [15:0] row_time = 0;
|
||||||
|
reg [1:0] row_counter;
|
||||||
|
|
||||||
|
reg [15:0] last_data;
|
||||||
|
reg [7:0] i;
|
||||||
|
|
||||||
|
reg [63:0] report;
|
||||||
|
reg [5:0] report_free_place;
|
||||||
|
reg isr;
|
||||||
|
|
||||||
|
reg [3:0] ROWS_EN = 0;
|
||||||
|
reg [3:0] ROWS_OUT = 0;
|
||||||
|
wire [3:0] ROWS_IN;
|
||||||
|
reg [3:0] COLS_SHADOW;
|
||||||
|
|
||||||
|
reg [7:0] kbd_code;
|
||||||
|
reg is_pressed;
|
||||||
|
|
||||||
|
always @ (negedge CLK) begin
|
||||||
|
COLS_SHADOW <= COLUMNS;
|
||||||
|
end
|
||||||
|
|
||||||
|
always @ (posedge CLK) begin
|
||||||
|
if (RESET == 0) begin
|
||||||
|
last_data <= 16'hFFFF;
|
||||||
|
report_free_place <= 6'h3F;
|
||||||
|
report <= 63'h_00_00_00_00_00_00_00_00;
|
||||||
|
end
|
||||||
|
else begin
|
||||||
|
if (FREEZE == 0) begin
|
||||||
|
if (row_time == ONE_ROW_TIME) begin
|
||||||
|
row_time <= 0;
|
||||||
|
row_counter = row_counter + 1;
|
||||||
|
ROWS_EN = 1 << row_counter;
|
||||||
|
end
|
||||||
|
else
|
||||||
|
row_time <= row_time + 1;
|
||||||
|
// ROW 0 - D, 1 - A, 2 - C, 3 - B
|
||||||
|
if (row_time == (ONE_ROW_TIME/2 + 0)) begin
|
||||||
|
if (COLS_SHADOW[0] != last_data[row_counter*4 + 0]) begin
|
||||||
|
case (row_counter) 0: kbd_code = 8'h29; 1: kbd_code = 8'h53; 2: kbd_code = 8'h3A; 3: kbd_code = 8'h3B; // ESC, F1-F2, NUM LOCK
|
||||||
|
default: kbd_code = 1;
|
||||||
|
endcase
|
||||||
|
if ((COLS_SHADOW[0] == 0) && (last_data[row_counter*4 + 0] == 1)) is_pressed = 1;
|
||||||
|
else is_pressed = 0;
|
||||||
|
end
|
||||||
|
else kbd_code = 0;
|
||||||
|
last_data[row_counter*4 + 0] <= COLS_SHADOW[0];
|
||||||
|
end
|
||||||
|
|
||||||
|
else if (row_time == (ONE_ROW_TIME/2 + 4)) begin
|
||||||
|
if (COLS_SHADOW[2] != last_data[row_counter*4 + 2]) begin
|
||||||
|
case (row_counter) 0: kbd_code = 8'h39; 1: kbd_code = 8'h58; 2: kbd_code = 8'h15; 3: kbd_code = 8'h2A; // CAPS LOCK, R, BACKSPACE, ENTER
|
||||||
|
default: kbd_code = 1;
|
||||||
|
endcase
|
||||||
|
if ((COLS_SHADOW[2] == 0) && (last_data[row_counter*4 + 2] == 1)) is_pressed = 1;
|
||||||
|
else is_pressed = 0;
|
||||||
|
end
|
||||||
|
else kbd_code = 0;
|
||||||
|
last_data[row_counter*4 + 2] <= COLS_SHADOW[2];
|
||||||
|
end
|
||||||
|
|
||||||
|
else if (row_time == (ONE_ROW_TIME/2 + 2)) begin
|
||||||
|
if (COLS_SHADOW[1] != last_data[row_counter*4 + 1]) begin
|
||||||
|
case (row_counter) 0: kbd_code = 8'hE1; 1: kbd_code = 8'h4C; 2: kbd_code = 8'h06; 3: kbd_code = 8'h19; // LEFT SHIFT, C, V, DELETE
|
||||||
|
default: kbd_code = 1;
|
||||||
|
endcase
|
||||||
|
if ((COLS_SHADOW[1] == 0) && (last_data[row_counter*4 + 1] == 1)) is_pressed = 1;
|
||||||
|
else is_pressed = 0;
|
||||||
|
end
|
||||||
|
else kbd_code = 0;
|
||||||
|
last_data[row_counter*4 + 1] <= COLS_SHADOW[1];
|
||||||
|
end
|
||||||
|
|
||||||
|
else if (row_time == (ONE_ROW_TIME/2 + 6)) begin
|
||||||
|
if (COLS_SHADOW[3] != last_data[row_counter*4 + 3]) begin
|
||||||
|
case (row_counter) 0: kbd_code = 8'hE0; 1: kbd_code = 8'hE7; 2: kbd_code = 8'hE2; 3: kbd_code = 8'h2C; // LCTRL, LALT, SPACE, RGUI
|
||||||
|
default: kbd_code = 1;
|
||||||
|
endcase
|
||||||
|
if ((COLS_SHADOW[3] == 0) && (last_data[row_counter*4 + 3] == 1)) is_pressed = 1;
|
||||||
|
else is_pressed = 0;
|
||||||
|
end
|
||||||
|
else kbd_code = 0;
|
||||||
|
last_data[row_counter*4 + 3] <= COLS_SHADOW[3];
|
||||||
|
end
|
||||||
|
|
||||||
|
else
|
||||||
|
kbd_code = 0;
|
||||||
|
|
||||||
|
// START PACK I2C_HID REPORT
|
||||||
|
if (kbd_code != 0) begin
|
||||||
|
isr = 1;
|
||||||
|
report[15:8] <= 0;
|
||||||
|
//report[63:56] <= 0;
|
||||||
|
if ((kbd_code > 8'hDF) && (kbd_code < 8'hE8)) begin
|
||||||
|
kbd_code = kbd_code & 8'h07;
|
||||||
|
if (is_pressed)
|
||||||
|
report [7:0] <= report [7:0] | (1<<kbd_code);
|
||||||
|
else
|
||||||
|
report [7:0] <= report [7:0] & (~(1<<kbd_code));
|
||||||
|
end
|
||||||
|
else begin
|
||||||
|
if (is_pressed) begin
|
||||||
|
/*for (i = 0; i < 4; i = i + 1) begin
|
||||||
|
if (report_free_place[i] == 1) begin
|
||||||
|
report [ ((i + 2) * 8 + 7) : ((i + 2) * 8 + 0)] <= kbd_code;
|
||||||
|
report_free_place[i] = 0;
|
||||||
|
is_pressed = 0; // NO ERROR DETECTED
|
||||||
|
end
|
||||||
|
end
|
||||||
|
if (report_free_place[0] == 1) begin
|
||||||
|
report [ ((0 + 2) * 8 + 7) : ((0 + 2) * 8 + 0)] <= kbd_code;
|
||||||
|
report_free_place[0] = 0;
|
||||||
|
end*/
|
||||||
|
if (report [ 23 : 16 ] == 0)
|
||||||
|
report [ 23 : 16 ] <= kbd_code;
|
||||||
|
else if (report [ 31 : 24 ] == 0)
|
||||||
|
report [ 31 : 24 ] <= kbd_code;
|
||||||
|
else if (report [ 39 : 32 ] == 0)
|
||||||
|
report [ 39 : 32 ] <= kbd_code;
|
||||||
|
else if (report [ 47 : 40 ] == 0)
|
||||||
|
report [ 47 : 40 ] <= kbd_code;
|
||||||
|
else if (report [ 55 : 48 ] == 0)
|
||||||
|
report [ 55 : 48 ] <= kbd_code;
|
||||||
|
else if (report [ 63 : 56 ] == 0)
|
||||||
|
report [ 63 : 56 ] <= kbd_code;
|
||||||
|
end
|
||||||
|
|
||||||
|
else begin
|
||||||
|
for (i = 0; i < 6; i = i + 1) begin
|
||||||
|
if (report [ ((i + 2) * 8 + 7) : ((i + 2) * 8 + 0)] == kbd_code) begin
|
||||||
|
report [ ((i + 2) * 8 + 7) : ((i + 2) * 8 + 0)] <= 0;
|
||||||
|
//report_free_place[i] = 1;
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
//if (kbd_code == 8'h2C) begin
|
||||||
|
//if (is_pressed)
|
||||||
|
// report [15:8] <= kbd_code;
|
||||||
|
//else
|
||||||
|
// report [15:8] <= 0;
|
||||||
|
//end
|
||||||
|
//else if (kbd_code == 1) begin
|
||||||
|
// if (is_pressed)
|
||||||
|
// report [23:16] <= kbd_code;
|
||||||
|
// else
|
||||||
|
// report [23:16] <= 0;
|
||||||
|
//end
|
||||||
|
end
|
||||||
|
end // END OF KBD CODE SEND ALG
|
||||||
|
else
|
||||||
|
isr <= 0;
|
||||||
|
|
||||||
|
/*if (kbd_code != 0) begin
|
||||||
|
if (is_pressed)
|
||||||
|
report [7:0] <= kbd_code;
|
||||||
|
else
|
||||||
|
report [7:0] <= 0;
|
||||||
|
end*/
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
assign kbd_report = report;
|
||||||
|
assign INT = isr;
|
||||||
|
//assign ROWS_EN = (1 << row_counter);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
SB_IO #(
|
||||||
|
.PIN_TYPE(6'b 1010_01),
|
||||||
|
.PULLUP(1'b 0)
|
||||||
|
) rows_io [3:0] (
|
||||||
|
.PACKAGE_PIN(ROWS),
|
||||||
|
.OUTPUT_ENABLE(ROWS_EN),
|
||||||
|
.D_OUT_0(ROWS_OUT),
|
||||||
|
.D_IN_0(ROWS_IN)
|
||||||
|
);
|
||||||
|
|
||||||
|
endmodule
|
@ -0,0 +1,29 @@
|
|||||||
|
module simple_filter (input CLK, input RESET, input IN, output OUT);
|
||||||
|
|
||||||
|
reg out;
|
||||||
|
parameter FLT_CONST = 3'd7; // IF MODIFY THIS PLEASE MODIFY COUNTER!
|
||||||
|
reg [2:0] counter;
|
||||||
|
|
||||||
|
always@(posedge CLK or negedge RESET) begin
|
||||||
|
if (RESET == 0) begin
|
||||||
|
counter = 0;
|
||||||
|
out = 1;
|
||||||
|
end
|
||||||
|
else begin
|
||||||
|
if (counter != 0) begin
|
||||||
|
counter = counter - 1;
|
||||||
|
if (counter == 0) begin
|
||||||
|
if (out != IN)
|
||||||
|
out = IN;
|
||||||
|
end
|
||||||
|
end
|
||||||
|
else begin
|
||||||
|
if (out != IN)
|
||||||
|
counter = FLT_CONST;
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
assign OUT = out;
|
||||||
|
|
||||||
|
endmodule
|
@ -0,0 +1,186 @@
|
|||||||
|
|
||||||
|
module top (input CLK, output LED1, LED2, LED3, LED4, LED5,
|
||||||
|
input SCL, inout SDA, /*output ACK,*/ output INTERRUPT,
|
||||||
|
input COM_RX, output COM_TX, COM_DCD, COM_DSR, COM_RTS,
|
||||||
|
input [3:0] KBD_COLUMNS, inout [3:0] KBD_ROWS);
|
||||||
|
|
||||||
|
//reg [7:0] I2C_TX; // TRANSMITTED TO MASTER
|
||||||
|
wire [7:0] I2C_TX;
|
||||||
|
reg [7:0] I2C_TX_DESC;
|
||||||
|
reg [7:0] I2C_TX_REPORT;
|
||||||
|
assign I2C_TX = (I2C_TX_DESC & I2C_OUT_DESC_MASK) | (I2C_TX_REPORT & (~I2C_OUT_DESC_MASK));
|
||||||
|
wire [7:0] I2C_RX; // RECEIVED FROM MASTER
|
||||||
|
wire I2C_TRANS, I2C_READ, I2C_ACK, I2C_ACK_MSTR_CTRL, I2C_WR;
|
||||||
|
wire [9:0] I2C_COUNTER;
|
||||||
|
i2c_slave I2C (CLK, RESET, 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;
|
||||||
|
initial begin
|
||||||
|
UART_WR = 0; UART_RTS = 1; UART_DTR = 0; UART_DCD = 0;
|
||||||
|
end
|
||||||
|
uart UART (CLK, RESET, UART_WR, UART_TX_DATA, UART_ACTIVE, UART_TX_LINE);
|
||||||
|
|
||||||
|
wire [63:0] kbd_report;
|
||||||
|
wire ISR;
|
||||||
|
reg INT = 1; // INTERRUPT LINE TO HOST
|
||||||
|
reg KBD_FREEZE = 1; // LOGIC REG FOR BLOCK KBD ACTIVITY WHEN I2C IS WORKING
|
||||||
|
reg IS_EMPTY_REPORT = 0; // REGISTER FOR CORRECT START (HOST MUST REQUEST EMPTY REGISTER AFTER INTERRUPT. THEN INTERRRUPT SET TO 1)
|
||||||
|
matrix_kbd KEYBOARD (CLK, RESET, KBD_FREEZE, KBD_ROWS, KBD_COLUMNS, kbd_report, ISR);
|
||||||
|
|
||||||
|
descriptors I2C_HID_DESC (CLK, RESET, I2C_WR, I2C_OUTPUT_TYPE[1:0], I2C_COUNTER, I2C_TX_DESC/*, kbd_report*/);
|
||||||
|
|
||||||
|
parameter MAX_INPUT_LEN = 10;
|
||||||
|
reg [7:0] I2C_INPUT_DATA [MAX_INPUT_LEN:0];
|
||||||
|
reg [7:0] I2C_INPUT_LEN = 0;
|
||||||
|
reg [2:0] I2C_OUTPUT_TYPE = 0; // 0 - ALL ZERO DATA, 1 - I2C HID DESCR, 2 - OUTPUT REPORT, 3 - HID REPORT DESCR
|
||||||
|
reg [7:0] I2C_OUT_DESC_MASK = 0;
|
||||||
|
reg [7:0] KBD_LED_STATUS = 0;
|
||||||
|
|
||||||
|
reg last_wr = 0, last_trans = 0, last_uart_active = 0, last_isr = 0, uart_double_ff = 0;
|
||||||
|
wire RESET;
|
||||||
|
reg [3:0] rststate = 0;
|
||||||
|
assign RESET = &rststate;
|
||||||
|
always @(posedge CLK) begin
|
||||||
|
rststate <= rststate + !RESET;
|
||||||
|
if (RESET == 0) begin
|
||||||
|
I2C_OUTPUT_TYPE = 0;
|
||||||
|
I2C_OUT_DESC_MASK = 0;
|
||||||
|
KBD_LED_STATUS = 0; // BIT 0 - NUM LOCK, BIT 1 - CAPS LOCK, BIT 2 - SCROOL LOCK
|
||||||
|
I2C_INPUT_LEN = 0;
|
||||||
|
INT = 0;
|
||||||
|
UART_WR = 0;
|
||||||
|
KBD_FREEZE = 1;
|
||||||
|
IS_EMPTY_REPORT = 0;
|
||||||
|
end
|
||||||
|
else begin
|
||||||
|
if ((last_wr == 0) && (I2C_WR == 1)) begin
|
||||||
|
I2C_INPUT_LEN <= I2C_COUNTER - 1;
|
||||||
|
if (I2C_READ == 0) begin
|
||||||
|
if (I2C_COUNTER < (MAX_INPUT_LEN + 2))
|
||||||
|
I2C_INPUT_DATA[I2C_COUNTER - 2] <= I2C_RX;
|
||||||
|
end
|
||||||
|
else begin
|
||||||
|
if (I2C_OUTPUT_TYPE == 3) begin
|
||||||
|
if ((I2C_COUNTER < 2) || (I2C_COUNTER > (2 + 10 - 1)))
|
||||||
|
I2C_TX_REPORT <= 0;
|
||||||
|
else if (I2C_COUNTER == 2)
|
||||||
|
I2C_TX_REPORT <= 10;
|
||||||
|
else if (I2C_COUNTER == 3)
|
||||||
|
I2C_TX_REPORT <= 0;
|
||||||
|
else
|
||||||
|
I2C_TX_REPORT <= kbd_report[ (8 * (I2C_COUNTER - 4) + 7) : (8 * (I2C_COUNTER - 4) + 0) ];
|
||||||
|
end
|
||||||
|
else
|
||||||
|
I2C_TX_REPORT <= 0;
|
||||||
|
end
|
||||||
|
end
|
||||||
|
else if ((last_wr == 1) && (I2C_WR == 0)) begin
|
||||||
|
UART_WR <= 1;
|
||||||
|
if (I2C_READ == 0)
|
||||||
|
UART_TX_DATA <= I2C_RX;
|
||||||
|
else
|
||||||
|
UART_TX_DATA <= I2C_TX;
|
||||||
|
end
|
||||||
|
else if ((last_trans == 0) && (I2C_TRANS == 1)) begin
|
||||||
|
UART_TX_DATA = 8'hFF;
|
||||||
|
UART_WR = 1;
|
||||||
|
uart_double_ff = 1;
|
||||||
|
KBD_FREEZE = 0;
|
||||||
|
end
|
||||||
|
else if ((last_trans == 1) && (I2C_TRANS == 0)) begin
|
||||||
|
if (I2C_READ == 0) begin // DECODING PACKET RECEIVED FROM HOST
|
||||||
|
if (I2C_INPUT_LEN == 0)
|
||||||
|
KBD_FREEZE <= 0;
|
||||||
|
else if (I2C_INPUT_LEN == 2) begin
|
||||||
|
if ((I2C_INPUT_DATA[0] == 1) && (I2C_INPUT_DATA[1] == 0)) // I2C_HID_DESC_REQUEST
|
||||||
|
I2C_OUTPUT_TYPE = 1;
|
||||||
|
else if ((I2C_INPUT_DATA[0] == 2) && (I2C_INPUT_DATA[1] == 0)) // HID REPORT DESC REQUEST
|
||||||
|
I2C_OUTPUT_TYPE = 2;
|
||||||
|
else if ((I2C_INPUT_DATA[0] == 3) && (I2C_INPUT_DATA[1] == 0)) // INPUT REPORT REQUEST (ADR)
|
||||||
|
I2C_OUTPUT_TYPE = 3;
|
||||||
|
//else
|
||||||
|
// I2C_OUTPUT_TYPE = 0; //
|
||||||
|
end
|
||||||
|
else if (I2C_INPUT_LEN == 5) begin // OUTPUT REPORT SET (LEDS) - WRITE TO OUT ADR
|
||||||
|
if ((I2C_INPUT_DATA[0] == 4) && (I2C_INPUT_DATA[1] == 0) && (I2C_INPUT_DATA[2] == 1) && (I2C_INPUT_DATA[3] == 0)) begin
|
||||||
|
KBD_LED_STATUS <= I2C_INPUT_DATA[4];
|
||||||
|
KBD_FREEZE <= 0;
|
||||||
|
end
|
||||||
|
//else
|
||||||
|
// I2C_OUTPUT_TYPE = 0; //
|
||||||
|
end
|
||||||
|
else if (I2C_INPUT_LEN == 6) begin // INPUT REPORT REQUEST (KBD PRESS INFO)
|
||||||
|
if ((I2C_INPUT_DATA[0] == 5) && (I2C_INPUT_DATA[1] == 0) && (I2C_INPUT_DATA[2] == 16) && (I2C_INPUT_DATA[3] == 2) && (I2C_INPUT_DATA[4] == 6) && (I2C_INPUT_DATA[5] == 0))
|
||||||
|
I2C_OUTPUT_TYPE = 3;
|
||||||
|
//else
|
||||||
|
// I2C_OUTPUT_TYPE = 0; //
|
||||||
|
end
|
||||||
|
else if (I2C_INPUT_LEN == 9) begin // OUTPUT REPORT SET (LEDS) - WRITE BY CMD
|
||||||
|
if ((I2C_INPUT_DATA[0] == 5) && (I2C_INPUT_DATA[1] == 0) && (I2C_INPUT_DATA[2] == 32) && (I2C_INPUT_DATA[3] == 3) && (I2C_INPUT_DATA[4] == 6) && (I2C_INPUT_DATA[5] == 0) /*&& (I2C_INPUT_DATA[6] == 1) && (I2C_INPUT_DATA[7] == 0)*/) begin
|
||||||
|
KBD_LED_STATUS <= I2C_INPUT_DATA[8];
|
||||||
|
KBD_FREEZE <= 0;
|
||||||
|
end
|
||||||
|
//else
|
||||||
|
// I2C_OUTPUT_TYPE = 0; //
|
||||||
|
end
|
||||||
|
else if (I2C_INPUT_LEN == 4) begin
|
||||||
|
if ((I2C_INPUT_DATA[0] == 5) && (I2C_INPUT_DATA[1] == 0) && (I2C_INPUT_DATA[2] == 0) && (I2C_INPUT_DATA[3] == 1))
|
||||||
|
rststate <= 4'h0; // RESET COMMAND
|
||||||
|
end
|
||||||
|
//else
|
||||||
|
// I2C_OUTPUT_TYPE = 0; //
|
||||||
|
if ((I2C_OUTPUT_TYPE == 1) || (I2C_OUTPUT_TYPE == 2))
|
||||||
|
I2C_OUT_DESC_MASK = 8'hFF;
|
||||||
|
else
|
||||||
|
I2C_OUT_DESC_MASK = 8'h00;
|
||||||
|
end // END OF I2C_READ == 0
|
||||||
|
else begin
|
||||||
|
KBD_FREEZE <= 0; // UNFREEZING KBD AFTER ANYONE I2C RECEIVING
|
||||||
|
//if (((I2C_OUTPUT_TYPE == 3) && (I2C_INPUT_LEN == 10)) || ((I2C_OUTPUT_TYPE == 0) && (I2C_INPUT_LEN > 1))) begin // HARD
|
||||||
|
if (((I2C_OUTPUT_TYPE == 3) || (I2C_OUTPUT_TYPE == 0)) && (I2C_INPUT_LEN > 1)) begin // SOFT
|
||||||
|
// DEACTIVATING INTERRRUPT IF HOST READ INPUT REPORT (LEN 10) AFTER INTERRUPT OR EMPTY DATA (>=2 BYTES) AFTER RESET
|
||||||
|
// AND UNFREEZING KEYBOARD
|
||||||
|
INT <= 1;
|
||||||
|
//KBD_FREEZE <= 0;
|
||||||
|
IS_EMPTY_REPORT = 1;
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
else if ((last_uart_active == 1) && (UART_ACTIVE == 0) && (uart_double_ff == 1)) begin
|
||||||
|
UART_WR = 1;
|
||||||
|
UART_TX_DATA = 8'hFF;
|
||||||
|
uart_double_ff = 0;
|
||||||
|
I2C_INPUT_LEN = 0;
|
||||||
|
end
|
||||||
|
else if (UART_WR == 1)
|
||||||
|
UART_WR <= 0;
|
||||||
|
else if ((last_isr == 0) && (ISR == 1) && (INT == 1)) begin
|
||||||
|
INT = 0;
|
||||||
|
I2C_OUTPUT_TYPE = 3;
|
||||||
|
I2C_OUT_DESC_MASK = 8'h00;
|
||||||
|
end
|
||||||
|
last_wr <= I2C_WR;
|
||||||
|
last_trans <= I2C_TRANS;
|
||||||
|
last_uart_active <= UART_ACTIVE;
|
||||||
|
last_isr <= ISR;
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
assign LED5 = I2C_TRANS;
|
||||||
|
//assign LED5 = COM_RX;
|
||||||
|
assign LED1 = INT ^ 1;//KBD_COLUMNS[0];//I2C_OUTPUT_TYPE[0];//I2C_RX[0];
|
||||||
|
assign LED2 = KBD_LED_STATUS[0];//I2C_OUTPUT_TYPE[0];
|
||||||
|
assign LED3 = KBD_LED_STATUS[1];//I2C_OUTPUT_TYPE[1];
|
||||||
|
assign LED4 = KBD_LED_STATUS[2];//KBD_FREEZE;//UART_ACTIVE;
|
||||||
|
//assign ACK = I2C_READ;//I2C_WR; //I2C_ACK;
|
||||||
|
|
||||||
|
assign COM_TX = UART_TX_LINE;//COM_RX;
|
||||||
|
assign INTERRUPT = INT;
|
||||||
|
assign COM_RTS = I2C_READ;//UART_RTS;
|
||||||
|
assign COM_DSR = KBD_FREEZE;//UART_DTR;
|
||||||
|
assign COM_DCD = INT;
|
||||||
|
|
||||||
|
endmodule //top
|
@ -0,0 +1,60 @@
|
|||||||
|
|
||||||
|
module uart ( input CLK, input RESET, input TX_SIGNAL, input [7:0] TX_BYTE,
|
||||||
|
output TX_ACTIVITY, output TX_LINE);
|
||||||
|
// CLK - INPUT CLOCK (12 MHZ FOR ICESTICK), RESET: IF RESET == 0, MODULE RESETS
|
||||||
|
// TX_SIGNAL - SIGNAL TO START TRANSMISSION (RISING EDGE), TX_BYTE - BYTE TO TRANSMIT
|
||||||
|
// TX_ACTIVITY = 1, IF SOME BYTE IS TRANSMITTING NOW, ELSE - 0
|
||||||
|
// TX_LINE - LINE OF UART_TX,
|
||||||
|
// IF BYTE IS TRANSMITTING, ATTEMPT TO TRANSMIT OTHER BYTE HAS NO EFFECT
|
||||||
|
// MODULE WORKS AT POSEDGE
|
||||||
|
|
||||||
|
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 (RESET == 0) begin
|
||||||
|
/*tx_data = 0;*/ tx_clk_counter = 0;
|
||||||
|
end
|
||||||
|
|
||||||
|
else 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_BYTE[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
|
||||||
|
end
|
||||||
|
|
||||||
|
assign TX_LINE = tx_line;
|
||||||
|
assign TX_ACTIVITY = tx_activity;
|
||||||
|
|
||||||
|
endmodule
|
Binary file not shown.
@ -1,3 +0,0 @@
|
|||||||
[env]
|
|
||||||
board = icestick
|
|
||||||
|
|
@ -1,20 +0,0 @@
|
|||||||
set_io LEDS[0] 99 #RED
|
|
||||||
set_io LEDS[1] 98 #RED
|
|
||||||
set_io LEDS[2] 97 #RED
|
|
||||||
set_io LEDS[3] 96 #RED
|
|
||||||
set_io TACT_LED 95 #GREEN
|
|
||||||
|
|
||||||
set_io COLS[0] 78 #J2-1 or PIO1-02
|
|
||||||
set_io COLS[1] 79 #J2-2 or PIO1-03
|
|
||||||
set_io COLS[2] 80 #J2-3 or PIO1-04
|
|
||||||
set_io COLS[3] 81 #J2-4 or PIO1-05
|
|
||||||
|
|
||||||
set_io ROWS[0] 119 #J1-10 or PIO0-09
|
|
||||||
set_io ROWS[1] 118 #J1-9 or PIO0-08
|
|
||||||
set_io ROWS[2] 117 #J1-8 or PIO0-07
|
|
||||||
set_io ROWS[3] 116 #J1-7 or PIO0-06
|
|
||||||
|
|
||||||
set_io CLK 21
|
|
||||||
#set_io SCL 90 # J2, 9
|
|
||||||
#set_io SDA 91 # J2, 10
|
|
||||||
# GND - J2, 11
|
|
File diff suppressed because it is too large
Load Diff
Binary file not shown.
@ -1,254 +0,0 @@
|
|||||||
# Generated by Yosys 0.7 (Apio build) (git sha1 8c071a2, gcc 4.8.4-2ubuntu1~14.04.3 -fPIC -Os)
|
|
||||||
|
|
||||||
.model top
|
|
||||||
.inputs CLK COLS[0] COLS[1] COLS[2] COLS[3] ROWS[0] ROWS[1] ROWS[2] ROWS[3]
|
|
||||||
.outputs ROWS[0] ROWS[1] ROWS[2] ROWS[3] LEDS[0] LEDS[1] LEDS[2] LEDS[3] TACT_LED
|
|
||||||
.names $false
|
|
||||||
.names $true
|
|
||||||
1
|
|
||||||
.names $undef
|
|
||||||
.gate SB_LUT4 I0=$abc$541$n37_1 I1=$abc$541$n42 I2=$abc$541$n43 I3=$false O=$abc$541$n1
|
|
||||||
.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$541$n38 I1=$abc$541$n39 I2=$abc$541$n40 I3=$abc$541$n41 O=$abc$541$n37_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=period_counter[19] I1=period_counter[22] I2=period_counter[18] I3=period_counter[20] O=$abc$541$n38
|
|
||||||
.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=period_counter[10] I1=period_counter[13] I2=period_counter[14] I3=period_counter[15] O=$abc$541$n39
|
|
||||||
.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=period_counter[11] I1=period_counter[12] I2=period_counter[16] I3=period_counter[17] O=$abc$541$n40
|
|
||||||
.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=period_counter[21] I1=period_counter[23] I2=period_counter[8] I3=period_counter[9] O=$abc$541$n41
|
|
||||||
.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=period_counter[4] I1=period_counter[5] I2=period_counter[6] I3=period_counter[7] O=$abc$541$n42
|
|
||||||
.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=period_counter[0] I1=period_counter[1] I2=period_counter[2] I3=period_counter[3] O=$abc$541$n43
|
|
||||||
.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$541$n43 I1=$abc$541$n37_1 I2=$abc$541$n42 I3=period_counter[0] O=$abc$541$n51
|
|
||||||
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:51"
|
|
||||||
.param LUT_INIT 1111111110000000
|
|
||||||
.gate SB_LUT4 I0=row_counter[1] I1=TACT_LED I2=$false I3=$false O=$0\row_counter[1:0][1]
|
|
||||||
.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=row_counter[1] I1=$false I2=$false I3=$false O=$abc$541$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=period_counter[1] I1=$false I2=$false I3=$false O=$abc$541$n52
|
|
||||||
.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=TACT_LED I1=$false I2=$false I3=$false O=$abc$541$n54
|
|
||||||
.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$541$n37_1 I1=$abc$541$n42 I2=$abc$541$n43 I3=$false O=$abc$541$n50
|
|
||||||
.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=TACT_LED I1=$false I2=$false I3=$false O=$0\row_counter[1:0][0]
|
|
||||||
.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=$false I1=$true I2=period_counter[0] I3=$false O=$add$top.v:27$5_Y[0]
|
|
||||||
.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=period_counter[10] I3=$auto$alumacc.cc:470:replace_alu$27.C[10] O=$add$top.v:27$5_Y[10]
|
|
||||||
.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$27.C[10] CO=$auto$alumacc.cc:470:replace_alu$27.C[11] I0=$false I1=period_counter[10]
|
|
||||||
.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=period_counter[11] I3=$auto$alumacc.cc:470:replace_alu$27.C[11] O=$add$top.v:27$5_Y[11]
|
|
||||||
.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$27.C[11] CO=$auto$alumacc.cc:470:replace_alu$27.C[12] I0=$false I1=period_counter[11]
|
|
||||||
.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=period_counter[12] I3=$auto$alumacc.cc:470:replace_alu$27.C[12] O=$add$top.v:27$5_Y[12]
|
|
||||||
.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$27.C[12] CO=$auto$alumacc.cc:470:replace_alu$27.C[13] I0=$false I1=period_counter[12]
|
|
||||||
.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=period_counter[13] I3=$auto$alumacc.cc:470:replace_alu$27.C[13] O=$add$top.v:27$5_Y[13]
|
|
||||||
.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$27.C[13] CO=$auto$alumacc.cc:470:replace_alu$27.C[14] I0=$false I1=period_counter[13]
|
|
||||||
.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=period_counter[14] I3=$auto$alumacc.cc:470:replace_alu$27.C[14] O=$add$top.v:27$5_Y[14]
|
|
||||||
.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$27.C[14] CO=$auto$alumacc.cc:470:replace_alu$27.C[15] I0=$false I1=period_counter[14]
|
|
||||||
.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=period_counter[15] I3=$auto$alumacc.cc:470:replace_alu$27.C[15] O=$add$top.v:27$5_Y[15]
|
|
||||||
.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$27.C[15] CO=$auto$alumacc.cc:470:replace_alu$27.C[16] I0=$false I1=period_counter[15]
|
|
||||||
.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=period_counter[16] I3=$auto$alumacc.cc:470:replace_alu$27.C[16] O=$add$top.v:27$5_Y[16]
|
|
||||||
.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$27.C[16] CO=$auto$alumacc.cc:470:replace_alu$27.C[17] I0=$false I1=period_counter[16]
|
|
||||||
.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=period_counter[17] I3=$auto$alumacc.cc:470:replace_alu$27.C[17] O=$add$top.v:27$5_Y[17]
|
|
||||||
.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$27.C[17] CO=$auto$alumacc.cc:470:replace_alu$27.C[18] I0=$false I1=period_counter[17]
|
|
||||||
.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=period_counter[18] I3=$auto$alumacc.cc:470:replace_alu$27.C[18] O=$add$top.v:27$5_Y[18]
|
|
||||||
.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$27.C[18] CO=$auto$alumacc.cc:470:replace_alu$27.C[19] I0=$false I1=period_counter[18]
|
|
||||||
.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=period_counter[19] I3=$auto$alumacc.cc:470:replace_alu$27.C[19] O=$add$top.v:27$5_Y[19]
|
|
||||||
.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$27.C[19] CO=$auto$alumacc.cc:470:replace_alu$27.C[20] I0=$false I1=period_counter[19]
|
|
||||||
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/arith_map.v:47"
|
|
||||||
.gate SB_CARRY CI=period_counter[0] CO=$auto$alumacc.cc:470:replace_alu$27.C[2] I0=$false I1=period_counter[1]
|
|
||||||
.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=period_counter[20] I3=$auto$alumacc.cc:470:replace_alu$27.C[20] O=$add$top.v:27$5_Y[20]
|
|
||||||
.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$27.C[20] CO=$auto$alumacc.cc:470:replace_alu$27.C[21] I0=$false I1=period_counter[20]
|
|
||||||
.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=period_counter[21] I3=$auto$alumacc.cc:470:replace_alu$27.C[21] O=$add$top.v:27$5_Y[21]
|
|
||||||
.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$27.C[21] CO=$auto$alumacc.cc:470:replace_alu$27.C[22] I0=$false I1=period_counter[21]
|
|
||||||
.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=period_counter[22] I3=$auto$alumacc.cc:470:replace_alu$27.C[22] O=$add$top.v:27$5_Y[22]
|
|
||||||
.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$27.C[22] CO=$auto$alumacc.cc:470:replace_alu$27.C[23] I0=$false I1=period_counter[22]
|
|
||||||
.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=period_counter[23] I3=$auto$alumacc.cc:470:replace_alu$27.C[23] O=$add$top.v:27$5_Y[23]
|
|
||||||
.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=period_counter[2] I3=$auto$alumacc.cc:470:replace_alu$27.C[2] O=$add$top.v:27$5_Y[2]
|
|
||||||
.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$27.C[2] CO=$auto$alumacc.cc:470:replace_alu$27.C[3] I0=$false I1=period_counter[2]
|
|
||||||
.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=period_counter[3] I3=$auto$alumacc.cc:470:replace_alu$27.C[3] O=$add$top.v:27$5_Y[3]
|
|
||||||
.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$27.C[3] CO=$auto$alumacc.cc:470:replace_alu$27.C[4] I0=$false I1=period_counter[3]
|
|
||||||
.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=period_counter[4] I3=$auto$alumacc.cc:470:replace_alu$27.C[4] O=$add$top.v:27$5_Y[4]
|
|
||||||
.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$27.C[4] CO=$auto$alumacc.cc:470:replace_alu$27.C[5] I0=$false I1=period_counter[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=period_counter[5] I3=$auto$alumacc.cc:470:replace_alu$27.C[5] O=$add$top.v:27$5_Y[5]
|
|
||||||
.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$27.C[5] CO=$auto$alumacc.cc:470:replace_alu$27.C[6] I0=$false I1=period_counter[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=period_counter[6] I3=$auto$alumacc.cc:470:replace_alu$27.C[6] O=$add$top.v:27$5_Y[6]
|
|
||||||
.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$27.C[6] CO=$auto$alumacc.cc:470:replace_alu$27.C[7] I0=$false I1=period_counter[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=period_counter[7] I3=$auto$alumacc.cc:470:replace_alu$27.C[7] O=$add$top.v:27$5_Y[7]
|
|
||||||
.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$27.C[7] CO=$auto$alumacc.cc:470:replace_alu$27.C[8] I0=$false I1=period_counter[7]
|
|
||||||
.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=period_counter[8] I3=$auto$alumacc.cc:470:replace_alu$27.C[8] O=$add$top.v:27$5_Y[8]
|
|
||||||
.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$27.C[8] CO=$auto$alumacc.cc:470:replace_alu$27.C[9] I0=$false I1=period_counter[8]
|
|
||||||
.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=period_counter[9] I3=$auto$alumacc.cc:470:replace_alu$27.C[9] O=$add$top.v:27$5_Y[9]
|
|
||||||
.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$27.C[9] CO=$auto$alumacc.cc:470:replace_alu$27.C[10] I0=$false I1=period_counter[9]
|
|
||||||
.attr src "/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/arith_map.v:47"
|
|
||||||
.gate SB_DFFE C=CLK D=$0\row_counter[1:0][0] E=$abc$541$n50 Q=TACT_LED
|
|
||||||
.attr src "top.v:20|/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:8"
|
|
||||||
.gate SB_DFFE C=CLK D=$0\row_counter[1:0][1] E=$abc$541$n50 Q=row_counter[1]
|
|
||||||
.attr src "top.v:20|/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:8"
|
|
||||||
.gate SB_DFFSR C=CLK D=$add$top.v:27$5_Y[0] Q=period_counter[0] R=$abc$541$n1
|
|
||||||
.attr src "top.v:20|/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:2"
|
|
||||||
.gate SB_DFFESR C=CLK D=$abc$541$n52 E=$abc$541$n51 Q=period_counter[1] R=$abc$541$n1
|
|
||||||
.attr src "top.v:20|/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:8"
|
|
||||||
.gate SB_DFFSR C=CLK D=$add$top.v:27$5_Y[2] Q=period_counter[2] R=$abc$541$n1
|
|
||||||
.attr src "top.v:20|/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:2"
|
|
||||||
.gate SB_DFFSR C=CLK D=$add$top.v:27$5_Y[3] Q=period_counter[3] R=$abc$541$n1
|
|
||||||
.attr src "top.v:20|/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:2"
|
|
||||||
.gate SB_DFFSR C=CLK D=$add$top.v:27$5_Y[4] Q=period_counter[4] R=$abc$541$n1
|
|
||||||
.attr src "top.v:20|/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:2"
|
|
||||||
.gate SB_DFFSR C=CLK D=$add$top.v:27$5_Y[5] Q=period_counter[5] R=$abc$541$n1
|
|
||||||
.attr src "top.v:20|/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:2"
|
|
||||||
.gate SB_DFFSR C=CLK D=$add$top.v:27$5_Y[6] Q=period_counter[6] R=$abc$541$n1
|
|
||||||
.attr src "top.v:20|/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:2"
|
|
||||||
.gate SB_DFFSR C=CLK D=$add$top.v:27$5_Y[7] Q=period_counter[7] R=$abc$541$n1
|
|
||||||
.attr src "top.v:20|/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:2"
|
|
||||||
.gate SB_DFFSR C=CLK D=$add$top.v:27$5_Y[8] Q=period_counter[8] R=$abc$541$n1
|
|
||||||
.attr src "top.v:20|/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:2"
|
|
||||||
.gate SB_DFFSR C=CLK D=$add$top.v:27$5_Y[9] Q=period_counter[9] R=$abc$541$n1
|
|
||||||
.attr src "top.v:20|/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:2"
|
|
||||||
.gate SB_DFFSR C=CLK D=$add$top.v:27$5_Y[10] Q=period_counter[10] R=$abc$541$n1
|
|
||||||
.attr src "top.v:20|/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:2"
|
|
||||||
.gate SB_DFFSR C=CLK D=$add$top.v:27$5_Y[11] Q=period_counter[11] R=$abc$541$n1
|
|
||||||
.attr src "top.v:20|/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:2"
|
|
||||||
.gate SB_DFFSR C=CLK D=$add$top.v:27$5_Y[12] Q=period_counter[12] R=$abc$541$n1
|
|
||||||
.attr src "top.v:20|/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:2"
|
|
||||||
.gate SB_DFFSR C=CLK D=$add$top.v:27$5_Y[13] Q=period_counter[13] R=$abc$541$n1
|
|
||||||
.attr src "top.v:20|/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:2"
|
|
||||||
.gate SB_DFFSR C=CLK D=$add$top.v:27$5_Y[14] Q=period_counter[14] R=$abc$541$n1
|
|
||||||
.attr src "top.v:20|/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:2"
|
|
||||||
.gate SB_DFFSR C=CLK D=$add$top.v:27$5_Y[15] Q=period_counter[15] R=$abc$541$n1
|
|
||||||
.attr src "top.v:20|/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:2"
|
|
||||||
.gate SB_DFFSR C=CLK D=$add$top.v:27$5_Y[16] Q=period_counter[16] R=$abc$541$n1
|
|
||||||
.attr src "top.v:20|/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:2"
|
|
||||||
.gate SB_DFFSR C=CLK D=$add$top.v:27$5_Y[17] Q=period_counter[17] R=$abc$541$n1
|
|
||||||
.attr src "top.v:20|/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:2"
|
|
||||||
.gate SB_DFFSR C=CLK D=$add$top.v:27$5_Y[18] Q=period_counter[18] R=$abc$541$n1
|
|
||||||
.attr src "top.v:20|/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:2"
|
|
||||||
.gate SB_DFFSR C=CLK D=$add$top.v:27$5_Y[19] Q=period_counter[19] R=$abc$541$n1
|
|
||||||
.attr src "top.v:20|/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:2"
|
|
||||||
.gate SB_DFFSR C=CLK D=$add$top.v:27$5_Y[20] Q=period_counter[20] R=$abc$541$n1
|
|
||||||
.attr src "top.v:20|/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:2"
|
|
||||||
.gate SB_DFFSR C=CLK D=$add$top.v:27$5_Y[21] Q=period_counter[21] R=$abc$541$n1
|
|
||||||
.attr src "top.v:20|/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:2"
|
|
||||||
.gate SB_DFFSR C=CLK D=$add$top.v:27$5_Y[22] Q=period_counter[22] R=$abc$541$n1
|
|
||||||
.attr src "top.v:20|/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:2"
|
|
||||||
.gate SB_DFFSR C=CLK D=$add$top.v:27$5_Y[23] Q=period_counter[23] R=$abc$541$n1
|
|
||||||
.attr src "top.v:20|/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:2"
|
|
||||||
.gate SB_DFFESR C=CLK D=$abc$541$n54 E=$abc$541$n50 Q=rows_en[0] R=row_counter[1]
|
|
||||||
.attr src "top.v:20|/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:8"
|
|
||||||
.gate SB_DFFESR C=CLK D=TACT_LED E=$abc$541$n50 Q=rows_en[1] R=row_counter[1]
|
|
||||||
.attr src "top.v:20|/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:8"
|
|
||||||
.gate SB_DFFESR C=CLK D=$abc$541$n54 E=$abc$541$n50 Q=rows_en[2] R=$abc$541$n3
|
|
||||||
.attr src "top.v:20|/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:8"
|
|
||||||
.gate SB_DFFESR C=CLK D=TACT_LED E=$abc$541$n50 Q=rows_en[3] R=$abc$541$n3
|
|
||||||
.attr src "top.v:20|/home/t-bird/.apio/packages/toolchain-icestorm/bin/../share/yosys/ice40/cells_map.v:8"
|
|
||||||
.gate SB_IO D_IN_0=rows_in[0] D_OUT_0=$false OUTPUT_ENABLE=rows_en[0] PACKAGE_PIN=ROWS[0]
|
|
||||||
.attr src "top.v:33"
|
|
||||||
.param PIN_TYPE 101001
|
|
||||||
.param PULLUP 0
|
|
||||||
.gate SB_IO D_IN_0=rows_in[1] D_OUT_0=$false OUTPUT_ENABLE=rows_en[1] PACKAGE_PIN=ROWS[1]
|
|
||||||
.attr src "top.v:33"
|
|
||||||
.param PIN_TYPE 101001
|
|
||||||
.param PULLUP 0
|
|
||||||
.gate SB_IO D_IN_0=rows_in[2] D_OUT_0=$false OUTPUT_ENABLE=rows_en[2] PACKAGE_PIN=ROWS[2]
|
|
||||||
.attr src "top.v:33"
|
|
||||||
.param PIN_TYPE 101001
|
|
||||||
.param PULLUP 0
|
|
||||||
.gate SB_IO D_IN_0=rows_in[3] D_OUT_0=$false OUTPUT_ENABLE=rows_en[3] PACKAGE_PIN=ROWS[3]
|
|
||||||
.attr src "top.v:33"
|
|
||||||
.param PIN_TYPE 101001
|
|
||||||
.param PULLUP 0
|
|
||||||
.names COLS[0] LEDS[0]
|
|
||||||
1 1
|
|
||||||
.names COLS[1] LEDS[1]
|
|
||||||
1 1
|
|
||||||
.names COLS[2] LEDS[2]
|
|
||||||
1 1
|
|
||||||
.names COLS[3] LEDS[3]
|
|
||||||
1 1
|
|
||||||
.names TACT_LED row_counter[0]
|
|
||||||
1 1
|
|
||||||
.end
|
|
@ -1,43 +0,0 @@
|
|||||||
module top (input CLK, input [3:0] COLS, inout [3:0] ROWS, output [3:0] LEDS, output TACT_LED);
|
|
||||||
|
|
||||||
// MODULE POOLS MATRIX KEYBOARD 4x4 WITH PERIOD ~1 SEC (FOR EACH ROW)
|
|
||||||
// AND REDIRECTED COLUMNS TO RED LEDS
|
|
||||||
// GREEN LED TOGGLES EVERY ONE SECOND (AS POOLING PERIOD)
|
|
||||||
// NEED FOR CHECKING CONNECTION TO MATRIX 4x4 KEYBOARD
|
|
||||||
// IF THERE IS NO KEY PRESSED, ALL RED LEDS ARE ON
|
|
||||||
// IF SOME KEY PRESSED, SOME LED IS NOT ON IN ONE OF FOUR PERIODS
|
|
||||||
// ETC
|
|
||||||
|
|
||||||
reg [1:0] row_counter = 0;
|
|
||||||
reg [23:0] period_counter = 0;
|
|
||||||
reg [3:0] rows_out = 0;
|
|
||||||
reg [3:0] rows_en = 0;
|
|
||||||
wire [3:0] rows_in;
|
|
||||||
|
|
||||||
|
|
||||||
parameter period = 24'd12000000;
|
|
||||||
|
|
||||||
always @ ( posedge CLK ) begin
|
|
||||||
if (period_counter == period) begin
|
|
||||||
period_counter <= 0;
|
|
||||||
rows_en <= (1<<row_counter);
|
|
||||||
row_counter <= row_counter + 1;
|
|
||||||
end
|
|
||||||
else
|
|
||||||
period_counter <= period_counter + 1;
|
|
||||||
end
|
|
||||||
|
|
||||||
assign TACT_LED = row_counter[0];
|
|
||||||
assign LEDS = COLS;
|
|
||||||
|
|
||||||
SB_IO #(
|
|
||||||
.PIN_TYPE(6'b 1010_01),
|
|
||||||
.PULLUP(1'b 0)
|
|
||||||
) rows_io [3:0] (
|
|
||||||
.PACKAGE_PIN(ROWS),
|
|
||||||
.OUTPUT_ENABLE(rows_en),
|
|
||||||
.D_OUT_0(rows_out),
|
|
||||||
.D_IN_0(rows_in)
|
|
||||||
);
|
|
||||||
|
|
||||||
endmodule
|
|
Loading…
Reference in new issue