projects
/
pinmux.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
add rst0 to sdram
[pinmux.git]
/
src
/
bsv
/
bsv_lib
/
soc_template.bsv
diff --git
a/src/bsv/bsv_lib/soc_template.bsv
b/src/bsv/bsv_lib/soc_template.bsv
index 166ba811c7e1bcdb2aadee6a16cb850352308283..cd2fcefb7066beb3d48502d4d09aba337fbe83d9 100644
(file)
--- a/
src/bsv/bsv_lib/soc_template.bsv
+++ b/
src/bsv/bsv_lib/soc_template.bsv
@@
-40,12
+40,15
@@
package socgen;
import Clocks::*;
/*=== Project imports === */
import Clocks::*;
/*=== Project imports === */
+ import ifc_sync:: *;
import ConcatReg::*;
import AXI4_Types::*;
import AXI4_Fabric::*;
import defined_types::*;
import MemoryMap :: *;
import slow_peripherals::*;
import ConcatReg::*;
import AXI4_Types::*;
import AXI4_Fabric::*;
import defined_types::*;
import MemoryMap :: *;
import slow_peripherals::*;
+ import fast_memory_map::*;
+ import slow_memory_map::*;
`ifdef DEBUG
`include "defines.bsv"
`endif
`ifdef DEBUG
`include "defines.bsv"
`endif
@@
-59,9
+62,6
@@
package socgen;
`ifdef BOOTROM
import BootRom ::*;
`endif
`ifdef BOOTROM
import BootRom ::*;
`endif
- `ifdef SDRAM
- import sdr_top :: *;
- `endif
`ifdef BRAM
import Memory_AXI4 ::*;
`endif
`ifdef BRAM
import Memory_AXI4 ::*;
`endif
@@
-80,23
+80,18
@@
package socgen;
`ifdef VME
import vme_master::*;
`endif
`ifdef VME
import vme_master::*;
`endif
- `ifdef FlexBus
- import FlexBus_Types::*;
- `endif
{0}
/*========================= */
interface Ifc_Soc;
{0}
/*========================= */
interface Ifc_Soc;
- interface SP_ios slow_ios;
+ interface SP_dedicated_ios slow_ios;
+ interface IOCellSide iocell_side;
(*always_ready,always_enabled*)
method Action boot_sequence(Bit#(1) bootseq);
(*always_ready,always_enabled*)
method Action boot_sequence(Bit#(1) bootseq);
- `ifdef SDRAM
- (*always_ready*) interface Ifc_sdram_out sdram_out;
- `endif
`ifdef DDR
(*prefix="M_AXI"*) interface
`ifdef DDR
(*prefix="M_AXI"*) interface
- AXI4_Master_IFC#(`ADDR, `DATA, `USERSPACE) master;
+ AXI4_Master_IFC#(`
P
ADDR, `DATA, `USERSPACE) master;
`endif
`ifdef HYPER
(*always_ready,always_enabled*)
`endif
`ifdef HYPER
(*always_ready,always_enabled*)
@@
-115,7
+110,7
@@
package socgen;
(*synthesize*)
module mkSoc #(Bit#(`VADDR) reset_vector,
Clock slow_clock, Reset slow_reset, Clock uart_clock,
(*synthesize*)
module mkSoc #(Bit#(`VADDR) reset_vector,
Clock slow_clock, Reset slow_reset, Clock uart_clock,
- Reset uart_reset, Clock clk0, Clock tck, Reset trst
+ Reset uart_reset, Clock clk0,
Reset rst0,
Clock tck, Reset trst
`ifdef PWM_AXI4Lite ,Clock ext_pwm_clock `endif )(Ifc_Soc);
Clock core_clock <-exposeCurrentClock; // slow peripheral clock
Reset core_reset <-exposeCurrentReset; // slow peripheral reset
`ifdef PWM_AXI4Lite ,Clock ext_pwm_clock `endif )(Ifc_Soc);
Clock core_clock <-exposeCurrentClock; // slow peripheral clock
Reset core_reset <-exposeCurrentReset; // slow peripheral reset
@@
-128,9
+123,6
@@
package socgen;
`ifdef BOOTROM
BootRom_IFC bootrom <-mkBootRom;
`endif
`ifdef BOOTROM
BootRom_IFC bootrom <-mkBootRom;
`endif
- `ifdef SDRAM
- Ifc_sdr_slave sdram<- mksdr_axi4_slave(clk0);
- `endif
`ifdef BRAM
Memory_IFC#(`SDRAMMemBase,`Addr_space)main_memory <-
mkMemory("code.mem.MSB","code.mem.LSB","MainMEM");
`ifdef BRAM
Memory_IFC#(`SDRAMMemBase,`Addr_space)main_memory <-
mkMemory("code.mem.MSB","code.mem.LSB","MainMEM");
@@
-145,14
+137,17
@@
package socgen;
Ifc_vme_top vme <-mkvme_top();
`endif
Ifc_slow_peripherals slow_peripherals <-mkslow_peripherals(
Ifc_vme_top vme <-mkvme_top();
`endif
Ifc_slow_peripherals slow_peripherals <-mkslow_peripherals(
- core_clock, core_reset,
uart_clock,
- uart_
reset, clocked_by slow_clock
,
- reset_by slow_reset
+ core_clock, core_reset,
+ uart_
clock, uart_reset
,
+ clocked_by slow_clock, reset_by slow_reset
`ifdef PWM_AXI4Lite , ext_pwm_clock `endif );
`ifdef PWM_AXI4Lite , ext_pwm_clock `endif );
+ // clock sync mkConnections
+{12}
+
// Fabric
AXI4_Fabric_IFC #(Num_Masters, Num_Fast_Slaves,
// Fabric
AXI4_Fabric_IFC #(Num_Masters, Num_Fast_Slaves,
- `ADDR, `DATA,`USERSPACE)
+ `
P
ADDR, `DATA,`USERSPACE)
fabric <- mkAXI4_Fabric(fn_addr_to_slave_num);
// Connect traffic generators to fabric
fabric <- mkAXI4_Fabric(fn_addr_to_slave_num);
// Connect traffic generators to fabric
@@
-168,6
+163,7
@@
package socgen;
mkConnection (dma.mmu, fabric.v_from_masters
[fromInteger(valueOf(DMA_master_num))]);
`endif
mkConnection (dma.mmu, fabric.v_from_masters
[fromInteger(valueOf(DMA_master_num))]);
`endif
+{13}
// Connect fabric to memory slaves
// Connect fabric to memory slaves
@@
-176,14
+172,6
@@
package socgen;
[fromInteger(valueOf(Debug_slave_num))],
core.debug_slave);
`endif
[fromInteger(valueOf(Debug_slave_num))],
core.debug_slave);
`endif
- `ifdef SDRAM
- mkConnection (fabric.v_to_slaves
- [fromInteger(valueOf(Sdram_slave_num))],
- sdram.axi4_slave_sdram); //
- mkConnection (fabric.v_to_slaves
- [fromInteger(valueOf(Sdram_cfg_slave_num))],
- sdram.axi4_slave_cntrl_reg); //
- `endif
`ifdef BRAM
mkConnection(fabric.v_to_slaves
[fromInteger(valueOf(Sdram_slave_num))],
`ifdef BRAM
mkConnection(fabric.v_to_slaves
[fromInteger(valueOf(Sdram_slave_num))],
@@
-300,14
+288,13
@@
package socgen;
`endif
method Action boot_sequence(Bit#(1) bootseq) =
core.boot_sequence(bootseq);
`endif
method Action boot_sequence(Bit#(1) bootseq) =
core.boot_sequence(bootseq);
- `ifdef SDRAM
- interface sdram_out=sdram.ifc_sdram_out;
- `endif
`ifdef DDR
interface master=fabric.v_to_slaves
[fromInteger(valueOf(Sdram_slave_num))];
`endif
`ifdef DDR
interface master=fabric.v_to_slaves
[fromInteger(valueOf(Sdram_slave_num))];
`endif
- interface slow_ios=slow_peripherals.slow_ios;
+ interface slow_ios = slow_peripherals.slow_ios;
+ interface iocell_side = slow_peripherals.iocell_side;
+
{6}
endmodule
endpackage
{6}
endmodule
endpackage