Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
H
Hydra - a radiation-tolerant SoC
Manage
Activity
Members
Labels
Plan
Issues
0
Issue boards
Milestones
Wiki
Code
Merge requests
0
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Operate
Environments
Monitor
Incidents
Service Desk
Analyze
Value stream analytics
Contributor analytics
CI/CD 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
Projects
Hydra - a radiation-tolerant SoC
Commits
39fb2038
Commit
39fb2038
authored
2 years ago
by
Tristan Gingold
Browse files
Options
Downloads
Patches
Plain Diff
hydra_core: add triple_cpu generic
parent
da84f903
Branches
hydra2
No related merge requests found
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
hdl/rtl/hydra_core.vhd
+49
-9
49 additions, 9 deletions
hdl/rtl/hydra_core.vhd
with
49 additions
and
9 deletions
hdl/rtl/hydra_core.vhd
+
49
−
9
View file @
39fb2038
...
@@ -37,6 +37,7 @@ entity hydra_core is
...
@@ -37,6 +37,7 @@ entity hydra_core is
generic
(
generic
(
g_IRAM_LOG_SIZE
:
natural
:
=
12
;
-- In bytes
g_IRAM_LOG_SIZE
:
natural
:
=
12
;
-- In bytes
g_DRAM_LOG_SIZE
:
natural
:
=
12
;
g_DRAM_LOG_SIZE
:
natural
:
=
12
;
g_TRIPLE_CORE
:
boolean
:
=
True
;
g_SIM_SEU_PERIOD
:
natural
:
=
0
);
g_SIM_SEU_PERIOD
:
natural
:
=
0
);
port
(
port
(
clk_sys_i
:
in
std_logic
;
clk_sys_i
:
in
std_logic
;
...
@@ -166,12 +167,44 @@ begin
...
@@ -166,12 +167,44 @@ begin
dwb_o
<=
dwb_out
;
dwb_o
<=
dwb_out
;
cpu_rst2
<=
"111"
when
rst_n_i
=
'0'
or
cpu_rst_n_i
=
'0'
else
cpu_rst
;
cpu_rst2
<=
"111"
when
rst_n_i
=
'0'
or
cpu_rst_n_i
=
'0'
else
cpu_rst
;
inst_cpus
:
entity
work
.
hydra_triple_cpu
gen_triple_cpu
:
if
g_TRIPLE_CORE
generate
inst_cpus
:
entity
work
.
hydra_triple_cpu
port
map
(
clk_i
=>
clk_sys_i
,
clk_cpu_i
=>
clk_cpu_i
,
cpu_rst_i
=>
cpu_rst2
,
im_addr_o
=>
im_addr
,
im_rd_o
=>
im_rd
,
im_data_i
=>
im_data
,
im_valid_i
=>
im_valid
,
dm_addr_o
=>
dm_addr
,
dm_data_s_o
=>
dm_data_s
,
dm_data_l_i
=>
dm_data_l
,
dm_data_select_o
=>
dm_data_select
,
dm_store_o
=>
dm_store
,
dm_load_o
=>
dm_load
,
dm_load_done_i
=>
dm_load_done
,
dm_store_done_i
=>
dm_store_done
,
cpu_sync_o
=>
cpu_sync
,
dm_force_divergence_i
=>
dm_force_divergence
,
err_cpu_im_o
=>
err_cpu_im
,
err_cpu_dm_o
=>
err_cpu_dm
);
end
generate
;
gen_one_cpu
:
if
not
g_TRIPLE_CORE
generate
inst_cpu
:
urv_cpu
generic
map
(
g_timer_frequency
=>
0
,
g_with_hw_debug
=>
0
,
g_with_hw_mul
=>
0
,
g_with_hw_div
=>
0
)
port
map
(
port
map
(
clk_i
=>
clk_sys_i
,
clk_i
=>
clk_sys_i
,
clk_cpu_i
=>
c
lk_cpu_i
,
rst_i
=>
c
pu_rst2
(
1
)
,
cpu_rst_i
=>
cpu_rst2
,
irq_i
=>
'0'
,
im_addr_o
=>
im_addr
,
im_addr_o
=>
im_addr
,
im_rd_o
=>
im_rd
,
im_rd_o
=>
im_rd
,
im_data_i
=>
im_data
,
im_data_i
=>
im_data
,
...
@@ -184,11 +217,18 @@ begin
...
@@ -184,11 +217,18 @@ begin
dm_load_o
=>
dm_load
,
dm_load_o
=>
dm_load
,
dm_load_done_i
=>
dm_load_done
,
dm_load_done_i
=>
dm_load_done
,
dm_store_done_i
=>
dm_store_done
,
dm_store_done_i
=>
dm_store_done
,
dbg_force_i
=>
'0'
,
cpu_sync_o
=>
cpu_sync
,
dbg_enabled_o
=>
open
,
dm_force_divergence_i
=>
dm_force_divergence
,
dbg_insn_i
=>
x"0000_0000"
,
err_cpu_im_o
=>
err_cpu_im
,
dbg_insn_set_i
=>
'0'
,
err_cpu_dm_o
=>
err_cpu_dm
);
dbg_insn_ready_o
=>
open
,
dbg_mbx_data_i
=>
x"0000_0000"
,
dbg_mbx_write_i
=>
'0'
,
dbg_mbx_data_o
=>
open
);
cpu_sync
<=
"111"
;
err_cpu_im
<=
'0'
;
err_cpu_dm
<=
'0'
;
end
generate
;
-- Add registers on uRV data bus
-- Add registers on uRV data bus
process
(
clk_sys_i
)
process
(
clk_sys_i
)
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
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