Skip to main content
14 events
when toggle format what by license comment
Jun 21, 2021 at 16:47 comment added Ben Voigt @Neil_UK: "which go to sufficient sigma". See, you do know it happens with a (very low) probability. How many sigma do you think "ten.billion.human.second.century" is?
Jun 21, 2021 at 16:38 comment added Neil_UK @BenVoigt metastability shouldn't occur in a well-designed single clock fully synchronous design, not if the timing analyser uses min and max timings which go to sufficient sigma. Are you saying the timing data is not conservative enough? Instantiate, implement, whatever. The question asked should be unasked, the correct answer is don't do it that way.
Jun 21, 2021 at 15:17 comment added Ben Voigt Possibly you meant "The correct way to instantiate dual port RAM" and not "to implement", in which case I would agree with you. And it would still not be an answer to the question asked.
Jun 21, 2021 at 15:15 comment added Ben Voigt Also note that metastability also occurs in a single clock fully synchronous design, with some very-low probability which in many cases is still much higher than the target you mention.
Jun 21, 2021 at 15:13 comment added Ben Voigt What you describe is not actually dual-port RAM (two control ports each with its own clock), but a dual-issue RAM (two control ports sharing a clock). It may be useful for most of the same applications in practice, and easier to reason about... but it is not an answer to the question.
Jun 21, 2021 at 13:20 history edited Neil_UK CC BY-SA 4.0
added 364 characters in body
Jun 21, 2021 at 8:59 comment added Neil_UK @LeeLeeYa You don't necessarily need pipelined latches to drive the probability of metastability down, you just have to wait long enough. However, if your system clock period is less than the time you need to wait, then you must use a pipeline of latches to implement the wait.
Jun 21, 2021 at 8:57 history edited Neil_UK CC BY-SA 4.0
added 326 characters in body
Jun 21, 2021 at 7:36 vote accept LeeLeeYa
Jun 21, 2021 at 7:35 vote accept LeeLeeYa
Jun 21, 2021 at 7:36
Jun 21, 2021 at 7:11 comment added Neil_UK The clk_crossing process is using pipelined latches. So it's doing the right thing in order to minimise problems, but it's doing it in the wrong place. It's rather like commiting a murder, and then recycling the weapon in an eco-friendly way. You're doing the right eco thing, but in the commission of a heinous clk_crossing deed. Don't do the murder. Use a single clock for the RAM. Redesign for clock enables.
Jun 21, 2021 at 7:07 comment added LeeLeeYa I have read about pipelined latches. The process "clk_crossing" is an implementation of it, isnt?
Jun 21, 2021 at 7:05 history edited Neil_UK CC BY-SA 4.0
added 503 characters in body
Jun 21, 2021 at 6:45 history answered Neil_UK CC BY-SA 4.0