Skip to content
GitLab
Explore
Sign in
Register
Primary navigation
Search or go to…
Project
ASIC Library Tech
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
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
ASIC Library Tech
Commits
f81392e6
Commit
f81392e6
authored
2 months ago
by
Daniel Newbrook
Browse files
Options
Downloads
Patches
Plain Diff
Add TSMC 16nm SRAM wrapper
parent
57e20563
No related branches found
No related tags found
No related merge requests found
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
flist/asic_lib_ip_TSMC16nm.flist
+26
-0
26 additions, 0 deletions
flist/asic_lib_ip_TSMC16nm.flist
sram/TSMC16nm/verilog/sl_sram.v
+82
-0
82 additions, 0 deletions
sram/TSMC16nm/verilog/sl_sram.v
with
108 additions
and
0 deletions
flist/asic_lib_ip_TSMC16nm.flist
0 → 100644
+
26
−
0
View file @
f81392e6
//-----------------------------------------------------------------------------
// ASIC Library Memory Filelist
// A joint work commissioned on behalf of SoC Labs, under Arm Academic Access license.
//
// Contributors
//
// Daniel Newbrook (d.newbrook@soton.ac.uk)
//
// Copyright � 2021-3, SoC Labs (www.soclabs.org)
//-----------------------------------------------------------------------------
//-----------------------------------------------------------------------------
// Abstract : Verilog Command File for NanoSoC Testbench
//-----------------------------------------------------------------------------
// ============= Verilog library extensions ===========
+libext+.v+.vlib
// ============= NanoSoC Testbench search path =============
// +incdir+$(SOCLABS_ASIC_LIB_TECH_DIR)/sram/verilog/
// - Memories
$(SOCLABS_ASIC_LIB_TECH_DIR)/sram/verilog/sl_ahb_sram.v
$(SOCLABS_ASIC_LIB_TECH_DIR)/sram/TSMC16nm/verilog/sl_sram.v
$(SOCLABS_ASIC_LIB_TECH_DIR)/rom/verilog/bootrom.v
$(SOCLABS_ASIC_LIB_TECH_DIR)/sync/verilog/SYNCHRONIZER_EDGES.v
\ No newline at end of file
This diff is collapsed.
Click to expand it.
sram/TSMC16nm/verilog/sl_sram.v
0 → 100644
+
82
−
0
View file @
f81392e6
//-----------------------------------------------------------------------------
// SoCLabs ASIC RAM Wrapper
// - substituted using the same name from the FPGA tech library
// A joint work commissioned on behalf of SoC Labs, under Arm Academic Access license.
//
// Contributors
//
// David Flynn (d.flynn@soton.ac.uk)
//
// Copyright 2021-3, SoC Labs (www.soclabs.org)
//-----------------------------------------------------------------------------
module
sl_sram
#(
// --------------------------------------------------------------------------
// Parameter Declarations
// --------------------------------------------------------------------------
parameter
AW
=
16
)
(
`ifdef
POWER_PINS
inout
wire
VDD
,
inout
wire
VSS
,
`endif
// Inputs
input
wire
CLK
,
input
wire
[
AW
-
1
:
2
]
ADDR
,
input
wire
[
31
:
0
]
WDATA
,
input
wire
[
3
:
0
]
WREN
,
input
wire
CS
,
// Outputs
output
wire
[
31
:
0
]
RDATA
);
// fixed pre-compiled 16K instance supported
localparam
TIE_EMA
=
3'b010
;
localparam
TIE_EMAW
=
2'b00
;
wire
[
AW
-
3
:
0
]
ADDR12
=
ADDR
;
wire
[
31
:
0
]
WDATA32
=
WDATA
;
wire
[
31
:
0
]
RDATA32
;
assign
RDATA
=
RDATA32
;
wire
CEN
=
!
CS
;
wire
GWEN
=
&
(
~
WREN
);
wire
[
31
:
0
]
WEN32
=
{
{
8
{!
WREN
[
3
]
}}
,
{
8
{!
WREN
[
2
]
}}
,
{
8
{!
WREN
[
1
]
}}
,
{
8
{!
WREN
[
0
]
}}
}
;
localparam
TIE_RET1N
=
1'b1
;
generate
if
(
AW
==
14
)
begin
sram_16k
u_sram
(
.
Q
(
RDATA32
),
.
CLK
(
CLK
),
.
CEN
(
CEN
),
.
WEN
(
WEN32
),
.
A
(
ADDR12
),
.
D
(
WDATA32
),
.
EMA
(
TIE_EMA
),
.
EMAW
(
TIE_EMAW
),
.
GWEN
(
GWEN
),
.
RET1N
(
TIE_RET1N
)
);
end
else
if
(
AW
==
15
)
begin
sram_32k
u_sram
(
.
Q
(
RDATA32
),
.
CLK
(
CLK
),
.
CEN
(
CEN
),
.
WEN
(
WEN32
),
.
A
(
ADDR12
),
.
D
(
WDATA32
),
.
EMA
(
TIE_EMA
),
.
EMAW
(
TIE_EMAW
),
.
GWEN
(
GWEN
),
.
RET1N
(
TIE_RET1N
)
);
end
endgenerate
endmodule
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