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

Subversion Repositories versatile_library

[/] [versatile_library/] [trunk/] [rtl/] [verilog/] [versatile_library_actel.v] - Diff between revs 31 and 32

Go to most recent revision | Show entire file | Details | Blame | View Log

Rev 31 Rev 32
Line 77... Line 77...
else
else
        tmp <= {1'b0,tmp[0]};
        tmp <= {1'b0,tmp[0]};
vl_gbuf buf_i0( .i(tmp[0]), .o(rst_o));
vl_gbuf buf_i0( .i(tmp[0]), .o(rst_o));
endmodule
endmodule
// vl_pll
// vl_pll
 
///////////////////////////////////////////////////////////////////////////////
`timescale 1 ps/1 ps
`timescale 1 ps/1 ps
module vl_pll ( clk_i, rst_n_i, lock, clk_o, rst_o);
module vl_pll ( clk_i, rst_n_i, lock, clk_o, rst_o);
parameter index = 0;
parameter index = 0;
parameter number_of_clk = 1;
parameter number_of_clk = 1;
parameter period_time_0 = 20000;
parameter period_time_0 = 20000;
Line 163... Line 164...
        vl_sync_rst rst_i0 ( .rst_n_i(rst_n_i | lock), .rst_o(rst_o), .clk(clk_o[i]));
        vl_sync_rst rst_i0 ( .rst_n_i(rst_n_i | lock), .rst_o(rst_o), .clk(clk_o[i]));
end
end
endgenerate
endgenerate
endmodule
endmodule
`endif
`endif
 
///////////////////////////////////////////////////////////////////////////////
 //actel
 //actel
//////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////
////                                                              ////
////                                                              ////
////  Versatile library, registers                                ////
////  Versatile library, registers                                ////
////                                                              ////
////                                                              ////
Line 2958... Line 2960...
        wb_ack <= wb_stb_i & wb_cyc_i & hit & !wb_ack;
        wb_ack <= wb_stb_i & wb_cyc_i & hit & !wb_ack;
assign hit_o = hit;
assign hit_o = hit;
assign wb_dat_o = wb_dat & {32{wb_ack}};
assign wb_dat_o = wb_dat & {32{wb_ack}};
assign wb_ack_o = wb_ack;
assign wb_ack_o = wb_ack;
endmodule
endmodule
 
module vl_wb_dpram (
 
        // wishbone slave side a
 
        wbsa_dat_i, wbsa_adr_i, wbsa_we_i, wbsa_cyc_i, wbsa_stb_i, wbsa_dat_o, wbsa_ack_o,
 
        wbsa_clk, wbsa_rst,
 
        // wishbone slave side a
 
        wbsb_dat_i, wbsb_adr_i, wbsb_we_i, wbsb_cyc_i, wbsb_stb_i, wbsb_dat_o, wbsb_ack_o,
 
        wbsb_clk, wbsb_rst);
 
parameter data_width = 32;
 
parameter addr_width = 8;
 
parameter dat_o_mask_a = 1;
 
parameter dat_o_mask_b = 1;
 
input [31:0] wbsa_dat_i;
 
input [addr_width-1:2] wbsa_adr_i;
 
input wbsa_we_i, wbsa_cyc_i, wbsa_stb_i;
 
output [31:0] wbsa_dat_o;
 
output wbsa_ack_o;
 
input wbsa_clk, wbsa_rst;
 
input [31:0] wbsb_dat_i;
 
input [addr_width-1:2] wbsb_adr_i;
 
input wbsb_we_i, wbsb_cyc_i, wbsb_stb_i;
 
output [31:0] wbsb_dat_o;
 
output wbsb_ack_o;
 
input wbsb_clk, wbsb_rst;
 
wire wbsa_dat_tmp, wbsb_dat_tmp;
 
vl_dpram_2r2w # (
 
    .data_width(data_width), addr_width(addr_width) )
 
dpram0(
 
    .d_a(wbsa_dat_i),
 
    .q_a(wbsa_dat_tmp),
 
    .adr_a(wbsa_adr_i),
 
    .we_a(wbsa_we_i),
 
    .clk_a(wbsa_clk),
 
    .d_b(wbsb_dat_i),
 
    .q_b(wbsb_dat_tmp),
 
    .adr_b(wbsb_adr_i),
 
    .we_b(wbsb_we_i),
 
    .clk_b(wbsb_clk) );
 
if (dat_o_mask_a==1) generate
 
    assign wbsa_dat_o = wbsa_dat_tmp & {data_width{wbsa_ack_o}};
 
endgenerate
 
if (dat_o_mask_a==0) generate
 
    assign wbsa_dat_o = wbsa_dat_tmp;
 
endgenerate
 
if (dat_o_mask_b==1) generate
 
    assign wbsb_dat_o = wbsb_dat_tmp & {data_width{wbsb_ack_o}};
 
endgenerate
 
if (dat_o_mask_b==0) generate
 
    assign wbsb_dat_o = wbsb_dat_tmp;
 
endgenerate
 
vl_spr ack_a( .sp(wbsa_cyc_i & wbsa_stb_i & !wbsa_ack_o), .r(1'b1), .q(wbsa_ack_o), .clk(wbsa_clk), .rst(wbsa_rst));
 
vl_spr ack_b( .sp(wbsb_cyc_i & wbsb_stb_i & !wbsb_ack_o), .r(1'b1), .q(wbsb_ack_o), .clk(wbsb_clk), .rst(wbsb_rst));
 
endmodule
//////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////
////                                                              ////
////                                                              ////
////  Arithmetic functions                                        ////
////  Arithmetic functions                                        ////
////                                                              ////
////                                                              ////
////  Description                                                 ////
////  Description                                                 ////

powered by: WebSVN 2.1.0

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