projects
/
soc.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
f06f3b0
)
add docstring for address match comparator
author
Luke Kenneth Casson Leighton
<lkcl@lkcl.net>
Mon, 3 Jun 2019 14:03:30 +0000
(15:03 +0100)
committer
Luke Kenneth Casson Leighton
<lkcl@lkcl.net>
Mon, 3 Jun 2019 14:03:30 +0000
(15:03 +0100)
src/scoreboard/addr_match.py
patch
|
blob
|
history
diff --git
a/src/scoreboard/addr_match.py
b/src/scoreboard/addr_match.py
index d7692b32de54b24d160af0e73b7472881e0563f3..657f95b68851b4df7a40eec031694e2246c3ea49 100644
(file)
--- a/
src/scoreboard/addr_match.py
+++ b/
src/scoreboard/addr_match.py
@@
-13,6
+13,12
@@
to do is cover the cases that are *definitely* matches (by checking 11
bits or so), and if a few opportunities for parallel LD/STs are missed
because the top (or bottom) bits weren't checked, so what: all that
happens is: the mis-matched addresses are LD/STd on single-cycles. Big Deal.
bits or so), and if a few opportunities for parallel LD/STs are missed
because the top (or bottom) bits weren't checked, so what: all that
happens is: the mis-matched addresses are LD/STd on single-cycles. Big Deal.
+
+However, if we wanted to enhance this algorithm (without using a CAM and
+without using expensive comparators) probably the best way to do so would
+be to turn the last 16 bits into a byte-level bitmap. LD/ST on a byte
+would have 1 of the 16 bits set. LD/ST on a DWORD would have 8 of the 16
+bits set (offset if the LD/ST was misaligned). TODO.
"""
from nmigen.compat.sim import run_simulation
"""
from nmigen.compat.sim import run_simulation