Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in
Toggle navigation
W
White Rabbit core collection
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
30
Issues
30
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Schedules
Wiki
Wiki
image/svg+xml
Discourse
Discourse
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Commits
Issue Boards
Open sidebar
Projects
White Rabbit core collection
Commits
1652bb2a
Commit
1652bb2a
authored
Apr 08, 2016
by
Wesley W. Terpstra
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
eca: on IO channels, report delayed as valid (there is no delayed on a_io_o)
parent
10a4b973
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
11 additions
and
1 deletion
+11
-1
eca.vhd
modules/wr_eca/eca.vhd
+2
-0
eca_channel.vhd
modules/wr_eca/eca_channel.vhd
+2
-0
eca_channel_tb.vhd
modules/wr_eca/eca_channel_tb.vhd
+1
-0
eca_internals_pkg.vhd
modules/wr_eca/eca_internals_pkg.vhd
+2
-0
eca_tag_channel.vhd
modules/wr_eca/eca_tag_channel.vhd
+3
-1
eca_tag_channel_tb.vhd
modules/wr_eca/eca_tag_channel_tb.vhd
+1
-0
No files found.
modules/wr_eca/eca.vhd
View file @
1652bb2a
...
...
@@ -442,6 +442,7 @@ begin
io_channel
:
eca_channel
generic
map
(
g_support_io
=>
true
,
g_never_delayed
=>
true
,
g_num_channels
=>
g_num_ios
,
g_log_size
=>
g_log_queue_size
,
g_log_multiplier
=>
g_log_multiplier
,
...
...
@@ -478,6 +479,7 @@ begin
tag_channel
:
eca_channel
generic
map
(
g_support_io
=>
false
,
g_never_delayed
=>
false
,
g_num_channels
=>
f_num
(
i
-1
),
g_log_size
=>
g_log_queue_size
,
g_log_multiplier
=>
g_log_multiplier
,
...
...
modules/wr_eca/eca_channel.vhd
View file @
1652bb2a
...
...
@@ -62,6 +62,7 @@ use work.eca_internals_pkg.all;
entity
eca_channel
is
generic
(
g_support_io
:
boolean
:
=
false
;
-- Should io_o be driven?
g_never_delayed
:
boolean
:
=
false
;
-- Report delayed as valid?
g_num_channels
:
natural
:
=
1
;
-- Number of channels emulated by this instance (must be >= 1)
g_log_size
:
natural
:
=
8
;
-- 2**g_log_size = maximum number of pending actions
g_log_multiplier
:
natural
:
=
3
;
-- 2**g_log_multiplier = ticks per cycle
...
...
@@ -302,6 +303,7 @@ begin
channel
:
eca_tag_channel
generic
map
(
g_support_io
=>
g_support_io
,
g_never_delayed
=>
g_never_delayed
,
g_num_channels
=>
g_num_channels
,
g_log_size
=>
g_log_size
,
g_log_multiplier
=>
g_log_multiplier
,
...
...
modules/wr_eca/eca_channel_tb.vhd
View file @
1652bb2a
...
...
@@ -105,6 +105,7 @@ begin
channel
:
eca_channel
generic
map
(
g_support_io
=>
true
,
g_never_delayed
=>
false
,
g_num_channels
=>
c_num_channels
,
g_log_size
=>
c_log_size
,
g_log_multiplier
=>
c_log_multiplier
,
...
...
modules/wr_eca/eca_internals_pkg.vhd
View file @
1652bb2a
...
...
@@ -365,6 +365,7 @@ package eca_internals_pkg is
component
eca_tag_channel
is
generic
(
g_support_io
:
boolean
:
=
false
;
-- Should io_o be driven?
g_never_delayed
:
boolean
:
=
false
;
-- Report delayed as valid?
g_num_channels
:
natural
:
=
1
;
-- Number of channels emulated by this instance
g_log_size
:
natural
:
=
8
;
-- 2**g_log_size = maximum number of pending actions
g_log_multiplier
:
natural
:
=
3
;
-- 2**g_log_multiplier = ticks per cycle
...
...
@@ -407,6 +408,7 @@ package eca_internals_pkg is
component
eca_channel
is
generic
(
g_support_io
:
boolean
:
=
false
;
-- Should io_o be driven?
g_never_delayed
:
boolean
:
=
false
;
-- Report delayed as valid?
g_num_channels
:
natural
:
=
1
;
-- Number of channels emulated by this instance (must be >= 1)
g_log_size
:
natural
:
=
8
;
-- 2**g_log_size = maximum number of pending actions
g_log_multiplier
:
natural
:
=
3
;
-- 2**g_log_multiplier = ticks per cycle
...
...
modules/wr_eca/eca_tag_channel.vhd
View file @
1652bb2a
...
...
@@ -31,6 +31,7 @@ use work.eca_internals_pkg.all;
entity
eca_tag_channel
is
generic
(
g_support_io
:
boolean
:
=
false
;
-- Should io_o be driven?
g_never_delayed
:
boolean
:
=
false
;
-- Report delayed as valid?
g_num_channels
:
natural
:
=
1
;
-- Number of channels emulated by this instance
g_log_size
:
natural
:
=
8
;
-- 2**g_log_size = maximum number of pending actions
g_log_multiplier
:
natural
:
=
3
;
-- 2**g_log_multiplier = ticks per cycle
...
...
@@ -648,7 +649,8 @@ begin
s_late
<=
r_mux_valid
and
r_mux_late
;
s_early
<=
r_mux_valid
and
r_mux_early
;
s_conflict
<=
(
r_mux_valid
and
r_mux_next
and
s_saw_valid
)
and
not
(
s_late
or
s_early
);
s_delayed
<=
(
r_mux_valid
and
(
r_mux_delay
or
r_stall
))
and
not
(
s_late
or
s_early
or
s_conflict
);
s_delayed
<=
(
r_mux_valid
and
(
r_mux_delay
or
r_stall
))
and
not
(
s_late
or
s_early
or
s_conflict
)
and
not
f_eca_active_high
(
g_never_delayed
);
-- Only valid if the errors are accepted by the condition rule
s_valid
<=
r_mux_valid
and
...
...
modules/wr_eca/eca_tag_channel_tb.vhd
View file @
1652bb2a
...
...
@@ -99,6 +99,7 @@ begin
channel
:
eca_tag_channel
generic
map
(
g_support_io
=>
true
,
g_never_delayed
=>
false
,
g_num_channels
=>
c_num_channels
,
g_log_size
=>
c_log_size
,
g_log_multiplier
=>
c_log_multiplier
,
...
...
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