Altera_Forum
Honored Contributor
11 years agoQsys CFI (Common Flash memory Interface) is missing connections
Having a problem with the Qsys CFI memory interface: when a CFI interface is added to a Qsys Nios system, there are very important memory control lines that are not "brought out" of the system, specifically the lines shown in the Cyclone III Device Handbook page 9-26 (DCLK, Reset_L, Wait, and ADV_L).
How does one get Qsys to present these control lines? To demonstrate the problem create a simple Qsys embedded system with a Nios II CPU, a FLASH and a RAM. Instructions below are for the Quartus II 13.1 Web Edition:- Start a new Quartus II project using the new project wizard. Choose a Cyclone III EP3C40F780I7.
- Open Qsys under the Tools menu
- Add a Nios II processor (Economy version)
- Add a JTAG UART (as always), connect it's clock, and connect it to the Nios instruction-master and data_master. Also, wire in the JTAG UART's interrupt to the Nios processor
- Add a System ID (as always), connect it's clock and connect it to the Nios data-master.
- Add a Generic Tri-State Controller for a FLASH memory and select and apply the "Preset" for the Flash Memory Interface (CFI) and press "Finish" to accept the default parameters.
- Add a Tri-State Conduit (to bring the address, data, and memory control lines out of the cpu system) and export the signals by entering a name "flash" in the export column
- Connect the Tri-State controller and bridge together (connect the tcm to tcs).
- Connect the Flash Tri-State Controller to the data_master and instruction_master of the Nios processor
- Connect the clocks of the controller and bridge to the system clock.
- Connect the reset lines of the controller and bridge by having Qsys Create Global Reset Network (under the System menu item).
- Add a second Tri-State Controller for an SRAM, select the Preset for the IDT71V416 SRAM and press the Apply button, press finish to accept the defaults.
- Add a second Tri-State Bridge for the SRAM & "wire" up the SRAM controller to the bridge
- Connect the Tri-State Controller to the Nios data-Master and instruction-master
- Wire in clocks, again.
- Wire in the resets by using System - Create Global Reset Network
- Assign the base addresses for all the components added above by letting Qsys assign base addresses. Select "Assign Base Addresses" under the System menu.
- Generate the system. When asked, give it a name like "CPU_1".