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

Subversion Repositories apb_mstr

Compare Revisions

  • This comparison shows the changes necessary to convert path
    /
    from Rev 4 to Rev 5
    Reverse comparison

Rev 4 → Rev 5

/apb_mstr/trunk/run/run.bat
1,6 → 1,4
 
echo off
 
..\..\..\robust.exe ../src/base/apb_master.v -od out -I ../src/gen -list list.txt -listpath -header
 
echo Completed RobustVerilog APB master run - results in run/out/
..\..\..\robust.exe ../src/base/apb_master.v -od out -I ../src/gen -list list.txt -listpath -header -gui -debug
/apb_mstr/trunk/run/run.sh
1,5 → 1,3
#!/bin/bash
 
../../../robust ../src/base/apb_master.v -od out -I ../src/gen -list list.txt -listpath -header ${@}
 
echo Completed RobustVerilog APB master run - results in run/out/
../../../robust ../src/base/apb_master.v -od out -I ../src/gen -list list.txt -listpath -header -gui ${@}
/apb_mstr/trunk/src/base/axi2apb_rd.v
28,9 → 28,9
//////////////////////////////////////////////////////////////////##>
 
INCLUDE def_axi2apb.txt
OUTFILE PREFIX_axi2apb_rd.v
OUTFILE PREFIX_rd.v
 
module PREFIX_axi2apb_rd (PORTS);
module PREFIX_rd (PORTS);
 
input clk;
input reset;
/apb_mstr/trunk/src/base/def_apb_master_static.txt
26,21 → 26,25
//// details. http://www.gnu.org/licenses/lgpl.html ////
//// ////
//////////////////////////////////////////////////////////////////##>
 
INCLUDE def_axi_master.txt
 
SWAP.GLOBAL DATA_BITS 32 ##AXI and APB data bits
SWAP.GLOBAL ID_NUM 1 ##Number of IDs (internal masters)
SWAP.GLOBAL ID0_VAL ID_BITS'b0000 ##AXI ID0
 
GROUP STUB_AXI_A overrides {
ID ID_BITS output
ADDR ADDR_BITS output
LEN LEN_BITS output
SIZE SIZE_BITS output
VALID 1 output
READY 1 input
}
 
 
ENDUSER ##don't use AXI master USER params in gui
INCLUDE def_axi_master.txt
STARTUSER
 
SWAP MODEL_NAME APB master stub
SWAP.GLOBAL DATA_BITS 32 ##AXI and APB data bits
SWAP.GLOBAL ID_NUM 1 ##Number of IDs (internal masters)
SWAP.GLOBAL ID0_VAL ID_BITS'b0000 ##AXI ID0
 
GROUP STUB_AXI_A overrides {
ID ID_BITS output
ADDR ADDR_BITS output
LEN LEN_BITS output
SIZE SIZE_BITS output
VALID 1 output
READY 1 input
}
 
/apb_mstr/trunk/src/base/apb_master.v
65,13 → 65,13
//////////////////////////////////////
 
 
OUTFILE apb_master.v
OUTFILE PREFIX.v
 
INCLUDE def_apb_master.txt
 
VERIFY (DATA_BITS==32) else only 32 bit data supported
module apb_master(PORTS);
module PREFIX(PORTS);
 
