[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Commit-gnuradio] r6524 - gnuradio/branches/developers/matt/u2f/top/u2_b
From: |
matt |
Subject: |
[Commit-gnuradio] r6524 - gnuradio/branches/developers/matt/u2f/top/u2_basic |
Date: |
Mon, 24 Sep 2007 17:25:38 -0600 (MDT) |
Author: matt
Date: 2007-09-24 17:25:38 -0600 (Mon, 24 Sep 2007)
New Revision: 6524
Modified:
gnuradio/branches/developers/matt/u2f/top/u2_basic/u2_basic.v
Log:
added pic and timer, connected interrupts
Modified: gnuradio/branches/developers/matt/u2f/top/u2_basic/u2_basic.v
===================================================================
--- gnuradio/branches/developers/matt/u2f/top/u2_basic/u2_basic.v
2007-09-24 23:24:28 UTC (rev 6523)
+++ gnuradio/branches/developers/matt/u2f/top/u2_basic/u2_basic.v
2007-09-24 23:25:38 UTC (rev 6524)
@@ -135,22 +135,24 @@
wire [dw-1:0] m0_dat_o, m1_dat_o, m0_dat_i, m1_dat_i;
wire [dw-1:0] s0_dat_o, s1_dat_o, s0_dat_i, s1_dat_i, s2_dat_o, s3_dat_o,
s2_dat_i, s3_dat_i,
- s4_dat_o, s5_dat_o, s4_dat_i, s5_dat_i, s6_dat_o, s7_dat_o,
s6_dat_i, s7_dat_i;
- wire [aw-1:0] m0_adr, m1_adr,
s0_adr,s1_adr,s2_adr,s3_adr,s4_adr,s5_adr,s6_adr,s7_adr;
- wire [sw-1:0] m0_sel, m1_sel, s0_sel, s1_sel, s2_sel, s3_sel, s4_sel,
s5_sel, s6_sel, s7_sel;
- wire m0_ack, m1_ack, s0_ack, s1_ack, s2_ack, s3_ack, s4_ack,
s5_ack, s6_ack, s7_ack;
- wire m0_stb, m1_stb, s0_stb, s1_stb, s2_stb, s3_stb, s4_stb,
s5_stb, s6_stb, s7_stb;
- wire m0_cyc, m1_cyc, s0_cyc, s1_cyc, s2_cyc, s3_cyc, s4_cyc,
s5_cyc, s6_cyc, s7_cyc;
- wire m0_err, m1_err, s0_err, s1_err, s2_err, s3_err, s4_err,
s5_err, s6_err, s7_err;
- wire m0_rty, m1_rty, s0_rty, s1_rty, s2_rty, s3_rty, s4_rty,
s5_rty, s6_rty, s7_rty;
- wire m0_we, m1_we, s0_we, s1_we, s2_we, s3_we, s4_we, s5_we, s6_we,
s7_we;
+ s4_dat_o, s5_dat_o, s4_dat_i, s5_dat_i, s6_dat_o, s7_dat_o,
s6_dat_i, s7_dat_i,
+ s8_dat_o, s9_dat_o, s8_dat_i, s9_dat_i;
+ wire [aw-1:0] m0_adr, m1_adr,
s0_adr,s1_adr,s2_adr,s3_adr,s4_adr,s5_adr,s6_adr,s7_adr,s8_adr,s9_adr;
+ wire [sw-1:0] m0_sel, m1_sel, s0_sel, s1_sel, s2_sel, s3_sel, s4_sel,
s5_sel, s6_sel, s7_sel, s8_sel, s9_sel;
+ wire m0_ack, m1_ack, s0_ack, s1_ack, s2_ack, s3_ack, s4_ack,
s5_ack, s6_ack, s7_ack, s8_ack, s9_ack;
+ wire m0_stb, m1_stb, s0_stb, s1_stb, s2_stb, s3_stb, s4_stb,
s5_stb, s6_stb, s7_stb, s8_stb, s9_stb;
+ wire m0_cyc, m1_cyc, s0_cyc, s1_cyc, s2_cyc, s3_cyc, s4_cyc,
s5_cyc, s6_cyc, s7_cyc, s8_cyc, s9_cyc;
+ wire m0_err, m1_err, s0_err, s1_err, s2_err, s3_err, s4_err,
s5_err, s6_err, s7_err, s8_err, s9_err;
+ wire m0_rty, m1_rty, s0_rty, s1_rty, s2_rty, s3_rty, s4_rty,
s5_rty, s6_rty, s7_rty, s8_rty, s9_rty;
+ wire m0_we, m1_we, s0_we, s1_we, s2_we, s3_we, s4_we, s5_we, s6_we,
s7_we, s8_we, s9_we;
wb_1master #(.s0_addr_w(2),.s0_addr(2'b00),.s1_addr_w(2),.s1_addr(2'b01),
-
.s27_addr_w(4),.s2_addr(4'b1000),.s3_addr(4'b1001),.s4_addr(4'b1010),
- .s5_addr(4'b1011),.s6_addr(4'b1100),.s7_addr(4'b1101),
+
.s215_addr_w(5),.s2_addr(5'b10000),.s3_addr(5'b10010),.s4_addr(5'b10100),
+
.s5_addr(5'b10110),.s6_addr(5'b11000),.s7_addr(5'b11010),.s8_addr(5'b11100),.s9_addr(5'b11101),
+
.s10_addr(5'b11111),.s11_addr(5'b11111),.s12_addr(5'b11111),.s13_addr(5'b11111),
+ .s14_addr(5'b11111),.s15_addr(5'b11111),
.dw(dw),.aw(aw),.sw(sw)) wb_1master
- (.clk_i(wb_clk),.rst_i(wb_rst),
-
+ (.clk_i(wb_clk),.rst_i(wb_rst),
.m0_dat_o(m0_dat_o),.m0_ack_o(m0_ack),.m0_err_o(m0_err),.m0_rty_o(m0_rty),.m0_dat_i(m0_dat_i),
.m0_adr_i(m0_adr),.m0_sel_i(m0_sel),.m0_we_i(m0_we),.m0_cyc_i(m0_cyc),.m0_stb_i(m0_stb),
.s0_dat_o(s0_dat_o),.s0_adr_o(s0_adr),.s0_sel_o(s0_sel),.s0_we_o
(s0_we),.s0_cyc_o(s0_cyc),.s0_stb_o(s0_stb),
@@ -168,8 +170,17 @@
.s6_dat_o(s6_dat_o),.s6_adr_o(s6_adr),.s6_sel_o(s6_sel),.s6_we_o
(s6_we),.s6_cyc_o(s6_cyc),.s6_stb_o(s6_stb),
.s6_dat_i(s6_dat_i),.s6_ack_i(s6_ack),.s6_err_i(s6_err),.s6_rty_i(s6_rty),
.s7_dat_o(s7_dat_o),.s7_adr_o(s7_adr),.s7_sel_o(s7_sel),.s7_we_o
(s7_we),.s7_cyc_o(s7_cyc),.s7_stb_o(s7_stb),
- .s7_dat_i(s7_dat_i),.s7_ack_i(s7_ack),.s7_err_i(s7_err),.s7_rty_i(s7_rty)
- );
+
.s7_dat_i(s7_dat_i),.s7_ack_i(s7_ack),.s7_err_i(s7_err),.s7_rty_i(s7_rty),
+ .s8_dat_o(s8_dat_o),.s8_adr_o(s8_adr),.s8_sel_o(s8_sel),.s8_we_o
(s8_we),.s8_cyc_o(s8_cyc),.s8_stb_o(s8_stb),
+
.s8_dat_i(s8_dat_i),.s8_ack_i(s8_ack),.s8_err_i(s8_err),.s8_rty_i(s8_rty),
+ .s9_dat_o(s9_dat_o),.s9_adr_o(s9_adr),.s9_sel_o(s9_sel),.s9_we_o
(s9_we),.s9_cyc_o(s9_cyc),.s9_stb_o(s9_stb),
+
.s9_dat_i(s9_dat_i),.s9_ack_i(s9_ack),.s9_err_i(s9_err),.s9_rty_i(s9_rty),
+ .s10_dat_i(0),.s10_ack_i(0),.s10_err_i(0),.s10_rty_i(0),
+ .s11_dat_i(0),.s11_ack_i(0),.s11_err_i(0),.s11_rty_i(0),
+ .s12_dat_i(0),.s12_ack_i(0),.s12_err_i(0),.s12_rty_i(0),
+ .s13_dat_i(0),.s13_ack_i(0),.s13_err_i(0),.s13_rty_i(0),
+ .s14_dat_i(0),.s14_ack_i(0),.s14_err_i(0),.s14_rty_i(0),
+ .s15_dat_i(0),.s15_ack_i(0),.s15_err_i(0),.s15_rty_i(0) );
//////////////////////////////////////////////////////////////////////////////////////////
// Reset Controller
@@ -185,7 +196,7 @@
wire [aw-1:0] iram_wr_adr, iram_rd_adr;
wire [dw-1:0] iram_wr_dat, iram_rd_dat;
- wire bus_error, proc_int;
+ wire bus_error, spi_int, i2c_int, timer_int, buffer_int, proc_int;
assign iram_rd_ack = ram_loader_done ? iram_ack : 1'b0;
assign iram_wr_ack = ram_loader_done ? 1'b0 : iram_ack;
@@ -255,7 +266,7 @@
.stream_clk(dsp_clk), .stream_rst(dsp_rst),
.set_stb(set_stb), .set_addr(set_addr), .set_data(set_data),
- .status(status),.sys_int_o(proc_int),
+ .status(status),.sys_int_o(buffer_int),
.s0(status_b0),.s1(status_b1),.s2(status_b2),.s3(status_b3),
.s4(status_b4),.s5(status_b5),.s6(status_b6),.s7(status_b7),
@@ -285,7 +296,7 @@
(.wb_clk_i(wb_clk),.wb_rst_i(wb_rst),.wb_adr_i(s2_adr[4:0]),.wb_dat_i(s2_dat_o),.wb_dat_o(s2_dat_i),
.wb_sel_i(s2_sel),.wb_we_i(s2_we),.wb_stb_i(s2_stb),.wb_cyc_i(s2_cyc),.wb_ack_o(s2_ack),
- .wb_err_o(s2_err),.wb_int_o(s2_int),
+ .wb_err_o(s2_err),.wb_int_o(spi_int),
.ss_pad_o({sen_tx_db,sen_tx_adc,sen_tx_dac,sen_rx_db,sen_rx_adc,sen_rx_dac,sen_dac,sen_clk}),
.sclk_pad_o(sclk),.mosi_pad_o(mosi),.miso_pad_i(miso) );
@@ -296,7 +307,7 @@
i2c (.wb_clk_i(wb_clk),.wb_rst_i(wb_rst),.arst_i(1'b0),
.wb_adr_i(s3_adr[2:0]),.wb_dat_i(s3_dat_o[7:0]),.wb_dat_o(s3_dat_i[7:0]),
.wb_we_i(s3_we),.wb_stb_i(s3_stb),.wb_cyc_i(s3_cyc),
- .wb_ack_o(s3_ack),.wb_inta_o(s3_int),
+ .wb_ack_o(s3_ack),.wb_inta_o(i2c_int),
.scl_pad_i(scl_pad_i),.scl_pad_o(scl_pad_o),.scl_padoen_o(scl_pad_oen_o),
.sda_pad_i(sda_pad_i),.sda_pad_o(sda_pad_o),.sda_padoen_o(sda_pad_oen_o) );
@@ -379,7 +390,7 @@
.in(set_data),.out(misc_outs),.changed());
// /////////////////////////////////////////////////////////////////////////
- // Ethernet MAC
+ // Ethernet MAC Slave #6
wire Tx_mac_wa, Tx_mac_wr, Tx_mac_sop, Tx_mac_eop;
wire Rx_mac_ra, Rx_mac_rd, Rx_mac_sop, Rx_mac_eop, Rx_mac_pa,
Rx_mac_err;
@@ -418,17 +429,28 @@
.rd_dat_i(rd2_dat),.rd_read_o(rd2_read),.rd_done_o(rd2_done),
.rd_error_o(rd2_error),.rd_sop_i(rd2_sop),.rd_eop_i(rd2_eop) );
+ // /////////////////////////////////////////////////////////////////////////
+ // Interrupt Controller, Slave #8
+
+ simple_pic simple_pic
+
(.clk_i(wb_clk),.rst_i(wb_rst),.cyc_i(s8_cyc),.stb_i(s8_stb),.adr_i(s8_adr[1:0]),
+
.we_i(s8_we),.dat_i(s8_dat_o[7:0]),.dat_o(s8_dat_i[7:0]),.ack_o(s8_ack),.int_o(proc_int),
+ .irq({3'b000,PHY_INTn,i2c_int,spi_int,timer_int,buffer_int}) );
+ assign s8_dat_i[31:8] = 0;
+
+ // /////////////////////////////////////////////////////////////////////////
+ // Master Timer, Slave #9
+ wire [31:0] master_time;
+ timer timer
+ (.wb_clk_i(wb_clk),.rst_i(wb_rst),
+ .cyc_i(s9_cyc),.stb_i(s9_stb),.adr_i(s9_adr[2:0]),
+ .we_i(s9_we),.dat_i(s9_dat_o),.dat_o(s9_dat_i),.ack_o(s9_ack),
+ .sys_clk_i(dsp_clk),.master_time_o(master_time),.int_o(timer_int) );
+
// /////////////////////////////////////////////////////////////////////////
// DSP
- reg [31:0] master_time;
- always @(posedge dsp_clk)
- if(dsp_rst)
- master_time <= 0;
- else
- master_time <= master_time + 1;
-
reg [13:0] adc_a_reg1, adc_b_reg1, adc_a_reg2, adc_b_reg2;
reg adc_ovf_a_reg1, adc_ovf_a_reg2, adc_ovf_b_reg1,
adc_ovf_b_reg2;
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Commit-gnuradio] r6524 - gnuradio/branches/developers/matt/u2f/top/u2_basic,
matt <=