1 `include "i2c_bridge.v"
15 output exp_pin_3, exp_pin_4,
16 output exp_pin_5, exp_pin_6,
17 output exp_pin_7, exp_pin_8,
29 .out0_hz(16000000),.out0_tol_hz(0) ,
30 .out1_hz(96000000), .out1_deg( 0), .out1_tol_hz(0)//,
31 //.out2_hz(60000000), .out2_deg(180), .out2_tol_hz(0),
39 assign mhz_16 = clocks[0];
40 assign mhz_96 = clocks[1];
43 assign exp_pin_4 = clocks[0];
44 assign exp_pin_8 = clocks[1];
46 assign exp_pin_4 = rtc_scl;
47 assign exp_pin_8 = rtc_sda;
49 assign green_led_d7 = rtc_scl;
50 assign orange_led_d8 = rtc_sda;
51 assign red_led_d5 = tuner_scl;
52 assign yellow_led_d6 = tuner_sda;
55 localparam bridge_clk_div = 3; // div = 1+2^n, 24/(1+2^2)=4 MHz
56 reg [bridge_clk_div:0] bridge_cnt;
57 always @(posedge clk) // 24 MHz
59 if(bridge_cnt[bridge_clk_div])
62 bridge_cnt <= bridge_cnt + 1;
64 wire clk_bridge_en = bridge_cnt[bridge_clk_div];
66 wire [1:0] i2c_sda_i = {rtc_sda, tuner_sda};
68 i2c_bridge i2c_sda_bridge_i
71 .clk_en(clk_bridge_en),
75 assign rtc_sda = i2c_sda_t[1] ? 1'bz : 1'b0;
76 assign tuner_sda = i2c_sda_t[0] ? 1'bz : 1'b0;
78 wire [1:0] i2c_scl_i = {rtc_scl, tuner_scl};
80 i2c_bridge i2c_scl_bridge_i
83 .clk_en(clk_bridge_en),
87 assign rtc_scl = i2c_scl_t[1] ? 1'bz : 1'b0;
88 assign tuner_scl = i2c_scl_t[0] ? 1'bz : 1'b0;