mirror of https://github.com/YosysHQ/icestorm.git
Begin I2C/SPI IP reverse engineering
This commit is contained in:
parent
9184fbdf40
commit
bd6cf518f3
|
|
@ -4816,6 +4816,10 @@ iotile_t_5k_db.append([["B13[10]"], "IoCtrl", "cf_bit_36"])
|
|||
iotile_t_5k_db.append([["B12[10]"], "IoCtrl", "cf_bit_37"])
|
||||
iotile_t_5k_db.append([["B13[15]"], "IoCtrl", "cf_bit_38"])
|
||||
iotile_t_5k_db.append([["B12[15]"], "IoCtrl", "cf_bit_39"])
|
||||
iotile_t_5k_db.append([["B10[3]"], "IpConfig", "cbit2usealt_in_0"])
|
||||
iotile_t_5k_db.append([["B12[2]"], "IpConfig", "cbit2usealt_in_1"])
|
||||
iotile_t_5k_db.append([["B12[3]"], "IpConfig", "SDA_input_delay"])
|
||||
iotile_t_5k_db.append([["B15[3]"], "IpConfig", "SDA_output_delay"])
|
||||
|
||||
iotile_b_5k_db = list(iotile_b_db)
|
||||
iotile_b_5k_db.append([["B14[15]"], "IoCtrl", "padeb_test_1"])
|
||||
|
|
@ -4828,6 +4832,10 @@ iotile_b_5k_db.append([["B13[10]"], "IoCtrl", "cf_bit_36"])
|
|||
iotile_b_5k_db.append([["B12[10]"], "IoCtrl", "cf_bit_37"])
|
||||
iotile_b_5k_db.append([["B13[15]"], "IoCtrl", "cf_bit_38"])
|
||||
iotile_b_5k_db.append([["B12[15]"], "IoCtrl", "cf_bit_39"])
|
||||
iotile_t_5k_db.append([["B10[3]"], "IpConfig", "cbit2usealt_in_0"])
|
||||
iotile_t_5k_db.append([["B12[2]"], "IpConfig", "cbit2usealt_in_1"])
|
||||
iotile_t_5k_db.append([["B12[3]"], "IpConfig", "SDA_input_delay"])
|
||||
iotile_t_5k_db.append([["B15[3]"], "IpConfig", "SDA_output_delay"])
|
||||
|
||||
for db in [iotile_l_db, iotile_r_db, iotile_t_db, iotile_b_db, iotile_t_5k_db, iotile_b_5k_db, logictile_db, logictile_5k_db, logictile_8k_db, logictile_384_db, rambtile_db, ramttile_db, rambtile_5k_db, ramttile_5k_db, rambtile_8k_db, ramttile_8k_db, dsp0_5k_db, dsp1_5k_db, dsp2_5k_db, dsp3_5k_db, ipcon_5k_db]:
|
||||
for entry in db:
|
||||
|
|
|
|||
|
|
@ -0,0 +1,21 @@
|
|||
set_io sbclki 2
|
||||
set_io sbrwi 3
|
||||
set_io sbstbi 4
|
||||
set_io sbadri0 6
|
||||
set_io sbadri1 9
|
||||
set_io sbadri7 10
|
||||
set_io sbdati0 11
|
||||
set_io sbdati1 12
|
||||
set_io sbdati7 13
|
||||
set_io sbdato0 14
|
||||
set_io sbdato1 15
|
||||
set_io sbdato7 16
|
||||
set_io sbacko 17
|
||||
set_io i2cirq 18
|
||||
set_io i2cwkup 19
|
||||
set_io scli 20
|
||||
set_io sdai 21
|
||||
set_io sclo 23
|
||||
set_io scloe 25
|
||||
set_io sdao 26
|
||||
set_io sdaoe 27
|
||||
|
|
@ -0,0 +1,48 @@
|
|||
module top (
|
||||
input sbclki, sbrwi, sbstbi,
|
||||
input sbadri0, sbadri1, sbadri7,
|
||||
input sbdati0, sbdati1, sbdati7,
|
||||
output sbdato0, sbdato1, sbdato7,
|
||||
output sbacko, i2cirq, i2cwkup,
|
||||
input scli, sdai,
|
||||
output sclo, scloe, sdao, sdaoe
|
||||
);
|
||||
|
||||
SB_I2C #(
|
||||
.I2C_SLAVE_INIT_ADDR("0b1111100010"),
|
||||
.BUS_ADDR74("0b0011")
|
||||
) i2c_ip (
|
||||
.SBCLKI(sbclki),
|
||||
.SBRWI(sbrwi),
|
||||
.SBSTBI(sbstbi),
|
||||
|
||||
.SBADRI0(sbadri0),
|
||||
.SBADRI1(sbadri1),
|
||||
.SBADRI7(sbadri7),
|
||||
|
||||
.SBDATI0(sbdati0),
|
||||
.SBDATI1(sbdati1),
|
||||
.SBDATI7(sbdati7),
|
||||
|
||||
.SBDATO0(sbdato0),
|
||||
.SBDATO1(sbdato1),
|
||||
.SBDATO7(sbdato7),
|
||||
|
||||
.SBACKO(sbacko),
|
||||
.I2CIRQ(i2cirq),
|
||||
.I2CWKUP(i2cwkup),
|
||||
|
||||
.SCLI(scli),
|
||||
.SCLO(sclo),
|
||||
.SCLOE(scloe),
|
||||
|
||||
.SDAI(sdai),
|
||||
.SDAO(sdao),
|
||||
.SDAOE(sdaoe)
|
||||
)
|
||||
/* synthesis SDA_INPUT_DELAYED=1 */
|
||||
/* synthesis SDA_OUTPUT_DELAYED=1 */
|
||||
/* synthesis SCL_INPUT_FILTERED=1 */
|
||||
;
|
||||
|
||||
endmodule
|
||||
|
|
@ -0,0 +1,18 @@
|
|||
set_io sbclki 2
|
||||
set_io sbrwi 3
|
||||
set_io sbstbi 4
|
||||
set_io sbadri0 6
|
||||
set_io sbadri1 9
|
||||
set_io sbadri7 10
|
||||
set_io sbdati0 11
|
||||
set_io sbdati1 12
|
||||
set_io sbdati7 13
|
||||
set_io sbdato0 14
|
||||
set_io sbdato1 15
|
||||
set_io sbdato7 16
|
||||
set_io sbacko 17
|
||||
set_io i2cirq 18
|
||||
set_io i2cwkup 19
|
||||
set_io scl 20
|
||||
set_io sda 21
|
||||
|
||||
|
|
@ -0,0 +1,66 @@
|
|||
module top (
|
||||
input sbclki, sbrwi, sbstbi,
|
||||
input sbadri0, sbadri1, sbadri7,
|
||||
input sbdati0, sbdati1, sbdati7,
|
||||
output sbdato0, sbdato1, sbdato7,
|
||||
output sbacko, i2cirq, i2cwkup,
|
||||
inout scl, sda
|
||||
);
|
||||
|
||||
wire scli, sclo, scloe, sdai, sdao, sdaoe;
|
||||
|
||||
SB_I2C #(
|
||||
.I2C_SLAVE_INIT_ADDR("0b1111100010"),
|
||||
.BUS_ADDR74("0b0011")
|
||||
) i2c_ip (
|
||||
.SBCLKI(sbclki),
|
||||
.SBRWI(sbrwi),
|
||||
.SBSTBI(sbstbi),
|
||||
|
||||
.SBADRI0(sbadri0),
|
||||
.SBADRI1(sbadri1),
|
||||
.SBADRI7(sbadri7),
|
||||
|
||||
.SBDATI0(sbdati0),
|
||||
.SBDATI1(sbdati1),
|
||||
.SBDATI7(sbdati7),
|
||||
|
||||
.SBDATO0(sbdato0),
|
||||
.SBDATO1(sbdato1),
|
||||
.SBDATO7(sbdato7),
|
||||
|
||||
.SBACKO(sbacko),
|
||||
.I2CIRQ(i2cirq),
|
||||
.I2CWKUP(i2cwkup),
|
||||
|
||||
.SCLI(scli),
|
||||
.SCLO(sclo),
|
||||
.SCLOE(scloe),
|
||||
|
||||
.SDAI(sdai),
|
||||
.SDAO(sdao),
|
||||
.SDAOE(sdaoe)
|
||||
);
|
||||
|
||||
SB_IO #(
|
||||
.PIN_TYPE(6'b101001),
|
||||
.PULLUP(1'b1)
|
||||
) scl_io (
|
||||
.PACKAGE_PIN(scl),
|
||||
.OUTPUT_ENABLE(scloe),
|
||||
.D_OUT_0(sclo),
|
||||
.D_IN_0(scli)
|
||||
);
|
||||
|
||||
|
||||
SB_IO #(
|
||||
.PIN_TYPE(6'b101001),
|
||||
.PULLUP(1'b1)
|
||||
) sda_io (
|
||||
.PACKAGE_PIN(sda),
|
||||
.OUTPUT_ENABLE(sdaoe),
|
||||
.D_OUT_0(sdao),
|
||||
.D_IN_0(sdai)
|
||||
);
|
||||
|
||||
endmodule
|
||||
Loading…
Reference in New Issue