Difference between revisions of "Extend IOP16 minimal example"

From Land Boards Wiki
Jump to navigation Jump to search
Line 32: Line 32:
 
** [https://github.com/douggilliland/Design_A_CPU Design a CPU GitHub repository]
 
** [https://github.com/douggilliland/Design_A_CPU Design a CPU GitHub repository]
 
* Example copies files to TestBuild folder
 
* Example copies files to TestBuild folder
 +
* There are a lot of extra files in the two unzipped folders (380MB)
  
 
=== Alternately download ZIP files ===
 
=== Alternately download ZIP files ===

Revision as of 11:50, 11 April 2022

Overview

This is a guide to extending the minimal IOP example by adding IOP16 Peripherals to the minimal design

Baseline Design

Starts from IOP example

  • Similar to Arduino "Blink Sketch" and uses the following resources
    • Timer Unit - 1 second timer
      • The Timer unit can be removed if not needed
      • Timer makes Blink easier
    • On-board LED

Steps

  • Copy baseline design
  • Select/add peripherals
  • Create new peripherals
  • Write assembly code
  • Build/test

Clone Sources

Alternately download ZIP files

  • Alternately you can download the two ZIP files from GitHub

IOP16 PortingGuide Download-Zip-Files.PNG

  • Unzipped into the same folder

IOP16 PortingGuide Unzipped-to-Folder.PNG

  • Rename the folders to remove the -main from the folder path

IOP16 PortingGuide Remove-main.PNG

Build Minimal Example

Start by building the minimal example in Quartus II

  • Open the Project file in Quartus II

IOP16 PortingGuide Open-Project-File.PNG

  • Entities in Quartus should look like

IOP16 PortingGuide Entities.PNG

  • Build FPGA (click the blue "Start Compilation arrow)
  • Build does not verify the ROM file
    • May need to re-point to the ROM .MIF file since Quartus II sometimes "forgets"
    • Double clicking on the IOP_ROM file

IOP16 PortingGuide Selecting ROM 2.PNG

  • Hit finish, if you get error

IOP16 PortingGuide ROM Error.PNG

  • Re-point to the ROM file
  • Make sure to select .MIF file extension

IOP16 PortingGuide ROM TestTimer.PNG

Select Peripherals

Create new peripherals

Write Assembly code

Test the build