Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in
Toggle navigation
R
Resource Evaluation of WR switch HDL for Ultrascale Plus
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
CI / CD
CI / CD
Pipelines
Schedules
Wiki
Wiki
Snippets
Snippets
image/svg+xml
Discourse
Discourse
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Commits
Issue Boards
Open sidebar
Projects
Resource Evaluation of WR switch HDL for Ultrascale Plus
Commits
f4238964
Commit
f4238964
authored
Sep 04, 2019
by
Marek Gumiński
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Changed data width in xswc_core
parent
e21fe545
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
26 additions
and
23 deletions
+26
-23
xswc_core.vhd
modules/wrsw_swcore/xswc_core.vhd
+18
-18
xswc_input_block.vhd
modules/wrsw_swcore/xswc_input_block.vhd
+2
-2
xswc_output_block_new.vhd
modules/wrsw_swcore/xswc_output_block_new.vhd
+6
-3
No files found.
modules/wrsw_swcore/xswc_core.vhd
View file @
f4238964
...
...
@@ -61,26 +61,26 @@ entity xswc_core is
g_interface_mode
:
t_wishbone_interface_mode
:
=
PIPELINED
;
g_address_granularity
:
t_wishbone_address_granularity
:
=
BYTE
;
g_prio_num
:
integer
;
--:= c_swc_output_prio_num; [works only for value of 8, output_block-causes problem]
g_output_queue_num
:
integer
;
g_max_pck_size
:
integer
;
-- in 16bits words --:= c_swc_max_pck_size
g_max_oob_size
:
integer
;
g_num_ports
:
integer
;
--:= c_swc_num_ports
g_pck_pg_free_fifo_size
:
integer
;
--:= c_swc_freeing_fifo_size (in pck_pg_free_module.vhd)
g_input_block_cannot_accept_data
:
string
;
--:= "drop_pck"; --"stall_o", "rty_o" -- (xswc_input_block) Don't CHANGE !
g_output_block_per_queue_fifo_size
:
integer
;
--:= c_swc_output_fifo_size (xswc_output_block)
g_prio_num
:
integer
:
=
8
;
--:= c_swc_output_prio_num; [works only for value of 8, output_block-causes problem]
g_output_queue_num
:
integer
:
=
8
;
g_max_pck_size
:
integer
:
=
10
*
1024
;
-- in 16bits words --:= c_swc_max_pck_size
g_max_oob_size
:
integer
:
=
3
;
g_num_ports
:
integer
:
=
7
;
--:= c_swc_num_ports
g_pck_pg_free_fifo_size
:
integer
:
=
512
;
--:= c_swc_freeing_fifo_size (in pck_pg_free_module.vhd)
g_input_block_cannot_accept_data
:
string
:
=
"drop_pck"
;
--:= "drop_pck"; --"stall_o", "rty_o" -- (xswc_input_block) Don't CHANGE !
g_output_block_per_queue_fifo_size
:
integer
:
=
64
;
--:= c_swc_output_fifo_size (xswc_output_block)
-- new
g_wb_data_width
:
integer
;
g_wb_addr_width
:
integer
;
g_wb_sel_width
:
integer
;
g_wb_ob_ignore_ack
:
boolean
:
=
tru
e
;
g_mpm_mem_size
:
integer
;
-- in 16bits words
g_mpm_page_size
:
integer
;
-- in 16bits words
g_mpm_ratio
:
integer
;
g_mpm_fifo_size
:
integer
;
g_mpm_fetch_next_pg_in_advance
:
boolean
;
g_drop_outqueue_head_on_full
:
boolean
;
g_wb_data_width
:
integer
:
=
16
;
g_wb_addr_width
:
integer
:
=
2
;
g_wb_sel_width
:
integer
:
=
2
;
g_wb_ob_ignore_ack
:
boolean
:
=
fals
e
;
g_mpm_mem_size
:
integer
:
=
65536
;
-- in 16bits words
g_mpm_page_size
:
integer
:
=
64
;
-- in 16bits words
g_mpm_ratio
:
integer
:
=
8
;
g_mpm_fifo_size
:
integer
:
=
8
;
g_mpm_fetch_next_pg_in_advance
:
boolean
:
=
false
;
g_drop_outqueue_head_on_full
:
boolean
:
=
true
;
g_num_global_pause
:
integer
:
=
2
;
g_num_dbg_vector_width
:
integer
:
=
32
);
...
...
modules/wrsw_swcore/xswc_input_block.vhd
View file @
f4238964
...
...
@@ -398,7 +398,7 @@ architecture syn of xswc_input_block is
-- pWB interface (i/o singals)
-- input
signal
snk_dat_int
:
std_logic_vector
(
15
downto
0
);
signal
snk_dat_int
:
std_logic_vector
(
63
downto
0
);
signal
snk_adr_int
:
std_logic_vector
(
1
downto
0
);
signal
snk_sel_int
:
std_logic_vector
(
1
downto
0
);
signal
snk_cyc_int
:
std_logic
;
...
...
@@ -708,7 +708,7 @@ begin --archS_PCKSTART_SET_AND_REQ
in_pck_dvalid
<=
snk_stb_int
and
snk_we_int
and
snk_cyc_int
and
not
snk_stall_int
;
-- we store in FBM addr and data
in_pck_dat
<=
snk_adr_int
&
snk_dat_int
;
in_pck_dat
<=
snk_adr_int
&
snk_dat_int
(
15
downto
0
)
;
-- detecting the end of the pck
-- it is enough always, except special case when we receive eof during PAUSE state,
...
...
modules/wrsw_swcore/xswc_output_block_new.vhd
View file @
f4238964
...
...
@@ -799,7 +799,8 @@ begin -- behavoural
if
(
src_i
.
stall
=
'0'
)
then
if
(
mpm_dvalid_i
=
'1'
)
then
-- a avoid copying crap (i.e. XXX)
src_out_int
.
adr
<=
mpm2wb_adr_int
;
src_out_int
.
dat
<=
mpm2wb_dat_int
;
src_out_int
.
dat
<=
(
others
=>
'0'
);
src_out_int
.
dat
(
15
downto
0
)
<=
mpm2wb_dat_int
;
src_out_int
.
sel
<=
mpm2wb_sel_int
;
end
if
;
src_out_int
.
stb
<=
mpm_dvalid_i
;
...
...
@@ -819,7 +820,8 @@ begin -- behavoural
elsif
(
abord_tx_at_hp
=
'1'
and
mpm_dlast_i
=
'0'
)
then
-- drop at HP in the outqueue
s_send_pck
<=
S_FINISH_CYCLE
;
-- we free page in EOF
src_out_int
.
adr
<=
c_WRF_STATUS
;
src_out_int
.
dat
<=
f_marshall_wrf_status
(
wrf_status_err
);
src_out_int
.
dat
<=
(
others
=>
'0'
);
src_out_int
.
dat
(
15
downto
0
)
<=
f_marshall_wrf_status
(
wrf_status_err
);
src_out_int
.
sel
<=
(
others
=>
'1'
);
src_out_int
.
stb
<=
'1'
;
elsif
(
src_i
.
stall
=
'1'
and
mpm_dvalid_i
=
'1'
)
then
...
...
@@ -847,7 +849,8 @@ begin -- behavoural
src_out_int
.
cyc
<=
'0'
;
src_out_int
.
stb
<=
'0'
;
elsif
(
src_i
.
stall
=
'0'
)
then
src_out_int
.
dat
<=
tmp_dat
;
src_out_int
.
dat
<=
(
others
=>
'0'
);
src_out_int
.
dat
(
15
downto
0
)
<=
tmp_dat
;
src_out_int
.
adr
<=
tmp_adr
;
src_out_int
.
stb
<=
'1'
;
src_out_int
.
sel
<=
tmp_sel
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment