[libre-riscv-dev] cache SRAM organisation
Luke Kenneth Casson Leighton
lkcl at lkcl.net
Thu Mar 26 21:28:32 GMT 2020
On Thu, Mar 26, 2020 at 8:08 PM Staf Verhaegen <staf at fibraservi.eu> wrote:
> Luke Kenneth Casson Leighton schreef op do 26-03-2020 om 15:15 [+0000]:
> > On Thursday, March 26, 2020, Staf Verhaegen <staf at fibraservi.eu> wrote:
> > > I can understand you do this to implement functional units withconfigurable pipeline length but I would strongly discourage to pipelineregister files after each other .
> >
> >
> > "pipeline register files after each other"? apologies i am not clear whatyou mean, here. do you mean "don't do write-thru on the Regfile"?
>
> No I meant for example connecting the output of one port of an asynchronous RAM to for example the address input of another port of an asynchronous RAM.
ah right, no definitely not. the connections are:
RegisterFile readport[0..R] ==> FunctionUnit[0..M] operand latches
pipeline stage 0
pipeline stage 1
...
pipeline stage N
RegisterFile writeport[0..W] <== FunctionUnit[0..M] result latches
(and also: )
register file bypass forwardingbus <== FunctionUnit result latches
register file bypass forwardingbus ==> FunctionUnit operand latches
so the asynchronous SRAMs will definitely *only* be connected to SFF
latches. *not* to other asynchronous SRAMs.
appreciated the clarification.
l.
More information about the libre-riscv-dev
mailing list