Skip to content
GitLab
Explore
Sign in
Register
Primary navigation
Search or go to…
Project
FPGA Library Tech
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Jira
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Deploy
Releases
Package Registry
Model registry
Operate
Terraform modules
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
SoCLabs
FPGA Library Tech
Commits
97adc447
Commit
97adc447
authored
1 year ago
by
dam1n19
Browse files
Options
Downloads
Patches
Plain Diff
Added fpga rom to mem
parent
4344fb71
No related branches found
Branches containing commit
No related tags found
No related merge requests found
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
rom/verilog/sl_ahb_rom.v
+89
-0
89 additions, 0 deletions
rom/verilog/sl_ahb_rom.v
with
89 additions
and
0 deletions
rom/verilog/sl_ahb_rom.v
0 → 100644
+
89
−
0
View file @
97adc447
//-----------------------------------------------------------------------------
// SoCLabs FPGA ROM Wrapper
// - to be substitued with same name file in filelist when moving to ASIC
// A joint work commissioned on behalf of SoC Labs, under Arm Academic Access license.
//
// Contributors
//
// David Mapstone (d.a.mapstone@soton.ac.uk)
//
// Copyright 2021-3, SoC Labs (www.soclabs.org)
//-----------------------------------------------------------------------------
module
sl_ahb_rom
#(
// System Parameters
parameter
SYS_DATA_W
=
32
,
// System Data Width
parameter
RAM_ADDR_W
=
14
,
// Size of SRAM
parameter
RAM_DATA_W
=
32
,
// Data Width of RAM
parameter
FILENAME
=
"image.hex"
// Initial Image to Populate Memory with
)(
// --------------------------------------------------------------------------
// Port Definitions
// --------------------------------------------------------------------------
input
wire
HCLK
,
// system bus clock
input
wire
HRESETn
,
// system bus reset
input
wire
HSEL
,
// AHB peripheral select
input
wire
HREADY
,
// AHB ready input
input
wire
[
1
:
0
]
HTRANS
,
// AHB transfer type
input
wire
[
2
:
0
]
HSIZE
,
// AHB hsize
input
wire
HWRITE
,
// AHB hwrite
input
wire
[
RAM_ADDR_W
-
1
:
0
]
HADDR
,
// AHB address bus
input
wire
[
SYS_DATA_W
-
1
:
0
]
HWDATA
,
// AHB write data bus
output
wire
HREADYOUT
,
// AHB ready output to S->M mux
output
wire
HRESP
,
// AHB response
output
wire
[
SYS_DATA_W
-
1
:
0
]
HRDATA
// AHB read data bus
);
// Internal Wiring
wire
[
RAM_ADDR_W
-
3
:
0
]
addr
;
wire
[
RAM_DATA_W
-
1
:
0
]
wdata
;
wire
[
RAM_DATA_W
-
1
:
0
]
rdata
;
wire
[
3
:
0
]
wen
;
wire
cs
;
// AHB to SRAM Conversion
cmsdk_ahb_to_sram
#(
.
AW
(
RAM_ADDR_W
)
)
u_ahb_to_sram
(
// AHB Inputs
.
HCLK
(
HCLK
),
.
HRESETn
(
HRESETn
),
.
HSEL
(
HSEL
),
.
HADDR
(
HADDR
[
RAM_ADDR_W
-
1
:
0
]),
.
HTRANS
(
HTRANS
),
.
HSIZE
(
HSIZE
),
.
HWRITE
(
HWRITE
),
.
HWDATA
(
HWDATA
),
.
HREADY
(
HREADY
),
// AHB Outputs
.
HREADYOUT
(
HREADYOUT
),
.
HRDATA
(
HRDATA
),
.
HRESP
(
HRESP
),
// SRAM input
.
SRAMRDATA
(
rdata
),
// SRAM Outputs
.
SRAMADDR
(
addr
),
.
SRAMWDATA
(
wdata
),
.
SRAMWEN
(
wen
),
.
SRAMCS
(
cs
)
);
// FPGA SRAM model
cmsdk_fpga_rom
#(
.
AW
(
RAM_ADDR_W
),
.
filename
(
FILENAME
)
)
u_sram
(
// SRAM Inputs
.
CLK
(
HCLK
),
.
ADDR
(
addr
),
.
WDATA
(
wdata
),
.
WREN
(
wen
),
.
CS
(
cs
),
// SRAM Output
.
RDATA
(
rdata
)
);
endmodule
\ No newline at end of file
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment