[Libre-soc-bugs] [Bug 510] New: check for combinatorial path through DIV FSM
bugzilla-daemon at libre-soc.org
bugzilla-daemon at libre-soc.org
Sun Oct 4 20:11:17 BST 2020
https://bugs.libre-soc.org/show_bug.cgi?id=510
Bug ID: 510
Summary: check for combinatorial path through DIV FSM
Product: Libre-SOC's first SoC
Version: unspecified
Hardware: Other
OS: Linux
Status: CONFIRMED
Severity: enhancement
Priority: ---
Component: Source Code
Assignee: lkcl at lkcl.net
Reporter: lkcl at lkcl.net
CC: libre-soc-bugs at lists.libre-soc.org
NLnet milestone: ---
https://git.libre-soc.org/?p=soc.git;a=blob;f=src/soc/fu/div/fsm.py;h=befb463d0ef1f23fcbde6933e0c0e9070cf08b3f;hb=a1f8daaf0e4e2fcea1edf8b9037a2082cc1a59a2#l170
jacob when running nextpnr5 the highest reported path latency is through the
DIV FSM because the CompUnit Manager input snd output latches, controlled by
go/req from the regfiles are combinatorial *and* nextpnr5 is finding and
reporting a combinatorial through the FSM itself.
can you please take a look and see where that is, you can use "ltp" in yosys on
the compunit or pileline ilang file (after synth or synth_ecp5)
i suspect it is this:
m.d.comb += self.n.valid_o.eq(~self.empty & self.div_state_next.o.done)
although it us likely to be more. i think the root of the issue is that no
output should be copied excepy synchtonously or through a synchronous register.
i.e. referring to saved_state is ok because that is copied synxhronously and
thus creates a firebreak.
however referring to data.o directly and combinatorially is not.
this is a high priority issue as it will be picked up later during ASIC timing
analysis which is a month closer to the deeadline, which would be really bad to
try to "fix" with only days left before GDSII files are due.
--
You are receiving this mail because:
You are on the CC list for the bug.
More information about the libre-soc-bugs
mailing list