commit-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Commit-gnuradio] r5032 - gnuradio/branches/developers/matt/u2f/boot_cpl


From: matt
Subject: [Commit-gnuradio] r5032 - gnuradio/branches/developers/matt/u2f/boot_cpld
Date: Tue, 17 Apr 2007 02:07:33 -0600 (MDT)

Author: matt
Date: 2007-04-17 02:07:33 -0600 (Tue, 17 Apr 2007)
New Revision: 5032

Modified:
   gnuradio/branches/developers/matt/u2f/boot_cpld/boot_cpld.ise
   gnuradio/branches/developers/matt/u2f/boot_cpld/boot_cpld.v
Log:
partially integrated the opencore spi boot logic


Modified: gnuradio/branches/developers/matt/u2f/boot_cpld/boot_cpld.ise
===================================================================
(Binary files differ)

Modified: gnuradio/branches/developers/matt/u2f/boot_cpld/boot_cpld.v
===================================================================
--- gnuradio/branches/developers/matt/u2f/boot_cpld/boot_cpld.v 2007-04-17 
08:06:24 UTC (rev 5031)
+++ gnuradio/branches/developers/matt/u2f/boot_cpld/boot_cpld.v 2007-04-17 
08:07:33 UTC (rev 5032)
@@ -26,39 +26,82 @@
    input CLK_25MHZ;
    output CLK_25MHZ_EN;
    output [2:0] LED;
-   output      SPI_CPLD_CLK;   // temporary, for clock bootstrapping
-   input       SPI_CPLD_DIN;
-   input       SPI_CPLD_DOUT;
-   input       SPI_CPLD_EN;
-   input       SD_nCS;
-   input       SD_Din;
-   input       SD_CLK;
-   input       SD_Dout;
-   input       SD_DAT1;
-   input       SD_DAT2;
-   input       CFG_INIT_B;
-   input       CFG_Din;
    output [10:0] DEBUG;
    input        POR;
-   input        CFG_CCLK;
+   
+   // To FPGA data interface
+   output       SPI_CPLD_CLK;   // temporary, for clock bootstrapping
+   input        SPI_CPLD_DIN;
+   input        SPI_CPLD_DOUT;
+   input        SPI_CPLD_EN;
+   
+   // To SD Card
+   output       SD_nCS;
+   output       SD_Din;
+   output       SD_CLK;
+   input        SD_Dout;
+   input        SD_DAT1;  // Unused
+   input        SD_DAT2;  // Unused
+   
+   // To FPGA Config Interface
+   input        CFG_INIT_B;
+   output       CFG_Din;
+   output       CFG_CCLK;
    input        CFG_DONE;
-   input        CFG_PROG_B;
-
+   output       CFG_PROG_B;
+   
    assign       CLK_25MHZ_EN = 1'b1;
+   
+   assign       LED[0] = 1'b0;
+   assign       LED[1] = 1'b1;
+   assign       LED[2] = 1'b0;
+   
+   assign       SPI_CPLD_CLK = CLK_25MHZ;
 
-   reg [23:0]   counter;
+   wire         start, mode, detached, dat_done, en_outs;
+   wire [3:0]   set_sel = 4'd0;
 
-   always @(posedge CLK_25MHZ)
-     counter <= #1 counter + 24'd1;
+   assign       debug = { /* start, mode,*/ detached, dat_done, 
+                         SD_CLK, SD_nCS, SD_Dout, SD_Din, 
+                         CFG_PROG_B, CFG_INIT_B, CFG_DONE, CFG_CCLK, CFG_Din};
 
-   assign       LED[0] = 1'b0;
-   assign       LED[1] = 1'b0;
-   assign       LED[2] = counter[23];
-
-   assign       DEBUG = counter[23:13];
-
-   assign       SPI_CPLD_CLK = CLK_25MHZ;
+   //  Control signals, need to figure out how to drive these
+   assign       start = SPI_CPLD_DOUT;   // This is the important one
+   assign       dat_done = SPI_CPLD_DIN;
+   assign       mode = SPI_CPLD_EN;
+        
+   spi_boot #(.width_set_sel_g(4),  // How many sets (16)
+             .width_bit_cnt_g(6),  // Block length (12 is faster, 6 is minimum)
+             .width_img_cnt_g(2),  // How many images per set
+             .num_bits_per_img_g(18), // 256 kb Image size, probably needs to 
be bigger than 18
+             .sd_init_g(1),           // SD-specific initialization
+             .mmc_compat_clk_div_g(0),// No MMC support
+             .width_mmc_clk_div_g(0), // No MMC support
+             .reset_level_g(0))       // Active low reset
+     
+     spi_boot(.clk_i(CLK_25MHZ), 
+             .reset_i(POR),
+             
+             // To SD Card
+             .spi_clk_o(SD_CLK), 
+             .spi_cs_n_o(SD_nCS),
+             .spi_data_in_i(SD_Dout), 
+             .spi_data_out_o(SD_Din), 
+             .spi_en_outs_o(en_outs), 
+             
+             // Data Port
+             .start_i(start),
+             .mode_i(mode), // 0->conf mode, 1->data mode  
+             .detached_o(detached), 
+             .dat_done_i(dat_done), 
+             .set_sel_i(set_sel),
+             
+             // To FPGA
+             .config_n_o(CFG_PROG_B), 
+             .cfg_init_n_i(CFG_INIT_B), 
+             .cfg_done_i(CFG_DONE), 
+             .cfg_clk_o(CFG_CCLK), 
+             .cfg_dat_o(CFG_Din)
+             );
    
-
 endmodule // boot_cpld
-





reply via email to

[Prev in Thread] Current Thread [Next in Thread]