[libre-riscv-dev] [Bug 64] data handling / io control / data routing API needed
bugzilla-daemon at libre-riscv.org
bugzilla-daemon at libre-riscv.org
Tue Apr 30 14:52:37 BST 2019
http://bugs.libre-riscv.org/show_bug.cgi?id=64
--- Comment #46 from Luke Kenneth Casson Leighton <lkcl at lkcl.net> ---
(In reply to Jacob Lifshay from comment #39)
> I don't think we should use nmigen's FIFO interface, having an interface
> like was in the original Chisel code with a separate enq (entry) and deq
> (exit) port means that Queue is a Block rather than changing Queue to fit
> nmigen's FIFO interface only to then need to adapt back to the 2-port
> interface everywhere.
just to be absolutely clear: i changed ONLY the NAMES. i did NOT alter
the FUNCTIONALITY in ANY WAY, SHAPE OR FORM.
the change in name is documented at the top of the file:
din = enq_data, writable = enq_ready, we = enq_valid
dout = deq_data, re = deq_ready, readable = deq_valid
thus, if you are considering that Queue is a Block simply by changing
some characters of variable names using global/search/replace substitution,
this is clearly false.
from this clearly being false, it is just as equally clear that Queue
*EQUALS* block *EQUALS* FIFOControl *EQUALS* ControlBase in terms of
their API equivalence, as far as the ready/valid/data entry and exit
is concerned (and that, pure and simple, only the names are changed).
Block valid/ready EQUALS FIFOInterface writable/we - readable/re.
fact.
other parameters are added, yes - these have NOTHING TO DO WITH the plain
and simple fact that the ready/valid/data IS EXACTLY THE SAME.
does that make sense?
all of these objects *really do have exactly the same fundamental API*
--
You are receiving this mail because:
You are on the CC list for the bug.
More information about the libre-riscv-dev
mailing list