OpenCores
URL https://opencores.org/ocsvn/yifive/yifive/trunk

Subversion Repositories yifive

Compare Revisions

  • This comparison shows the changes necessary to convert path
    /yifive
    from Rev 18 to Rev 17
    Reverse comparison

Rev 18 → Rev 17

trunk/caravel_yifive/openlane/spi_master/config.tcl Property changes : Deleted: svn:executable ## -1 +0,0 ## -* \ No newline at end of property Index: trunk/caravel_yifive/openlane/syntacore/config.tcl =================================================================== --- trunk/caravel_yifive/openlane/syntacore/config.tcl (revision 18) +++ trunk/caravel_yifive/openlane/syntacore/config.tcl (revision 17) @@ -3,7 +3,7 @@ set script_dir [file dirname [file normalize [info script]]] # Name -set ::env(DESIGN_NAME) scr1_top_wb +set ::env(DESIGN_NAME) scr1_top_axi # This is macro set ::env(DESIGN_IS_CORE) 0 @@ -26,36 +26,34 @@ # Local sources + no2usb sources set ::env(VERILOG_FILES) "\ - $script_dir/../../verilog/rtl/syntacore/scr1/src/core/pipeline/scr1_pipe_top.sv \ - $script_dir/../../verilog/rtl/syntacore/scr1/src/core/scr1_core_top.sv \ - $script_dir/../../verilog/rtl/syntacore/scr1/src/core/scr1_dm.sv \ - $script_dir/../../verilog/rtl/syntacore/scr1/src/core/scr1_tapc_synchronizer.sv \ - $script_dir/../../verilog/rtl/syntacore/scr1/src/core/scr1_clk_ctrl.sv \ - $script_dir/../../verilog/rtl/syntacore/scr1/src/core/scr1_scu.sv \ - $script_dir/../../verilog/rtl/syntacore/scr1/src/core/scr1_tapc.sv \ - $script_dir/../../verilog/rtl/syntacore/scr1/src/core/scr1_tapc_shift_reg.sv \ - $script_dir/../../verilog/rtl/syntacore/scr1/src/core/scr1_dmi.sv \ - $script_dir/../../verilog/rtl/syntacore/scr1/src/core/primitives/scr1_reset_cells.sv \ - $script_dir/../../verilog/rtl/syntacore/scr1/src/core/pipeline/scr1_pipe_ifu.sv \ - $script_dir/../../verilog/rtl/syntacore/scr1/src/core/pipeline/scr1_pipe_idu.sv \ - $script_dir/../../verilog/rtl/syntacore/scr1/src/core/pipeline/scr1_pipe_exu.sv \ - $script_dir/../../verilog/rtl/syntacore/scr1/src/core/pipeline/scr1_pipe_mprf.sv \ - $script_dir/../../verilog/rtl/syntacore/scr1/src/core/pipeline/scr1_pipe_csr.sv \ - $script_dir/../../verilog/rtl/syntacore/scr1/src/core/pipeline/scr1_pipe_ialu.sv \ - $script_dir/../../verilog/rtl/syntacore/scr1/src/core/pipeline/scr1_pipe_lsu.sv \ - $script_dir/../../verilog/rtl/syntacore/scr1/src/core/pipeline/scr1_pipe_hdu.sv \ - $script_dir/../../verilog/rtl/syntacore/scr1/src/core/pipeline/scr1_pipe_tdu.sv \ - $script_dir/../../verilog/rtl/syntacore/scr1/src/core/pipeline/scr1_ipic.sv \ - $script_dir/../../verilog/rtl/syntacore/scr1/src/top/scr1_dmem_router.sv \ - $script_dir/../../verilog/rtl/syntacore/scr1/src/top/scr1_imem_router.sv \ - $script_dir/../../verilog/rtl/syntacore/scr1/src/top/scr1_tcm.sv \ - $script_dir/../../verilog/rtl/syntacore/scr1/src/top/scr1_timer.sv \ - $script_dir/../../verilog/rtl/syntacore/scr1/src/top/scr1_top_wb.sv \ - $script_dir/../../verilog/rtl/syntacore/scr1/src/top/scr1_dmem_wb.sv \ - $script_dir/../../verilog/rtl/syntacore/scr1/src/top/scr1_imem_wb.sv \ - $script_dir/../../verilog/rtl/lib/sync_fifo.sv " + $script_dir/../../verilog/rtl/syntacore_scr1/src/core/pipeline/scr1_pipe_top.sv \ + $script_dir/../../verilog/rtl/syntacore_scr1/src/core/scr1_core_top.sv \ + $script_dir/../../verilog/rtl/syntacore_scr1/src/core/scr1_dm.sv \ + $script_dir/../../verilog/rtl/syntacore_scr1/src/core/scr1_tapc_synchronizer.sv \ + $script_dir/../../verilog/rtl/syntacore_scr1/src/core/scr1_clk_ctrl.sv \ + $script_dir/../../verilog/rtl/syntacore_scr1/src/core/scr1_scu.sv \ + $script_dir/../../verilog/rtl/syntacore_scr1/src/core/scr1_tapc.sv \ + $script_dir/../../verilog/rtl/syntacore_scr1/src/core/scr1_tapc_shift_reg.sv \ + $script_dir/../../verilog/rtl/syntacore_scr1/src/core/scr1_dmi.sv \ + $script_dir/../../verilog/rtl/syntacore_scr1/src/core/primitives/scr1_reset_cells.sv \ + $script_dir/../../verilog/rtl/syntacore_scr1/src/core/pipeline/scr1_pipe_ifu.sv \ + $script_dir/../../verilog/rtl/syntacore_scr1/src/core/pipeline/scr1_pipe_idu.sv \ + $script_dir/../../verilog/rtl/syntacore_scr1/src/core/pipeline/scr1_pipe_exu.sv \ + $script_dir/../../verilog/rtl/syntacore_scr1/src/core/pipeline/scr1_pipe_mprf.sv \ + $script_dir/../../verilog/rtl/syntacore_scr1/src/core/pipeline/scr1_pipe_csr.sv \ + $script_dir/../../verilog/rtl/syntacore_scr1/src/core/pipeline/scr1_pipe_ialu.sv \ + $script_dir/../../verilog/rtl/syntacore_scr1/src/core/pipeline/scr1_pipe_lsu.sv \ + $script_dir/../../verilog/rtl/syntacore_scr1/src/core/pipeline/scr1_pipe_hdu.sv \ + $script_dir/../../verilog/rtl/syntacore_scr1/src/core/pipeline/scr1_pipe_tdu.sv \ + $script_dir/../../verilog/rtl/syntacore_scr1/src/core/pipeline/scr1_ipic.sv \ + $script_dir/../../verilog/rtl/syntacore_scr1/src/top/scr1_dmem_router.sv \ + $script_dir/../../verilog/rtl/syntacore_scr1/src/top/scr1_imem_router.sv \ + $script_dir/../../verilog/rtl/syntacore_scr1/src/top/scr1_tcm.sv \ + $script_dir/../../verilog/rtl/syntacore_scr1/src/top/scr1_timer.sv \ + $script_dir/../../verilog/rtl/syntacore_scr1/src/top/scr1_top_axi.sv \ + $script_dir/../../verilog/rtl/syntacore_scr1/src/top/scr1_mem_axi.sv " -set ::env(VERILOG_INCLUDE_DIRS) [glob $script_dir/../../verilog/rtl/syntacore/scr1/src/includes ] +set ::env(VERILOG_INCLUDE_DIRS) [glob $script_dir/../../verilog/rtl/syntacore_scr1/src/includes ] #set ::env(SYNTH_DEFINES) [list SCR1_DBG_EN ]
/trunk/caravel_yifive/verilog/rtl/lib/sync_fifo.sv
60,13 → 60,14
);
 
 
reg [DATA_WIDTH-1:0] ram [FIFO_DEPTH-1:0];
reg [DATA_WIDTH-1:0] ram [FIFO_DEPTH-1:0];
reg [ADDR_WIDTH-1:0] wptr; // write ptr
reg [ADDR_WIDTH-1:0] rptr; // write ptr
reg [ADDR_WIDTH:0] status_cnt; // status counter
reg empty;
reg full;
 
//-----------Variable assignments---------------
assign full = (status_cnt == FIFO_DEPTH);
assign empty = (status_cnt == 0);
//-----------Code Start---------------------------
always @ (negedge rstn or posedge clk)
100,37 → 101,7
end
end
 
// underflow is not handled
always @ (negedge rstn or posedge clk)
begin : EMPTY_FLAG
if (rstn==1'b0) begin
empty <= 1;
// Read but no write.
end else if (rd_en && (!wr_en) && (status_cnt == 1)) begin
empty <= 1;
// Write
end else if (wr_en) begin
empty <= 0;
end else if (status_cnt == 0) begin
empty <= 1;
end
end
 
// overflow is not handled
always @ (negedge rstn or posedge clk)
begin : FULL_FLAG
if (rstn==1'b0) begin
full <= 0;
// Write but no read.
end else if (wr_en && (!rd_en) && (status_cnt == (FIFO_DEPTH-1))) begin
full <= 1;
// Read
end else if (rd_en && (!wr_en) ) begin
full <= 0;
end else if (status_cnt == FIFO_DEPTH) begin
full <= 1;
end
end
assign dout = ram[rptr];
 
always @ (posedge clk)

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.