Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
H
HDL
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Iterations
Wiki
Requirements
Jira
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Locked files
Build
Pipelines
Jobs
Pipeline schedules
Test cases
Artifacts
Deploy
Releases
Container registry
Model registry
Operate
Environments
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Code review analytics
Issue analytics
Insights
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
RTSD
HDL
Commits
3870acad
Commit
3870acad
authored
10 years ago
by
Eric Kooistra
Browse files
Options
Downloads
Patches
Plain Diff
Defined c_ctrl_address_w and c_ctlr_data_w. Corrected soft_reset_n<='1'. Renamed record fields.
parent
de6d154f
Branches
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
libraries/technology/ddr/tech_ddr_stratixiv.vhd
+37
-26
37 additions, 26 deletions
libraries/technology/ddr/tech_ddr_stratixiv.vhd
with
37 additions
and
26 deletions
libraries/technology/ddr/tech_ddr_stratixiv.vhd
+
37
−
26
View file @
3870acad
...
...
@@ -24,10 +24,10 @@
LIBRARY
ip_stratixiv_ddr3_uphy_4g_800_master_lib
;
LIBRARY
ip_stratixiv_ddr3_uphy_4g_800_slave_lib
;
LIBRARY
IEEE
,
technology_lib
,
tech_ddr_lib
,
common_lib
;
LIBRARY
IEEE
,
technology_lib
,
common_lib
;
USE
IEEE
.
STD_LOGIC_1164
.
ALL
;
USE
technology_lib
.
technology_pkg
.
ALL
;
USE
tech_ddr_lib
.
tech_ddr_pkg
.
ALL
;
USE
work
.
tech_ddr_pkg
.
ALL
;
USE
work
.
tech_ddr_component_pkg
.
ALL
;
ENTITY
tech_ddr_stratixiv
IS
...
...
@@ -60,27 +60,36 @@ END tech_ddr_stratixiv;
ARCHITECTURE
str
OF
tech_ddr_stratixiv
IS
CONSTANT
c_gigabytes
:
NATURAL
:
=
func_tech_ddr_module_size
(
g_tech_ddr
)
CONSTANT
c_gigabytes
:
NATURAL
:
=
func_tech_ddr_module_size
(
g_tech_ddr
)
;
CONSTANT
c_ctrl_address_w
:
NATURAL
:
=
func_tech_ddr_ctrl_address_w
(
g_tech_ddr
);
CONSTANT
c_ctlr_data_w
:
NATURAL
:
=
func_tech_ddr_ctrl_data_w
(
g_tech_ddr
);
SIGNAL
dbg_c_gigabytes
:
NATURAL
:
=
c_gigabytes
;
SIGNAL
ctlr_ref_rst_n
:
STD_LOGIC
;
SIGNAL
ctlr_gen_rst_n
:
STD_LOGIC
;
SIGNAL
i_ctlr_gen_rst
:
STD_LOGIC
;
SIGNAL
i_ctlr_gen_clk_2x
:
STD_LOGIC
;
BEGIN
ctlr_ref_rst_n
<=
NOT
ctlr_ref_rst
;
gen_ip_stratixiv_ddr3_uphy_4g_800_master
:
IF
g_tech_ddr
.
name
=
"DDR3"
AND
c_gigabytes
=
4
AND
g_tech_ddr
.
mts
=
800
AND
g_tech_ddr
.
master
=
TRUE
GENERATE
u_ip_stratixiv_ddr3_uphy_4g_800_master
:
ip_stratixiv_ddr3_uphy_4g_800_master
PORT
MAP
(
pll_ref_clk
=>
ctlr_ref_clk
,
-- pll_ref_clk.clk
global_reset_n
=>
ctlr_ref_rst
,
-- global_reset.reset_n
soft_reset_n
=>
'
0
'
,
-- soft_reset.reset_n
global_reset_n
=>
ctlr_ref_rst
_n
,
-- global_reset.reset_n
soft_reset_n
=>
'
1
'
,
-- soft_reset.reset_n
afi_clk
=>
ctlr_gen_clk
,
-- afi_clk.clk
afi_half_clk
=>
OPEN
,
-- afi_half_clk.clk
afi_reset_n
=>
ctlr_gen_rst
,
-- afi_reset.reset_n
afi_reset_n
=>
ctlr_gen_rst
_n
,
-- afi_reset.reset_n
mem_a
=>
phy_ou
.
a
(
g_tech_ddr
.
a_w
-1
DOWNTO
0
),
-- memory.mem_a
mem_ba
=>
phy_ou
.
ba
(
g_tech_ddr
.
ba_w
-1
DOWNTO
0
),
-- .mem_ba
mem_ck
=>
phy_
i
o
.
c
l
k
(
g_tech_ddr
.
c
l
k_w
-1
DOWNTO
0
),
-- .mem_ck
mem_ck_n
=>
phy_
i
o
.
c
l
k_n
(
g_tech_ddr
.
c
l
k_w
-1
DOWNTO
0
),
-- .mem_ck_n
mem_cke
=>
phy_ou
.
cke
(
g_tech_ddr
.
c
l
k_w
-1
DOWNTO
0
),
-- .mem_cke
mem_ck
=>
phy_o
u
.
ck
(
g_tech_ddr
.
ck_w
-1
DOWNTO
0
),
-- .mem_ck
mem_ck_n
=>
phy_o
u
.
ck_n
(
g_tech_ddr
.
ck_w
-1
DOWNTO
0
),
-- .mem_ck_n
mem_cke
=>
phy_ou
.
cke
(
g_tech_ddr
.
ck
e
_w
-1
DOWNTO
0
),
-- .mem_cke
mem_cs_n
=>
phy_ou
.
cs_n
(
g_tech_ddr
.
cs_w
-1
DOWNTO
0
),
-- .mem_cs_n
mem_dm
=>
phy_ou
.
dm
(
g_tech_ddr
.
dm_w
-1
DOWNTO
0
),
-- .mem_dm
mem_ras_n
=>
phy_ou
.
ras_n
,
-- .mem_ras_n
...
...
@@ -90,13 +99,13 @@ BEGIN
mem_dq
=>
phy_io
.
dq
(
g_tech_ddr
.
dq_w
-1
DOWNTO
0
),
-- .mem_dq
mem_dqs
=>
phy_io
.
dqs
(
g_tech_ddr
.
dqs_w
-1
DOWNTO
0
),
-- .mem_dqs
mem_dqs_n
=>
phy_io
.
dqs_n
(
g_tech_ddr
.
dqs_w
-1
DOWNTO
0
),
-- .mem_dqs_n
mem_odt
=>
phy_ou
.
odt
(
g_tech_ddr
.
cs
_w
-1
DOWNTO
0
),
-- .mem_odt
mem_odt
=>
phy_ou
.
odt
(
g_tech_ddr
.
odt
_w
-1
DOWNTO
0
),
-- .mem_odt
avl_ready
=>
ctrl_miso
.
waitrequest_n
,
-- avl.waitrequest_n
avl_burstbegin
=>
ctrl_mosi
.
burstbegin
,
-- .beginbursttransfer
avl_addr
=>
ctrl_mosi
.
address
(
g_tech_ddr
.
address_w
-1
DOWNTO
0
),
-- .address
avl_addr
=>
ctrl_mosi
.
address
(
c_ctrl_
address_w
-1
DOWNTO
0
),
-- .address
avl_rdata_valid
=>
ctrl_miso
.
rdval
,
-- .readdatavalid
avl_rdata
=>
ctrl_miso
.
rddata
(
g_tech_ddr
.
data_w
-1
DOWNTO
0
),
-- .readdata
avl_wdata
=>
ctrl_mosi
.
wrdata
(
g_tech_ddr
.
data_w
-1
DOWNTO
0
),
-- .writedata
avl_rdata
=>
ctrl_miso
.
rddata
(
c_ctlr_
data_w
-1
DOWNTO
0
),
-- .readdata
avl_wdata
=>
ctrl_mosi
.
wrdata
(
c_ctlr_
data_w
-1
DOWNTO
0
),
-- .writedata
avl_be
=>
(
OTHERS
=>
'1'
),
-- .byteenable
avl_read_req
=>
ctrl_mosi
.
rd
,
-- .read
avl_write_req
=>
ctrl_mosi
.
wr
,
-- .write
...
...
@@ -123,16 +132,16 @@ BEGIN
u_ip_stratixiv_ddr3_uphy_4g_800_slave
:
ip_stratixiv_ddr3_uphy_4g_800_slave
PORT
MAP
(
pll_ref_clk
=>
ctlr_ref_clk
,
-- pll_ref_clk.clk
global_reset_n
=>
ctlr_ref_rst
,
-- global_reset.reset_n
soft_reset_n
=>
'
0
'
,
-- soft_reset.reset_n
global_reset_n
=>
ctlr_ref_rst
_n
,
-- global_reset.reset_n
soft_reset_n
=>
'
1
'
,
-- soft_reset.reset_n
afi_clk
=>
ctlr_gen_clk
,
-- afi_clk.clk
afi_half_clk
=>
OPEN
,
-- afi_half_clk.clk
afi_reset_n
=>
ctlr_gen_rst
,
-- afi_reset.reset_n
afi_reset_n
=>
ctlr_gen_rst
_n
,
-- afi_reset.reset_n
mem_a
=>
phy_ou
.
a
(
g_tech_ddr
.
a_w
-1
DOWNTO
0
),
-- memory.mem_a
mem_ba
=>
phy_ou
.
ba
(
g_tech_ddr
.
ba_w
-1
DOWNTO
0
),
-- .mem_ba
mem_ck
=>
phy_
i
o
.
c
l
k
(
g_tech_ddr
.
c
l
k_w
-1
DOWNTO
0
),
-- .mem_ck
mem_ck_n
=>
phy_
i
o
.
c
l
k_n
(
g_tech_ddr
.
c
l
k_w
-1
DOWNTO
0
),
-- .mem_ck_n
mem_cke
=>
phy_ou
.
cke
(
g_tech_ddr
.
c
l
k_w
-1
DOWNTO
0
),
-- .mem_cke
mem_ck
=>
phy_o
u
.
ck
(
g_tech_ddr
.
ck_w
-1
DOWNTO
0
),
-- .mem_ck
mem_ck_n
=>
phy_o
u
.
ck_n
(
g_tech_ddr
.
ck_w
-1
DOWNTO
0
),
-- .mem_ck_n
mem_cke
=>
phy_ou
.
cke
(
g_tech_ddr
.
ck
e
_w
-1
DOWNTO
0
),
-- .mem_cke
mem_cs_n
=>
phy_ou
.
cs_n
(
g_tech_ddr
.
cs_w
-1
DOWNTO
0
),
-- .mem_cs_n
mem_dm
=>
phy_ou
.
dm
(
g_tech_ddr
.
dm_w
-1
DOWNTO
0
),
-- .mem_dm
mem_ras_n
=>
phy_ou
.
ras_n
,
-- .mem_ras_n
...
...
@@ -142,13 +151,13 @@ BEGIN
mem_dq
=>
phy_io
.
dq
(
g_tech_ddr
.
dq_w
-1
DOWNTO
0
),
-- .mem_dq
mem_dqs
=>
phy_io
.
dqs
(
g_tech_ddr
.
dqs_w
-1
DOWNTO
0
),
-- .mem_dqs
mem_dqs_n
=>
phy_io
.
dqs_n
(
g_tech_ddr
.
dqs_w
-1
DOWNTO
0
),
-- .mem_dqs_n
mem_odt
=>
phy_ou
.
odt
(
g_tech_ddr
.
cs
_w
-1
DOWNTO
0
),
-- .mem_odt
mem_odt
=>
phy_ou
.
odt
(
g_tech_ddr
.
odt
_w
-1
DOWNTO
0
),
-- .mem_odt
avl_ready
=>
ctrl_miso
.
waitrequest_n
,
-- avl.waitrequest_n
avl_burstbegin
=>
ctrl_mosi
.
burstbegin
,
-- .beginbursttransfer
avl_addr
=>
ctrl_mosi
.
address
(
g_tech_ddr
.
address_w
-1
DOWNTO
0
),
-- .address
avl_addr
=>
ctrl_mosi
.
address
(
c_ctrl_
address_w
-1
DOWNTO
0
),
-- .address
avl_rdata_valid
=>
ctrl_miso
.
rdval
,
-- .readdatavalid
avl_rdata
=>
ctrl_miso
.
rddata
(
g_tech_ddr
.
data_w
-1
DOWNTO
0
),
-- .readdata
avl_wdata
=>
ctrl_mosi
.
wrdata
(
g_tech_ddr
.
data_w
-1
DOWNTO
0
),
-- .writedata
avl_rdata
=>
ctrl_miso
.
rddata
(
c_ctlr_
data_w
-1
DOWNTO
0
),
-- .readdata
avl_wdata
=>
ctrl_mosi
.
wrdata
(
c_ctlr_
data_w
-1
DOWNTO
0
),
-- .writedata
avl_be
=>
(
OTHERS
=>
'1'
),
-- .byteenable
avl_read_req
=>
ctrl_mosi
.
rd
,
-- .read
avl_write_req
=>
ctrl_mosi
.
wr
,
-- .write
...
...
@@ -169,9 +178,8 @@ BEGIN
);
END
GENERATE
;
ctlr_gen_rst
<=
i_ctlr_gen_rst
;
ctlr_gen_clk_2x
<=
i_ctlr_gen_clk_2x
;
i_ctlr_gen_rst
<=
NOT
ctlr_gen_rst_n
;
u_async_ctlr_gen_rst_2x
:
ENTITY
common_lib
.
common_async
GENERIC
MAP
(
g_rst_level
=>
'0'
...
...
@@ -183,4 +191,7 @@ BEGIN
dout
=>
ctlr_gen_rst_2x
);
ctlr_gen_rst
<=
i_ctlr_gen_rst
;
ctlr_gen_clk_2x
<=
i_ctlr_gen_clk_2x
;
END
str
;
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