diff options
author | matt <matt@221aa14e-8319-0410-a670-987f0aec2ac5> | 2008-10-11 23:04:06 +0000 |
---|---|---|
committer | matt <matt@221aa14e-8319-0410-a670-987f0aec2ac5> | 2008-10-11 23:04:06 +0000 |
commit | 5fa9cd632b0d889256985b61ec67184c3a98909c (patch) | |
tree | e5f9afdc30552c1584ab7250872bd02427a9ea8e /control_lib | |
parent | dda45990b4763d883156e87b75c1c7403350bee5 (diff) | |
download | uhd-5fa9cd632b0d889256985b61ec67184c3a98909c.tar.gz uhd-5fa9cd632b0d889256985b61ec67184c3a98909c.tar.bz2 uhd-5fa9cd632b0d889256985b61ec67184c3a98909c.zip |
New serdes status interrupt, clk_status interrupt. New capability to flush the ICache.
git-svn-id: http://gnuradio.org/svn/gnuradio/trunk@9779 221aa14e-8319-0410-a670-987f0aec2ac5
Diffstat (limited to 'control_lib')
-rw-r--r-- | control_lib/icache.v | 5 | ||||
-rw-r--r-- | control_lib/ram_harv_cache.v | 7 |
2 files changed, 8 insertions, 4 deletions
diff --git a/control_lib/icache.v b/control_lib/icache.v index dd93c88ed..bd21f47cc 100644 --- a/control_lib/icache.v +++ b/control_lib/icache.v @@ -11,7 +11,8 @@ module icache output iwb_ack_o, input [31:0] iram_dat_i, output [AWIDTH-1:0] iram_adr_o, - output iram_en_o ); + output iram_en_o, + input flush); localparam TAGWIDTH = AWIDTH-CWIDTH-2; reg stb_d1, ack_d1, miss_d1; @@ -28,7 +29,7 @@ module icache // Write into cache integer i; always @(posedge wb_clk_i) - if(wb_rst_i) + if(wb_rst_i | flush) for(i=0;i<(1<<CWIDTH);i=i+1) ivalid[i] <= 0; else diff --git a/control_lib/ram_harv_cache.v b/control_lib/ram_harv_cache.v index 933f9ba1a..29fdebf7a 100644 --- a/control_lib/ram_harv_cache.v +++ b/control_lib/ram_harv_cache.v @@ -25,7 +25,9 @@ module ram_harv_cache input dwb_we_i, output dwb_ack_o, input dwb_stb_i, - input [3:0] dwb_sel_i ); + input [3:0] dwb_sel_i, + + input flush_icache ); wire [31:0] iram_dat, dram_dat_i, dram_dat_o; wire [AWIDTH-1:0] iram_adr, dram_adr; @@ -60,7 +62,8 @@ module ram_harv_cache icache(.wb_clk_i(wb_clk_i),.wb_rst_i(wb_rst_i), .iwb_adr_i(iwb_adr_i),.iwb_stb_i(iwb_stb_i), .iwb_dat_o(iwb_dat_o),.iwb_ack_o(iwb_ack_o), - .iram_dat_i(iram_dat),.iram_adr_o(iram_adr),.iram_en_o(iram_en) ); + .iram_dat_i(iram_dat),.iram_adr_o(iram_adr),.iram_en_o(iram_en), + .flush(flush_icache)); // RAM loader assign ram_loader_ack_o = ram_loader_stb_i; |