Design Store

Framebuffer Driven LCD Display  

CategoryDesign Example
NameFramebuffer Driven LCD Display
DescriptionThis design example demonstrates how to draw complex graphics to the NEEK’s LCD using a framebuffer driven approach. A framebuffer is a block of memory used to store pixel color values (red, green, and blue). In this design, the Nios II Processor writes to DDR3 memory where the framebuffer is located and programs in the colors of all of the pixels. The Framebuffer Reader module then reads outs that data from memory and performs a memory-mapped to streaming interface conversion. Lastly, the streaming pixel data is sent to the LCD Driver to get displayed to the screen. In the user guide, you will find descriptions for how the LCD works as well as how all of the custom modules in this design were constructed (Framebuffer Reader and the LCD Driver).
See also:
Operating SystemBareMetal
IP Core
IP CoreHeading
IRQ MapperInterrupt
DDR3 SDRAM Controller with UniPHYMemory Interfaces with UniPHY
Altera DDR3 Nextgen Memory ControllerMemory Controllers
Altera Nextgen Memory Controller MM-ST AdapterMemory Controller Components
Altera DDR3 Nextgen Memory Controller CoreMemory Controller Components
Altera DDR3 AFI MultiplexerMemory AFI Multiplexers
DDR3 SDRAM External Memory PHYMemory PHYs
DDR3 SDRAM External Memory PLL/DLL/OCT blockMemory PHYs
DDR3 SDRAM Qsys SequencerMemory Sequencers
Avalon-MM Master AgentMemory-Mapped
Avalon-MM Master TranslatorMemory-Mapped
Avalon-MM Slave AgentMemory-Mapped
Avalon-ST Single Clock FIFOOn Chip Memory
Avalon-MM Slave TranslatorMemory-Mapped
Avalon-MM Clock Crossing BridgeMemory Mapped
Avalon-ST Dual Clock FIFOOn Chip Memory
MM InterconnectMerlin Components
Avalon-ST AdapterStreaming
Avalon-ST Error AdapterStreaming
Memory-Mapped DemultiplexerMemory-Mapped
Memory-Mapped MultiplexerMemory-Mapped
Memory-Mapped Width AdapterMemory-Mapped
Memory-Mapped Traffic LimiterMemory-Mapped
Memory-Mapped RouterMemory-Mapped
Nios II Gen2 ProcessorNios
Reset ControllerClocks; PLLs and Resets
Interval TimerPeripherals
FamilyMAX 10
Framebuffer Driven LCD Display User Guide-
Development KitMAX 10 NEEK
Installation Package

Note: After downloading the design example, you must prepare the design template. The file you downloaded is of the form of a <project>.par file which contains a compressed version of your design files (similar to a .qar file) and metadata describing the project. The combination of this information is what constitutes a <project>.par file. In releases 16.0 or newer, you can simply double click on the <project>.par file and Quartus will launch that project.

The second means to bring up the project template is through the New Project Wizard (File -> New Project Wizard). After entering the project name and folder on the first panel, the second panel will ask you to specify an empty project or project template. Select project template. You will see a list of Design Templates projects that you have loaded prior as well as various "Baseline Pinout Designs" that contain the pinout and settings for a variety of development kits. If you don't see your design template in the list, click on the link that states install the Design Templates circled below:

Browse to the <project>.par file you downloaded, click next, followed by Finish, and your design template will be installed and displayed in the Project Navigator pane in Quartus.

Note: When a design is stored in the Design Store as a design template, it has been previously regression tested against the stated version of Quartus software. The regression ensures the design template passes analysis/synthesis/fitting/assembly steps in the Quartus design flow.

At the command-line, type the following command:

quartus_sh --platform_install –package <project directory>/Framebuffer_LCD_Driver.par

Once the process completes, then type:

quartus_sh --platform –name Framebuffer_LCD_Driver

Total Downloads41 (From 16 May 2016 to 15 Aug 2017)
Quartus II VersionDownload Quartus II v16.0
Quartus II EditionStandard

Last updated on Sept. 7, 2017, 5:37 a.m.