Skip to content
Francisco Javier Reina Campo edited this page May 9, 2020 · 6 revisions

MPRAM-MPSoC WIKI

Definition

A Random Access Memory (RAM) is a computer memory that can be read and changed in any order, typically used to store working data and machine code. A RAM device allows data items to be read or written in almost the same amount of time irrespective of the physical location of data inside the memory. RAM contains multiplexing and demultiplexing circuitry, to connect the data lines to the addressed storage for reading or writing the entry.

Open Source Tools

Verilator

Hardware Description Language SystemVerilog Simulator

git clone http://git.veripool.org/git/verilator

cd verilator
autoconf
./configure
make
sudo make install
cd sim/verilog/regression/wb/vtor
source SIMULATE-IT
cd sim/verilog/regression/ahb3/vtor
source SIMULATE-IT

Icarus Verilog

Hardware Description Language Verilog Simulator

git clone https://github.com/steveicarus/iverilog

cd iverilog
./configure
make
sh autoconf.sh
sudo make install
cd sim/verilog/regression/wb/iverilog
source SIMULATE-IT
cd sim/verilog/regression/ahb3/iverilog
source SIMULATE-IT

GHDL

Hardware Description Language GHDL Simulator

git clone https://github.com/ghdl/ghdl

cd ghdl
./configure --prefix=/usr/local
make
sudo make install
cd sim/vhdl/regression/wb/ghdl
source SIMULATE-IT
cd sim/vhdl/regression/ahb3/ghdl
source SIMULATE-IT

Yosys-ABC

Hardware Description Language Verilog Synthesizer

git clone https://github.com/YosysHQ/yosys

cd yosys
make
sudo make install
cd synthesis/yosys
source SIMULATE-IT

Instruction INPUTS/OUTPUTS AMBA3 AHB-Lite Bus

Port Size Direction Description
HRESETn 1 Input Asynchronous Active Low Reset
HCLK 1 Input System Clock Input
IHSEL 1 Output Instruction Bus Select
IHADDR PLEN Output Instruction Address Bus
IHRDATA XLEN Input Instruction Read Data Bus
IHWDATA XLEN Output Instruction Write Data Bus
IHWRITE 1 Output Instruction Write Select
IHSIZE 3 Output Instruction Transfer Size
IHBURST 3 Output Instruction Transfer Burst Size
IHPROT 4 Output Instruction Transfer Protection Level
IHTRANS 2 Output Instruction Transfer Type
IHMASTLOCK 1 Output Instruction Transfer Master Lock
IHREADY 1 Input Instruction Slave Ready Indicator
IHRESP 1 Input Instruction Transfer Response

Instruction INPUTS/OUTPUTS Wishbone Bus

Port Size Direction Description
rst 1 Input Synchronous Active High Reset
clk 1 Input System Clock Input
iadr AW Input Instruction Address Bus
idati DW Input Instruction Input Bus
idato DW Output Instruction Output Bus
isel DW/8 Input Byte Select Signals
iwe 1 Input Write Enable Input
istb 1 Input Strobe Signal/Core Select Input
icyc 1 Input Valid Bus Cycle Input
iack 1 Output Bus Cycle Acknowledge Output
ierr 1 Output Bus Cycle Error Output
iint 1 Output Interrupt Signal Output

Data INPUTS/OUTPUTS AMBA3 AHB-Lite Bus

Port Size Direction Description
HRESETn 1 Input Asynchronous Active Low Reset
HCLK 1 Input System Clock Input
DHSEL 1 Output Data Bus Select
DHADDR PLEN Output Data Address Bus
DHRDATA XLEN Input Data Read Data Bus
DHWDATA XLEN Output Data Write Data Bus
DHWRITE 1 Output Data Write Select
DHSIZE 3 Output Data Transfer Size
DHBURST 3 Output Data Transfer Burst Size
DHPROT 4 Output Data Transfer Protection Level
DHTRANS 2 Output Data Transfer Type
DHMASTLOCK 1 Output Data Transfer Master Lock
DHREADY 1 Input Data Slave Ready Indicator
DHRESP 1 Input Data Transfer Response

Data INPUTS/OUTPUTS Wishbone Bus

Port Size Direction Description
rst 1 Input Synchronous Active High Reset
clk 1 Input System Clock Input
dadr AW Input Data Address Bus
ddati DW Input Data Input Bus
ddato DW Output Data Output Bus
dsel DW/8 Input Byte Select Signals
dwe 1 Input Write Enable Input
dstb 1 Input Strobe Signal/Core Select Input
dcyc 1 Input Valid Bus Cycle Input
dack 1 Output Bus Cycle Acknowledge Output
derr 1 Output Bus Cycle Error Output
dint 1 Output Interrupt Signal Output
Clone this wiki locally