Skip to content

Latest commit

 

History

History
53 lines (39 loc) · 2.9 KB

Readme.md

File metadata and controls

53 lines (39 loc) · 2.9 KB

DMG-CPU Wiki

Topics

Latch vs DFF vs DLatch vs FF

On this site we use the following conventions for terminology:

  • Latch is a static memory element that responds to signal level (0/1)
  • DFF is a static memory element which reacts to level change (1->0 aka negedge, 0->1 aka posedge)
  • At the same time "FF" (FlipFlop, no D) - we call 2 elements (usually not or nor) cyclically closed to each other and used as a static memory cell.
  • DLatch is a dynamic memory element, which is stored on the FET gate. If it is not refreshed periodically, the value "fades away".

You may have heard other definitions on other sites/Wikipedia, but they are different everywhere (depending on the context), so we clearly define them.

  • Static memory elements: they store their value always and "forever", regardless of whether the CLK changes or not
  • Dynamic memory elements: they store their value on the FET gate, so they can get "corrupted" if not refreshed for a long time

Signals Disclaimer

I understand that everyone wants the signals to be called by human-readable and proper names. DMG-CPU study was conducted at different times, so sometimes you can see strange signal names.

Do not expect that all of them are quickly renamed to proper names. Such a process runs the risk of turning the study into signal renaming and nothing more.

From experience - frequent renaming of signals also contributes to various errors and confusion.

Renaming a signal does not make it work differently 😃

Signal names are mostly in snake_case notation, if another one is used, it was before snake_case was decided to be used :)

Reference