input clk;
99,18 → 99,18
initial
begin
#1;
apb_master_axi_master.enable_all;
apb_master_axi_master.use_addr_base=1;
apb_master_axi_master.len_min=0;
apb_master_axi_master.len_max=0;
apb_master_axi_master.size_min=2;
apb_master_axi_master.size_max=2;
PREFIX_axi_master.enable_all;
PREFIX_axi_master.use_addr_base=1;
PREFIX_axi_master.len_min=0;
PREFIX_axi_master.len_max=0;
PREFIX_axi_master.size_min=2;
PREFIX_axi_master.size_max=2;
end
CREATE axi_master.v DEFCMD(SWAP.GLOBAL CONST(PREFIX) apb_master_axi_master)
CREATE axi_master.v DEFCMD(SWAP.GLOBAL CONST(PREFIX) PREFIX_axi_master)
apb_master_axi_master apb_master_axi_master(
PREFIX_axi_master PREFIX_axi_master(
.clk(clk),
.reset(reset),
.GROUP_STUB_AXI(GROUP_STUB_AXI),
118,9 → 118,9
);
 
CREATE axi2apb.v DEFCMD(SWAP CONST(SLAVE_NUM) 1) DEFCMD(SWAP.GLOBAL CONST(PREFIX) apb_master)
CREATE axi2apb.v DEFCMD(SWAP CONST(SLAVE_NUM) 1) DEFCMD(SWAP.GLOBAL CONST(PREFIX) PREFIX_axi2apb)
 
apb_master_axi2apb apb_master_axi2apb(
PREFIX_axi2apb PREFIX_axi2apb(
.clk(clk),
.reset(reset),
.GROUP_STUB_AXI(GROUP_STUB_AXI),
140,7 → 140,7
input [ADDR_BITS-1:0] addr;
input [DATA_BITS-1:0] wdata;
begin
apb_master_axi_master.write_single(0, addr, wdata);
PREFIX_axi_master.write_single(0, addr, wdata);
end
endtask
 
148,7 → 148,7
input [ADDR_BITS-1:0] addr;
output [DATA_BITS-1:0] rdata;
begin
apb_master_axi_master.read_single(0, addr, rdata);
PREFIX_axi_master.read_single(0, addr, rdata);
end
endtask
 
156,7 → 156,7
input [ADDR_BITS-1:0] addr;
input [DATA_BITS-1:0] expected;
begin
apb_master_axi_master.check_single(0, addr, expected);
PREFIX_axi_master.check_single(0, addr, expected);
end
endtask
 
164,7 → 164,7
input [ADDR_BITS-1:0] addr;
input [DATA_BITS-1:0] data;
begin
apb_master_axi_master.write_and_check_single(0, addr, data);
PREFIX_axi_master.write_and_check_single(0, addr, data);
end
endtask
 
/apb_mstr/trunk/src/base/def_axi2apb.txt
31,21 → 31,21
 
SWAP #FFD #1 ## flip-flop delay
 
SWAP PREFIX soc ## prefix for all modules and file names
SWAP.USER PREFIX axi2apb ## prefix for all modules and file names
 
SWAP SLAVE_NUM 8 ## number of APB slaves
SWAP.USER SLAVE_NUM 8 ## number of APB slaves
 
SWAP CMD_DEPTH 2 ## number of AXI command FIFO
SWAP.USER CMD_DEPTH 2 ## number of AXI command FIFO
 
SWAP ADDR_BITS 24 ## AXI and APB address bits
SWAP ID_BITS 4 ## AXI ID bits
SWAP DEC_BITS 8 ## Address MSBits for slave decoding
SWAP.USER ADDR_BITS 24 ## AXI and APB address bits
SWAP.USER ID_BITS 4 ## AXI ID bits
SWAP.USER DEC_BITS 8 ## Address MSBits for slave decoding
 
SWAP DEC_ADDR0 DEC_BITS'h00 ## Slave 0 address deciding
SWAP DEC_ADDR1 DEC_BITS'h01 ## Slave 1 address deciding
SWAP DEC_ADDR2 DEC_BITS'h02 ## Slave 2 address deciding
SWAP DEC_ADDR3 DEC_BITS'h03 ## Slave 3 address deciding
SWAP DEC_ADDR4 DEC_BITS'h10 ## Slave 4 address deciding
SWAP DEC_ADDR5 DEC_BITS'h11 ## Slave 5 address deciding
SWAP DEC_ADDR6 DEC_BITS'h12 ## Slave 6 address deciding
SWAP DEC_ADDR7 DEC_BITS'h13 ## Slave 7 address deciding
SWAP.USER DEC_ADDR0 DEC_BITS'h00 ## Slave 0 address deciding
SWAP.USER DEC_ADDR1 DEC_BITS'h01 ## Slave 1 address deciding
SWAP.USER DEC_ADDR2 DEC_BITS'h02 ## Slave 2 address deciding
SWAP.USER DEC_ADDR3 DEC_BITS'h03 ## Slave 3 address deciding
SWAP.USER DEC_ADDR4 DEC_BITS'h10 ## Slave 4 address deciding
SWAP.USER DEC_ADDR5 DEC_BITS'h11 ## Slave 5 address deciding
SWAP.USER DEC_ADDR6 DEC_BITS'h12 ## Slave 6 address deciding
SWAP.USER DEC_ADDR7 DEC_BITS'h13 ## Slave 7 address deciding
/apb_mstr/trunk/src/base/axi2apb_mux.v
28,10 → 28,10
//////////////////////////////////////////////////////////////////##>
 
INCLUDE def_axi2apb.txt
OUTFILE PREFIX_axi2apb_mux.v
OUTFILE PREFIX_mux.v
 
ITER SX
module PREFIX_axi2apb_mux (PORTS);
module PREFIX_mux (PORTS);
 
 
input clk;
/apb_mstr/trunk/src/base/def_axi_master.txt
26,23 → 26,23
//// details. http://www.gnu.org/licenses/lgpl.html ////
//// ////
//////////////////////////////////////////////////////////////////##>
 
INCLUDE def_axi_master_static.txt
 
SWAP.GLOBAL #FFD #1 ##Flip-Flop simulation delay
 
SWAP PREFIX axi_master ##prefix for all module and file names
SWAP ID_BITS 4 ##AXI ID bits
SWAP ADDR_BITS 32 ##AXI address bits
SWAP DATA_BITS 64 ##AXI data bits
SWAP LEN_BITS 4 ##AXI LEN bits
SWAP SIZE_BITS 2 ##AXI SIZE bits
 
SWAP CMD_DEPTH 4 ##AXI command depth for read and write
 
SWAP ID_NUM 3 ##Number of IDs (internal masters)
SWAP ID0_VAL ID_BITS'b0011 ##AXI ID0
SWAP ID1_VAL ID_BITS'b0010 ##AXI ID1
SWAP ID2_VAL ID_BITS'b1010 ##AXI ID2
 
 
INCLUDE def_axi_master_static.txt
 
SWAP.GLOBAL #FFD #1 ##Flip-Flop simulation delay
 
SWAP.USER PREFIX axi_master ##prefix for all module and file names
SWAP.USER ID_BITS 4 ##AXI ID bits
SWAP.USER ADDR_BITS 32 ##AXI address bits
SWAP.USER DATA_BITS 64 ##AXI data bits
SWAP.USER LEN_BITS 4 ##AXI LEN bits
SWAP.USER SIZE_BITS 2 ##AXI SIZE bits
 
SWAP.USER CMD_DEPTH 4 ##AXI command depth for read and write
 
SWAP.USER ID_NUM 3 ##Number of IDs (internal masters)
SWAP.USER ID0_VAL ID_BITS'b0011 ##AXI ID0
SWAP.USER ID1_VAL ID_BITS'b0010 ##AXI ID1
SWAP.USER ID2_VAL ID_BITS'b1010 ##AXI ID2
 
/apb_mstr/trunk/src/base/def_axi2apb_static.txt
27,6 → 27,8
//// ////
//////////////////////////////////////////////////////////////////##>
 
SWAP MODEL_NAME AXI2APB bridge
SWAP SLV_BITS LOG2(EXPR(SLAVE_NUM+1)) ##one more for decerr slave
 
LOOP SX SLAVE_NUM
/apb_mstr/trunk/src/base/axi2apb.v
28,10 → 28,10
//////////////////////////////////////////////////////////////////##>
 
INCLUDE def_axi2apb.txt
OUTFILE PREFIX_axi2apb.v
OUTFILE PREFIX.v
 
ITER SX
module PREFIX_axi2apb (PORTS);
module PREFIX (PORTS);
 
input clk;
input reset;
73,7 → 73,7
 
CREATE axi2apb_cmd.v
PREFIX_axi2apb_cmd PREFIX_axi2apb_cmd(
PREFIX_cmd PREFIX_cmd(
.clk(clk),
.reset(reset),
.AWGROUP_APB_AXI_A(AWGROUP_APB_AXI_A),
89,7 → 89,7
 
CREATE axi2apb_rd.v
PREFIX_axi2apb_rd PREFIX_axi2apb_rd(
PREFIX_rd PREFIX_rd(
.clk(clk),
.reset(reset),
.GROUP_APB3(GROUP_APB3),
101,7 → 101,7
);
CREATE axi2apb_wr.v
PREFIX_axi2apb_wr PREFIX_axi2apb_wr(
PREFIX_wr PREFIX_wr(
.clk(clk),
.reset(reset),
.GROUP_APB3(GROUP_APB3),
116,7 → 116,7
 
CREATE axi2apb_ctrl.v
PREFIX_axi2apb_ctrl PREFIX_axi2apb_ctrl(
PREFIX_ctrl PREFIX_ctrl(
.clk(clk),
.reset(reset),
.finish_wr(finish_wr),
133,7 → 133,7
IFDEF TRUE(SLAVE_NUM>1)
CREATE axi2apb_mux.v
PREFIX_axi2apb_mux PREFIX_axi2apb_mux(
PREFIX_mux PREFIX_mux(
.clk(clk),
.reset(reset),
.cmd_addr(cmd_addr),
/apb_mstr/trunk/src/base/def_axi_master_static.txt
27,6 → 27,8
//// ////
//////////////////////////////////////////////////////////////////##>
 
SWAP MODEL_NAME AXI master stub
VERIFY (DATA_BITS <= 64) else stub supports 32 or 64 bits data bus
VERIFY (SIZE_BITS <= 3) else stub supports 32 or 64 bits data bus
 
/apb_mstr/trunk/src/base/axi2apb_wr.v
28,9 → 28,9
//////////////////////////////////////////////////////////////////##>
 
INCLUDE def_axi2apb.txt
OUTFILE PREFIX_axi2apb_wr.v
OUTFILE PREFIX_wr.v
 
module PREFIX_axi2apb_wr (PORTS);
module PREFIX_wr (PORTS);
 
input clk;
input reset;
/apb_mstr/trunk/src/base/def_apb_master.txt
31,7 → 31,9
 
SWAP.GLOBAL #FFD #1 ##Flip-flop delay
SWAP.GLOBAL ADDR_BITS 16 ##APB address bits
SWAP.USER PREFIX apb_master ##Prefix for all module and file names
SWAP.GLOBAL.USER ADDR_BITS 16 ##APB address bits
 
DEFINE APB3 ##if set use pready and pslverr APB3 signals
DEFINE.USER APB3 ##if set use pready and pslverr APB3 signals
/apb_mstr/trunk/src/base/axi2apb_cmd.v
28,9 → 28,9
//////////////////////////////////////////////////////////////////##>
 
INCLUDE def_axi2apb.txt
OUTFILE PREFIX_axi2apb_cmd.v
OUTFILE PREFIX_cmd.v
 
module PREFIX_axi2apb_cmd (PORTS);
module PREFIX_cmd (PORTS);
 
input clk;
input reset;
/apb_mstr/trunk/src/base/axi2apb_ctrl.v
28,9 → 28,9
//////////////////////////////////////////////////////////////////##>
 
INCLUDE def_axi2apb.txt
OUTFILE PREFIX_axi2apb_ctrl.v
OUTFILE PREFIX_ctrl.v
 
module PREFIX_axi2apb_ctrl (PORTS);
module PREFIX_ctrl (PORTS);
 
 
input clk;

powered by: WebSVN 2.1.0

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