3 `include "i2c_bridge.v"
18 output exp_pin_3, exp_pin_4,
19 output exp_pin_5, exp_pin_6,
20 output exp_pin_7, exp_pin_8,
22 input spi_sclk, spi_mosi, spi_cs0,
25 input a2dq2, a2dq3, a2dq4, a2dq5, a2dq6, a2dq7, a2dq8, a2dq9, a2dq10, a2dq11, a2dq12, a2dq13,
38 .out0_hz(16000000),.out0_tol_hz(0) ,
39 .out1_hz(96000000), .out1_deg( 0), .out1_tol_hz(0),
40 .out2_hz(192000000), .out2_deg(0), .out2_tol_hz(0)
48 assign mhz_16 = clocks[0];
49 assign mhz_96 = clocks[1];
52 assign exp_pin_4 = clocks[0];
53 assign exp_pin_8 = clocks[1];
55 assign exp_pin_4 = rtc_scl;
56 assign exp_pin_8 = rtc_sda;
59 assign green_led_d7 = rtc_scl;
60 assign orange_led_d8 = rtc_sda;
61 assign red_led_d5 = tuner_scl;
62 assign yellow_led_d6 = tuner_sda;
64 assign green_led_d7 = 0;
65 assign orange_led_d8 = 0;
66 //assign red_led_d5 = tuner_scl;
67 assign yellow_led_d6 = 0;
69 localparam bridge_clk_div = 3; // div = 1+2^n, 24/(1+2^2)=4 MHz
70 reg [bridge_clk_div:0] bridge_cnt;
71 always @(posedge clk) // 24 MHz
73 if(bridge_cnt[bridge_clk_div])
76 bridge_cnt <= bridge_cnt + 1;
78 wire clk_bridge_en = bridge_cnt[bridge_clk_div];
80 wire [1:0] i2c_sda_i = {rtc_sda, tuner_sda};
82 i2c_bridge i2c_sda_bridge_i
85 .clk_en(clk_bridge_en),
89 assign rtc_sda = i2c_sda_t[1] ? 1'bz : 1'b0;
90 assign tuner_sda = i2c_sda_t[0] ? 1'bz : 1'b0;
92 wire [1:0] i2c_scl_i = {rtc_scl, tuner_scl};
94 i2c_bridge i2c_scl_bridge_i
97 .clk_en(clk_bridge_en),
101 assign rtc_scl = i2c_scl_t[1] ? 1'bz : 1'b0;
102 assign tuner_scl = i2c_scl_t[0] ? 1'bz : 1'b0;