![]() |
|
|
|
#1 |
|
Hi,
I have generated two SCFIFOs with Altera Quartus (4.2 SP1) MegaWizardManager. One optimized for best speed (that is Quartus is said to add output registers) and one for smallest area (no output registers). After compiling the two FIFOs I have a look at their structure in the RTLViewer. And yet I cannot see any output registers for the "best speed" optimized one. I can go down the hierachy until I see the RAM block but there are no additional flipflops between the RAM block and the outputs of the SCFIFO. Why ? Rgds André ALuPin@web.de |
|
|
|
|
#2 |
|
Posts: n/a
|
wrote:
> And yet I cannot see any output registers for the "best speed" > optimized one. I can go down the hierachy until I see the > RAM block but there are no additional flipflops between the > RAM block and the outputs of the SCFIFO. Speed/Area constraints are just hints. If you know what you want, skip the wizard and write your own code. -- Mike Treseler Mike Treseler |
|
|
|
#3 |
|
Posts: n/a
|
Of course one could try to write an own FIFO, it case been
discussed here several times ... But my question still is why the MegaWizard says "Output register option for devices with fully synchronous RAM Would like to register the outputs to maximize performance but use more area?" --> YES (best speed) and YET the RTL viewer does not show an output register stage ? Rgds André Mike Treseler schrieb: > wrote: > > > And yet I cannot see any output registers for the "best speed" > > optimized one. I can go down the hierachy until I see the > > RAM block but there are no additional flipflops between the > > RAM block and the outputs of the SCFIFO. > > Speed/Area constraints are just hints. > If you know what you want, skip the wizard > and write your own code. > > -- Mike Treseler ALuPin@web.de |
|
|
|
#4 |
|
Posts: n/a
|
Hi Andre,
The outp[ut registers are an optional component in the M4K blocks. To illustrate this, create a dual-port memory using the Plug-in manager. At a certain point you get to the page where you can select which ports to register. One of them is the Q output. These output registers are inside the M4Ks, so you won't see them. If you look at the parameter with which the SCFIFO instantiates the M4K, you should see a difference. If not... Best regards, Ben Ben Twijnstra |
|
|
|
#5 |
|
Posts: n/a
|
Hi Ben,
ok, I cannot see it because I cannot look into the M4K block in the RTL viewer. Yes the attribute "add_ram_output_register" is differemt, you are right. scfifo_component : scfifo GENERIC MAP ( lpm_width => 9, lpm_numwords => 32, lpm_widthu => 5, intended_device_family => "Cyclone", lpm_type => "scfifo", lpm_showahead => "OFF", overflow_checking => "ON", underflow_checking => "ON", use_eab => "ON", add_ram_output_register => "ON" ) PORT MAP ( rdreq => rdreq, aclr => aclr, clock => clock, wrreq => wrreq, data => data, q => sub_wire0 ); Ben Twijnstra schrieb: > Hi Andre, > > The outp[ut registers are an optional component in the M4K blocks. > > To illustrate this, create a dual-port memory using the Plug-in manager. At > a certain point you get to the page where you can select which ports to > register. One of them is the Q output. These output registers are inside > the M4Ks, so you won't see them. If you look at the parameter with which > the SCFIFO instantiates the M4K, you should see a difference. > > If not... > > Best regards, > > > > Ben ALuPin@web.de |
|
![]() |
| Thread Tools | Search this Thread |
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| Altera NIOS II | pablogodoy | Hardware | 0 | 04-01-2008 01:59 PM |
| Altera Soft Core parallel tasking? Possible | bbiandov | Hardware | 0 | 12-02-2006 06:00 AM |