projects
/
nmigen.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
d143664
)
vendor.xilinx_spartan_3_6: explain why ASYNC_REG is used. NFC.
author
whitequark
<whitequark@whitequark.org>
Tue, 24 Sep 2019 12:22:29 +0000
(12:22 +0000)
committer
whitequark
<whitequark@whitequark.org>
Tue, 24 Sep 2019 12:22:29 +0000
(12:22 +0000)
nmigen/vendor/xilinx_spartan_3_6.py
patch
|
blob
|
history
diff --git
a/nmigen/vendor/xilinx_spartan_3_6.py
b/nmigen/vendor/xilinx_spartan_3_6.py
index eb0aac017ac40b060f525ebefb14c92be2420ef1..aafb3f8b2b1db4a87222c5ef364698b05beff67e 100644
(file)
--- a/
nmigen/vendor/xilinx_spartan_3_6.py
+++ b/
nmigen/vendor/xilinx_spartan_3_6.py
@@
-411,6
+411,11
@@
class XilinxSpartan3Or6Platform(TemplatedPlatform):
)
return m
+ # The synchronizer implementations below apply the ASYNC_REG attribute. This attribute
+ # prevents inference of shift registers from synchronizer FFs, and constraints the FFs
+ # to be placed as close as possible, ideally in one CLB. This attribute only affects
+ # the synchronizer FFs themselves.
+
def get_ff_sync(self, ff_sync):
if ff_sync._max_input_delay is not None:
raise NotImplementedError("Platform {!r} does not support constraining input delay "