Tutorial 2: Introduction to Utilizing the PicoBlaze Microcontroller 1 The Spartan-3E Tutorial 2: Introduction to utilizing the PicoBlaze Microcontroller Model 1. zero Writer: Jasmine Banks © 2012, Queensland College of Know-how Xilinx Spartan-3E Mission Navigator Model 14. Three Tutorial 2: Introduction to Utilizing the PicoBlaze Microcontroller 2 Xilinx Spartan-3E Mission Navigator Model 14. Three Tutorial 2: Introduction to Utilizing the PicoBlaze Microcontroller Three Acknowledgements Components of this tutorial are based mostly on an earlier model written for Mission Navigator model 9. , written by Michael Bakker, Matthew Grace and Warwick Kilroy, as a part of ENB345 – Superior Design in 2008. Xilinx Spartan-3E Mission Navigator Model 14. Three Tutorial 2: Introduction to Utilizing the PicoBlaze Microcontroller Four Xilinx Spartan-3E Mission Navigator Model 14. Three Tutorial 2: Introduction to Utilizing the PicoBlaze Microcontroller 5 Glossary ALU DOS FPGA JTAG LED KCPSM3 Arithmetic Logic Unit Disk Working System Discipline Programmable Gate Array Joint Check Motion Group Mild Emitting Diode (Ok)Fixed Coded Programmable State Machine – a quite simple Eight-bit microcontroller optimised for Spartan-Three units [2].
Lowered Instruction Set Computing VHSIC Hardware Description Language Very Excessive Velocity Built-in Circuit RISC VHDL VHSIC Xilinx Spartan-3E Mission Navigator Model 14. Three Tutorial 2: Introduction to Utilizing the PicoBlaze Microcontroller 6 Xilinx Spartan-3E Mission Navigator Model 14. Three Tutorial 2: Introduction to Utilizing the PicoBlaze Microcontroller 7 Desk of Contents web page Acknowledgements ……………………………………………………………. ……………… Glossary ……………………………………………………………………………. …………. Checklist of Figures ………………………………………………………………. ……. …………. Checklist of Tables ………………………………………………………………………………… 1. zero Introduction …………………………………………………………………. ……. …… 1. 1 Design Performance ……………………………………………………….. ……….. 1. 2 Related Documentation .. ……………………………. …………………….. ………. 1. Three Pre-requisite Information …………………………………………………………….. 1. Four Scope ……………………………………………………………………………. …….. 2. zero Tools ………………………………………………………………………………… …. Three. zero Background – The PicoBlaze Microcontroller ……………………………….. …… ……… Four. zero Process Half 1 – PicoBlaze …………………………………………….. ……. ………… Four. 1 PicoBlaze Obtain …………………………………………….. …………………… Four. 2 Copy Information ……………………………………………………. ……………………… Four. Three Meeting Language Code ………………………………………. ……………………… Four. Operating the Assembler ……………………………….. ……………………………… 5. zero Process Half 2 – Mission Navigator …………………… ……………………….. ………… 5. 1 Startup …………………………………………………………………… ………. …… 5. 2 Making a New Mission ………………………………………………………. ……. …. 5. Three Including Supply Information ……………………………………………………….. …………… 5. Four tutorial. vhd and kcpsm3. vhd – Observations ………………………. ………. …………. 5. 5 Including a top_level Entity …………………………………………….. ……………… 5. 6 Enhancing the top_level Entity …………………………………………………. ………… 5. 7 top_level. vhd – Code …………………………………………. …………………………. 5. Eight Syntax Checking ………………………………………………… ………………… 5. 9 Pin Task …………………………………………………….. ………………… 5. 10 Synthesize, Translate, Map and Place & Route ………….. ……….. ………. ………… 5. 11 Obtain Design to Board ……………………………………….. ………… ……… 6. zero Operating the Program on the Spartan-3E Board ………………………….. ……………… 7. zero Additional Info …………………………………………………………… …………… Eight. zero References ………………………………………………………………… ………. ……… Appendix A – top_level. vhd ………………………………………………………… ………… Three 5 9 13 15 15 15 15 15 17 19 21 21 21 22 23 31 31 32 35 38 40 45 49 52 54 59 61 75 77 79 81 Xilinx Spartan-3E Mission Navigator Model 14. Three
Tutorial 2: Introduction to Utilizing the PicoBlaze Microcontroller Eight Xilinx Spartan-3E Mission Navigator Model 14. Three Tutorial 2: Introduction to Utilizing the PicoBlaze Microcontroller 9 Checklist of Figures web page Determine 2. 1: Spartan-3E Growth Board ……………………………………………………… Determine Three. 1: PicoBlaze parts ………………………………………………….. ……………. Determine Three. 2: KCPSM3 element declaration …………………………………. ……………… Determine Three. Three: Block Reminiscence element declaration ………………. ………………………………. Determine Four. 1: KCPSM3 recordsdata after unzipping ……………… ………………………………………………

Determine Four. 2: Easy PicoBlaze program . …. ……. ……………………………………………………… Determine Four. Three: Information within the working listing ……………… ……….. ……………………………… Determine Four. Four: KCPSM3 assembler recordsdata ………………………………….. …………………………. Determine Four. 5: DOS Command Immediate window, after altering to working listing …………… Determine Four. 6: DOS Command Immediate window, with KCPSM3 command typed in …………….. Determine Four. 7: DOS Command Immediate window, after KCPSM3 efficiently run ………………. Determine Four. Eight: Error message which seems if KCPSM3 is run on a 64-bit machine ………………
Determine Four. 9: DOSBox window ……………………………………………………………………………………… Determine Four. 10: DOSBox window, with KCPSM3 command typed in ….. …………………………….. Determine Four. 11: DOSBox window, after KCPSM3 efficiently run …………………………………. Determine Four. 12: Information within the working listing after KCPSM3 efficiently run …………………. Determine 5. 1: Mission Navigator Software program Startup Window ………………………………………………. Determine 5. 2: New Mission Wizard, Create New Mission Web page …………. …………………………….
Determine 5. Three: New Mission Wizard, Mission Settings Web page …………………………………………. Determine 5. Four: New Mission Wizard, Mission Abstract Web page ……………………………………… Determine 5. 5: Including a supply file to the mission ………….. ………………………………………………. Determine 5. 6: Add Supply file choice window ……………………………………………………………….. Determine 5. 7: Including Supply Information window …………………………………………………………………… Determine 5. Eight: kcpsm3 and tutorial within the Sources window ………………………………………………. 7 19 20 20 21 22 22 23 23 24 24 25 26 27 28 29 31 32 33 34 35 36 36 37 Xilinx Spartan-3E Mission Navigator Model 14. Three Tutorial 2: Introduction to Utilizing the PicoBlaze Microcontroller 10 Determine 5. 9: Supply code for tutorial. vhd displayed in a tab ……………………………………………. Determine 5. 10: tutorial entity ….. ……………………………………………………………………………………… Determine 5. 11: kcpsm3 entity . …………………………………………………………….. ……… …. Determine 5. 12: Including a supply file to the mission ………………………………….. ………… … Determine 5. Three: New Supply Wizard, Choose Supply Kind ……………………………………………………. Determine 5. 14: New Supply Wizard, Outline Module ………………………………………. …… Determine 5. 15: New Supply Wizard, Abstract ……. ……… …. ………………………………………….. Determine 5. 16: top_level within the Sources window ……………………………….. ……………… Determine 5. 17: top_level. vhd, as displayed in Mission Navigator, earlier than modifying ……………….. Determine 5. 18(a): Structure of top_level. vhd, half 1 ……………………………….. ……….. Determine 5. 18(b): Structure of top_level. vhd, half 2 …………………………………. …….. Determine 5. 19: top_level within the Sources window ………………………………………………..
Determine 5. 20: Element declarations ……………………………………………………………………………. Determine 5. 21: Sign declarations …………………………………………………………………………………… Determine 5. 22: Element instantiations ………………………………………………….. …… Determine 5. 23: Enter ports ……………………………………………………………………………………………….. Determine 5. 24: Output ports …………………………………………………………………………………………….. Determine 5. 5: Portion of Mission Navigator display with Synthesize – XST expanded …….. ….. Determine 5. 26: A inexperienced tick subsequent to Verify Syntax reveals that no errors have been discovered ……………. Determine 5. 27: Instance the place an error was purposely launched ……………………………… Determine 5. 28: Portion of Mission Navigator display, with Person Constraints expanded …………. Determine 5. 29: Dialog Field asking for those who want to create an Implementation Constraint File . …. Determine 5. 30: Preliminary look of PlanAhead window ………………………………………. Determine 5. 31: I/O Ports displayed in a separate window ………………………………………. 38 38 39 40 41 42 43 44 45 46 47 48 49 50 50 51 51 52 53 53 55 55 56 56
Xilinx Spartan-3E Mission Navigator Model 14. Three Tutorial 2: Introduction to Utilizing the PicoBlaze Microcontroller 11 Determine 5. 32: I/O Ports window with particular person ports expanded …………………………………. …. Determine 5. 33: I/O Ports window with values crammed in …………………………………………. Determine 5. 34: Portion of Mission Navigator display, with Implement Design expanded ……….. Determine 5. 35: Portion of Mission Navigator display, after Translate, Map and Place & Route have efficiently been run …………………………. …….. Determine 5. 36: Portion of Mission Navigator display, with Implement Design expanded ….. …… Determine 5. 7: Portion of Mission Navigator display, after Generate Programming File has efficiently been run ……………………………………………. ……. Determine 5. 38: The preliminary iMPACT window ……………………………………………….. ….. Determine 5. 39: iMPACT window, after double-clicking on Boundary Scan ……………………. Determine 5. 40: iMPACT window, exhibiting Initialize Chain chosen …………………………… Determine 5. 41: iMPACT window, assign configuration recordsdata ……………………………….. ….. Determine 5. 42: iMPACT window, assigning the configuration file for the xc3e500e ………. ….. Determine 5. 43: iMPACT window, dialog field asking if we want to connect an SPI or BPI PROM . Determine 5. Four: : iMPACT window, bypassing the xcf04s …………………………. …………… Determine 5. 45: iMPACT window, bypassing the xc2c64a ……………………………. ……….. Determine 5. 46: iMPACT window, Gadget Programming Properties dialog field ……………………… Determine 5. 47: iMPACT window, exhibiting the gadget chain ………………………….. ……….. Determine 5. 48: iMPACT window, choices which seem when proper clicking on the xc3s500e .. Determine 5. 49: iMPACT window, after this system has been efficiently downloaded to the Spartan-3E board ………………………………………….. ……… Determine 6. 1: The Spartan-3E board with this system working ………………………. …… …….. 57 58 59 60 61 2 63 64 65 66 67 68 69 70 71 72 72 73 75 Xilinx Spartan-3E Mission Navigator Model 14. Three Tutorial 2: Introduction to Utilizing the PicoBlaze Microcontroller 12 Xilinx Spartan-3E Mission Navigator Model 14. Three Tutorial 2: Introduction to Utilizing the PicoBlaze Microcontroller 13 Checklist of Tables Web page Desk 5. 1: Enter/output ports of the top_level entity . …………………………….. ……… …… Desk 5. 2: Values to enter within the I/O Ports window ………………………. ………… ……. …… 54 57 Xilinx Spartan-3E Mission Navigator Model 14. Three Tutorial 2: Introduction to Utilizing the PicoBlaze Microcontroller 14 Xilinx Spartan-3E Mission Navigator Model 14. Three
Tutorial 2: Introduction to Utilizing the PicoBlaze Microcontroller 15 1. zero Introduction This tutorial is designed to Help new customers develop into acquainted with utilizing the PicoBlaze microcontroller with the Spartan-3E board. The tutorial provides a quick introduction to the PicoBlaze microcontroller, after which steps via the next: • • • • Writing a small PicoBlaze meeting language (. psm) file, and stepping via the method of assembling the . psm file utilizing KCPSM3. Writing a prime stage VHDL module to attach the PicoBlaze microcontroller (KCPSM3 element) and this system ROM, and to attach the required enter and output ports.
Connecting the highest stage module inputs and outputs to the switches, buttons and LEDs on the Spartan-3E board. Downloading this system to the Spartan-3E board utilizing the Mission Navigator software program. 1. 1 Design Performance The code written on this tutorial reads the values of the 4 switches and the 4 push buttons, and shows the present values on the eight LEDS. 1. 2 Related Documentation Earlier than commencing this tutorial, it will be useful to obtain the Spartan-3E FPGA Starter Equipment Board Person Information [1], and the PicoBlaze Eight-bit Embedded Microcontroller Person Information [2]. 1. Pre-requisite Information Earlier than commencing this tutorial, the consumer ought to work via “The Spartan-3E Tutorial 1: Introduction to FGPA Programming” [3]. 1. Four Scope This tutorial is designed to Help the consumer who’s simply beginning to “get into” utilizing the PicoBlaze with the Spartan-3E. It steps via the method of making a quite simple PicoBlaze program, working the assembler, placing the VHDL parts collectively in Mission Navigator, and downloading the ultimate program to the board. It’s not designed to be a tutorial on VHDL syntax or to offer detailed data on the PicoBlaze.
For Help with VHDL, the consumer can seek the advice of with numerous textbooks on the topic, similar to [4,5], or discover Help on-line. The ebook by Chu [6] can also be a helpful reference for the Spartan-Three with many helpful examples. Reference designs for the Spartan-3E can be discovered right here [7]. For detailed details about the options and instruction set of the PicoBlaze, the consumer can seek the advice of the documentation in [2,8]. Xilinx Spartan-3E Mission Navigator Model 14. Three Tutorial 2: Introduction to Utilizing the PicoBlaze Microcontroller 16 Xilinx Spartan-3E Mission Navigator Model 14. Three
Tutorial 2: Introduction to Utilizing the PicoBlaze Microcontroller 17 2. zero Tools The next are required to work via this tutorial: • The Xilinx ISE Mission Navigator software program. Model 14. Three was used on this tutorial, however older variations of the software program can be utilized. The software program will be downloaded with a free WebPack license from the Xilinx web site, http://www. xilinx. com/. The consumer might want to register and log in. The Spartan-3E Starter Equipment, together with the Spartan-3E improvement board, energy cable and USB cable for PC connection. The Spartan-3E improvement board is proven in Determine 2. 1.
The Picoblaze Eight-bit Microcontroller software program. The software program will be downloaded at no cost from the Xilinx web site, http://www. xilinx. com/. Once more the consumer might want to register and log in. If a 64-bit machine is getting used, software program which might run 32-bit DOS applications, similar to DOSBox, might be wanted to run the KCPSM3 executable. DOSBox will be downloaded from http://www. dosbox. com/. • • • Energy JTAG ON/OFF Reset Button FPGA USB LCD LEDs Push Buttons Determine 2. 1: Spartan-3E Growth Board. SW0-Three Xilinx Spartan-3E Mission Navigator Model 14. Three Tutorial 2: Introduction to Utilizing the PicoBlaze Microcontroller 18 . zero Background – The PicoBlaze Micocontroller The PicoBlaze is an Eight-bit RISC microcontroller which is particularly designed and optimized for the Spartan-Three household. Considered one of its foremost benefits is its small measurement, requiring solely 96 FPGA slices. It’s offered as a free, source-level VHDL file with royalty-free re-use inside Xilinx FPGAs [2]. Determine Three. 1 reveals that the PicoBlaze consists of two parts. The KCPSM3 element offers the ALU, registers, scratchpad RAM and many others. The Block Reminiscence (Program) element shops the directions to be executed. This sometimes consists of a Block RAM, of 1024 bytes in measurement.
Determine Three. 1: PicoBlaze parts [8]. The essential design course of utilizing the PicoBlaze follows the steps under: 1. A PicoBlaze program is written in meeting language. This file is given the extension . psm. 2. The KCPSM3 assembler is run on the . psm file, and a VHDL file (extension . vhd) which embeds the directions within the Block Reminiscence element, is output. The title of the . vhd file might be derived from the title of the . psm file, i. e. , if the . psm file is myprog. psm, then the . vhd file might be myprog. vhd. Three. The VHDL code for the Block Reminiscence and KCPSM3 modules is loaded into Mission Navigator.
Additional VHDL code will should be written to attach the 2 modules and interface to the skin world. Four. The mission is compiled utilizing the Mission Navigator Software program, and in the end downloaded to the Spartan-3E board (or different goal hardware). Figures Three. 2 and three. Three present the VHDL element declarations for the KCPSM3 and Block Reminiscence respectively. Notice that the title of the Block Reminiscence element is derived from the title of the unique . psm file, i. e. , if the . psm file was myprog. psm, the Block Reminiscence element might be known as myprog. Xilinx Spartan-3E Mission Navigator Model 14. Tutorial 2: Introduction to Utilizing the PicoBlaze Microcontroller 19 element kcpsm3 port (handle instruction port_id write_strobe out_port read_strobe in_port interrupt interrupt_ack reset clk finish element; : : : : : : : : : : : out std_logic_vector(9 downto zero); in std_logic_vector(17 downto zero); out std_logic_vector(7 downto zero); out std_logic; out std_logic_vector(7 downto zero); out std_logic; in std_logic_vector(7 downto zero); in std_logic; out std_logic; in std_logic; in std_logic); Determine Three. 2: KCPSM3 element declaration. Identify of element derived from title of . psm file omponent myprog port (handle : in std_logic_vector(9 downto zero); instruction : out std_logic_vector(17 downto zero); clk : in std_logic); finish element; Determine Three. Three: Block Reminiscence element declarations. As well as, it’s potential to obtain a brand new program into the Block Reminiscence, utilizing the JTAG port on the Spartan-3E board. This could present a handy means to replace this system with out having to recompile the VHDL code in Mission Navigator. This isn’t coated by this introductory tutorial, and the consumer can seek advice from documentation similar to [3] for extra data. Xilinx Spartan-3E
Mission Navigator Model 14. Three Tutorial 2: Introduction to Utilizing the PicoBlaze Microcontroller 20 Four. zero Process Half 1 – PicoBlaze Four. 1 PicoBlaze Obtain 1. Obtain the file KCPSM3. zip from http://www. xilinx. com/. The model of the software program for the Spartan-Three household needs to be chosen. 2. Unzip the file. After unzipping, the recordsdata ought to seem as proven in Determine Four. 1. Determine Four. 1: KCPSM3 recordsdata after unzipping. The file KCPSM3_Manual. pdf is listed as reference [8] on this tutorial. Four. 2 Copy Information 1. Create a listing known as tutorial_2 in an acceptable location.
This would be the working listing for the remainder of this tutorial. 2. Copy the next recordsdata within the Assembler listing into tutorial_2: • • • • KCPSM3. EXE ROM_form. coe ROM_form. v ROM_form. vhd Three. Copy the next file within the VHDL listing into tutorial_2: • kcpsm3. vhd Xilinx Spartan-3E Mission Navigator Model 14. Three Tutorial 2: Introduction to Utilizing the PicoBlaze Microcontroller 21 Four. Three Meeting Language Code 1. Open a textual content editor (for instance, Notepad or Wordpad), and enter the textual content proven in Determine Four. 2. The textual content consists of a quite simple program written within the KCPSM3 meeting language.
This system runs in an infinite loop, studying the contents of an enter port at handle 00h (related to the switches) right into a register, and writing the contents of this register to an output port at handle 80h (related to the LEDs). Characters which seem after a “;” in every line are feedback. ; ; ; ; ; Easy loop that places contents of enter register into the output register switches DSIN $00 LEDS DSOUT $80 ; learn switches into register s0 ; write contents of s0 to output port 80 – leds. ; loop again to start out begin: INPUT s0, 00 OUTPUT s0, 80 JUMP begin Determine Four. 2: Easy PicoBlaze program. . Save your file to tutorial. psm, within the tutorial_2 listing. If utilizing Notepad, watch out to not save the file as tutorial. psm. txt. The title of the file needs to be restricted to eight characters. The tutorial_2 listing ought to now include the recordsdata proven in Determine Four. Three. Determine Four. Three: Information within the tutorial_2 working listing. Xilinx Spartan-3E Mission Navigator Model 14. Three Tutorial 2: Introduction to Utilizing the PicoBlaze Microcontroller 22 Four. Four Operating the Assembler As proven in Determine Four. Four, the assembler takes the . psm file as enter, in addition to three Block RAM initialisation templates.
Fifteen completely different output recordsdata are produced. On this tutorial, we might be utilizing the . vhd output file. Determine Four. Four: KCPSM3 assembler recordsdata [2]. The assembler is a DOS executable file, KCPSM3. exe, which will be run in a DOS Command Immediate window. Four. Four. 1 32-bit Working Methods 1. Open a DOS Command Immediate window by deciding on: Begin>All Packages>Equipment>Command Immediate > > > 2. Use the cd command to vary into the tutorial_2 working listing, as proven in Determine Four. 5. Determine Four. 5: DOS Command Immediate window, after altering to working listing. Xilinx Spartan-3E Mission Navigator Model 14. Three
Tutorial 2: Introduction to Utilizing the PicoBlaze Microcontroller 23 Three. Now kind the command KCPSM3 tutorial. psm, as proven in Determine Four. 6. Determine Four. 6: DOS Command Immediate window, with KCPSM3 command typed in. After getting into the command KCPSM3 tutorial. psm, quite a few messages ought to fly previous on the display, ending with “KCPSM3 profitable. KCPSM3 full”, as proven in Determine Four. 7. After the assembler has efficiently run, the working listing ought to include many extra recordsdata, as proven in Determine Four. 12. Determine Four. 7: DOS Command Immediate window, after KCPSM3 efficiently run. Four. Kind exit to shut the Command Immediate window.
Xilinx Spartan-3E Mission Navigator Model 14. Three Tutorial 2: Introduction to Utilizing the PicoBlaze Microcontroller 24 Four. Four. 2 64-bit Working Methods The KCPSM3 executable will solely work on 32-bit working techniques. If you’re utilizing a 64-bit machine and try and run KCPMS3 in a DOS Command Immediate window, the error message proven in Determine Four. Eight will seem. Determine Four. Eight: Error message which seems whether it is tried to run KCPSM3 on a 64-bit machine. One solution to work round this and run KCPSM3 is to make use of the DOSbox software program, which will be downloaded from http://www. dosbox. com/. 1.
Obtain and run DOSBox. 2. Mount the working listing and alter into this listing. When DOSbox is began up, a command window which resembles the DOS Command Immediate window seems. Nevertheless, it’s first essential to mount the working listing to a drive letter earlier than having the ability to enter this listing and run applications. That is achieved with the mount command: mount Determine Four. 9 reveals the instructions entered to mount and alter into the working listing. On this case, the working listing is mounted as drive letter c. The command c: is then used to vary into this listing. Xilinx Spartan-3E
Mission Navigator Model 14. Three Tutorial 2: Introduction to Utilizing the PicoBlaze Microcontroller 25 Determine Four. 9: DOSBox window, instructions entered to mount and alter into the working listing. Three. Now kind the command KCPSM3 tutorial. psm, as proven in Determine Four. 10. Xilinx Spartan-3E Mission Navigator Model 14. Three Tutorial 2: Introduction to Utilizing the PicoBlaze Microcontroller 26 Determine Four. 10: DOSBox window, with KCPSM3 command typed in. After getting into the command KCPSM3 tutorial. psm, quite a few messages ought to fly previous on the display, ending with “KCPSM3 profitable. KCPSM3 full”, as proven in Determine Four. 11.
After the assembler has efficiently run, the working listing ought to include many extra recordsdata, as proven in Determine Four. 12. Xilinx Spartan-3E Mission Navigator Model 14. Three Tutorial 2: Introduction to Utilizing the PicoBlaze Microcontroller 27 Determine Four. 11: DOSBox window, after KCPSM3 efficiently run. Four. Kind exit to shut DOSBox. Xilinx Spartan-3E Mission Navigator Model 14. Three Tutorial 2: Introduction to Utilizing the PicoBlaze Microcontroller 28 Determine Four. 12: Information within the working listing after KCPSM3 efficiently run. Xilinx Spartan-3E Mission Navigator Model 14. Three Tutorial 2: Introduction to Utilizing the PicoBlaze Microcontroller 9 Xilinx Spartan-3E Mission Navigator Model 14. Three Tutorial 2: Introduction to Utilizing the PicoBlaze Microcontroller 30 5. zero Process Half 2 – Mission Navigator 5. 1 Startup Begin the Mission Navigator software program by deciding on: Begin>All Packages>XILINX Design Instruments>Xilinx ISE Design Suite 14. Three>ISE Design > > > > Instruments>32 bit Mission Navigator > or Begin>All Packages>XILINX Design Instruments>Xilinx ISE Design Suite 14. Three>ISE Design > > > > Instruments>64 bit Mission Navigator > relying in your system. The Xilinx Mission Navigator software program ought to begin. The preliminary window which seems on startup ought to seem as proven in Determine 5. . Determine 5. 1: Mission Navigator Software program Startup Window. Xilinx Spartan-3E Mission Navigator Model 14. Three Tutorial 2: Introduction to Utilizing the PicoBlaze Microcontroller 31 5. 2 Making a New Mission 1. Choose File>New Mission. The New Mission Wizard will seem. > 2. Kind tutorial_2 within the Identify: discipline. Three. Select Location: and Working Listing: because the tutorial_2 working listing. Four. Confirm that High-level supply kind: is chosen as HDL. 5. The properties ought to now be set as proven in Determine 5. 2. Click on Subsequent to maneuver to the Mission Settings web page. Determine 5. 2: New Mission Wizard, Create New Mission Web page. 6.
Fill within the properties as follows: • • • • Analysis Growth Board: None Specified or Spartan-3E Starter Board Product Class: All Household: Spartan3E Gadget: XC3S500E Xilinx Spartan-3E Mission Navigator Model 14. Three Tutorial 2: Introduction to Utilizing the PicoBlaze Microcontroller • • • • • • • • • • 32 Bundle: FG320 Velocity Grade: -Four High-Degree Supply Kind: HDL Synthesis Software: XST (VHDL/Verilog) Simulator: ISim (VHDL/Verilog) Most popular Language: VHDL Property Specification in Mission File: Retailer All Values Guide Compile Order: unchecked VHDL Supply Assessment Customary: VHDL-93 Allow Message Filtering: unchecked
Notice for those who select Analysis Growth Board as Spartan-3E Began Board, properties from Product Class via to Velocity might be crammed in mechanically. Nevertheless, you need to ensure that Most popular Language is about to VHDL. The properties ought to now be crammed in as proven in Determine 5. Three. Determine 5. Three: New Mission Wizard, Mission Settings Web page. Xilinx Spartan-3E Mission Navigator Model 14. Three Tutorial 2: Introduction to Utilizing the PicoBlaze Microcontroller 33 7. Click on Subsequent to maneuver to the Mission Abstract web page, which is able to seem as proven in Determine 5. Four. Determine 5. Four: New Mission Wizard, Mission Abstract Web page. Eight.
Click on End to exit the New Mission Wizard. Xilinx Spartan-3E Mission Navigator Model 14. Three Tutorial 2: Introduction to Utilizing the PicoBlaze Microcontroller 34 5. Three Including Supply Information 1. Choose Mission>Add Supply as proven in Determine 5. 5. A window will seem permitting you to > select a number of recordsdata. Determine 5. 5: Including a supply file to the mission. 2. Choose TUTORIAL. VHD and kcpsm3. vhd as proven in Determine 5. 6. Each recordsdata will be chosen without delay by clicking on the primary filename, holding down the CTRL key and clicking the second filename. Alternatively, one file will be chosen and steps 1-Three repeated for the second file.
Xilinx Spartan-3E Mission Navigator Model 14. Three Tutorial 2: Introduction to Utilizing the PicoBlaze Microcontroller 35 Determine 5. 6: Add Supply file choice window. Three. The Including Supply Information window will now seem as proven in Determine 5. 7, exhibiting the 2 recordsdata chosen to be added to the mission. Click on OK. Determine 5. 7: Including Supply Information window. Xilinx Spartan-3E Mission Navigator Model 14. Three Tutorial 2: Introduction to Utilizing the PicoBlaze Microcontroller 36 As proven in Determine 5. Eight, kcpsm3 and tutorial will now seem within the Sources window. Doubleclicking on both filename within the Sources window will show the file in a tab.
Sources Window Determine 5. Eight: kcpsm3 and tutorial within the Sources window. Xilinx Spartan-3E Mission Navigator Model 14. Three Tutorial 2: Introduction to Utilizing the PicoBlaze Microcontroller 37 5. Four tutorial. vhd and kcpsm3. vhd – Observations 1. Double-click on tutorial within the Sources window. This can show the supply code in a tab, as proven in Determine 5. 9. It may be seen that Mission Navigator color codes the textual content of VDHL recordsdata, to make them simpler to learn. Remark traces, which begin with “- -” are displayed in inexperienced. Reserved phrases of the VHDL language are displayed in blue, whereas VHDL varieties are displayed in pink.
Every thing else is left as black. tutorial in Sources window Supply code for tutorial. vhd seems on this tab Determine 5. 9: Supply code for tutorial. vhd is displayed in a tab. A detailed up of the code for the tutorial entity is proven in Determine Four. 10. Notice that this corresponds to the Block Reminiscence (Program) element of Figures Three. 1 and three. Three. Determine 5. 10: tutorial entity. Xilinx Spartan-3E Mission Navigator Model 14. Three Tutorial 2: Introduction to Utilizing the PicoBlaze Microcontroller 38 2. Double-click on kcpsm3 within the Sources window, to show the supply code for kcpsm3. vhd.
A detailed up of the code for the kspsm3 entity is proven in Determine 5. 11. Notice that this corresponds to the KCPSM3 block of Figures Three. 1 and three. 2. Determine 5. 11: kcpsm3 entity. Xilinx Spartan-3E Mission Navigator Model 14. Three Tutorial 2: Introduction to Utilizing the PicoBlaze Microcontroller 39 5. 5 Including a top_level Entity VHDL code nonetheless must be written to tie collectively the kcpsm3 and tutorial entities, and in addition to interface with the Spartan-3E board. We are going to create a file known as top_level. vhd for this goal. 1. Choose Mission>New Supply as proven in Determine 5. 12. The New Supply Wizard will seem. > Determine 5. 2: Including a supply file to the mission. 2. Choose Supply Kind as VHDL Module. Three. Enter the file title as top_level, and enter the situation of the file (similar because the mission location entered earlier. Four. Confirm that the Add to mission field is checked. proven in Determine 5. 13. The New Supply Wizard ought to now seem as Xilinx Spartan-3E Mission Navigator Model 14. Three Tutorial 2: Introduction to Utilizing the PicoBlaze Microcontroller 40 Determine 5. 13: New Supply Wizard, Choose Supply Kind. 5. Click on Subsequent to go to the Outline Module window. 6. Outline the ports (inputs and outputs of the design) by getting into the data as proven in Determine 5. 14.
These ports are described as follows: • • • switches might be an enter consisting of Eight bits, and might be related with the Four slide switches and Four push buttons on the Spartan-3E. clk might be an enter consisting of 1 bit, and might be related to the clock enter. LEDs might be an output consisting of Eight bits, and might be related with the LEDs on the Spartan-3E. Xilinx Spartan-3E Mission Navigator Model 14. Three Tutorial 2: Introduction to Utilizing the PicoBlaze Microcontroller 41 Determine 5. 14: New Supply Wizard, Outline Module. 7. Click on Subsequent to maneuver to the Abstract web page, as proven in Determine 5. 15. Xilinx Spartan-3E Mission Navigator Model 14. Tutorial 2: Introduction to Utilizing the PicoBlaze Microcontroller 42 Determine 5. 15: New Supply Wizard, Abstract. 9. Click on End to exit the New Supply Wizard. As proven in Determine 5. 16, top_level will now seem within the Sources window. Double-clicking on top_level within the Sources window will show the file, top_level. vhd in a tab. Xilinx Spartan-3E Mission Navigator Model 14. Three Tutorial 2: Introduction to Utilizing the PicoBlaze Microcontroller 43 top_level in Sources window Determine 5. 16: top_level within the Sources window. Xilinx Spartan-3E Mission Navigator Model 14. Three Tutorial 2: Introduction to Utilizing the PicoBlaze Microcontroller Four 5. 6 Enhancing the top_level Entity 1. Double-click on top_level within the Sources window to show the file, top_level. vhd in a tab. The code for top_level. vhd is proven in Determine 5. 17. entity structure Determine 5. 17: top_level. vhd, as displayed in Mission Navigator, earlier than modifying. The code in Determine 5. 17 comprises an entity and an structure part. The entity part defines the inputs and outputs of this hardware block. On this case these have been mechanically added utilizing the New Supply Wizard. The structure part nonetheless must be written for this module. 2. Change the structure block in Determine 5. 7 with the code in Determine 5. 18(a) and (b). This code is a trimmed down model of the Preliminary Design for the Spartan-3E FPGA Starter Equipment Board (the unique design shipped with the board), downloaded from [7]. For reference the whole code for top_level. vhd is listed in Appendix A. Notice that the place VDHL code is listed on this tutorial, the identical color coding as Mission Navigator is used, to help with readability. Three. Save the file by deciding on File > Save from the principle menu. Xilinx Spartan-3E Mission Navigator Model 14. Three Tutorial 2: Introduction to Utilizing the PicoBlaze Microcontroller 45 rchitecture Behavioral of top_level is — declaration of KCPSM3 (at all times use this declaration to name — up PicoBlaze core) element kcpsm3 port (handle : out std_logic_vector(9 downto zero); instruction : in std_logic_vector(17 downto zero); port_id : out std_logic_vector(7 downto zero); write_strobe : out std_logic; out_port : out std_logic_vector(7 downto zero); read_strobe : out std_logic; in_port : in std_logic_vector(7 downto zero); interrupt : in std_logic; interrupt_ack : out std_logic; reset : in std_logic; clk : in std_logic); finish element; ————————————————————————– declaration of program reminiscence (right here you’ll specify the entity title — as your . psm prefix title) element tutorial port (handle : in std_logic_vector(9 downto zero); instruction : out std_logic_vector(17 downto zero); clk : in std_logic); finish element; ————————————————————————– Alerts used to attach PicoBlaze core to program reminiscence and I/O logic sign handle : std_logic_vector(9 downto zero); sign instruction : std_logic_vector(17 downto zero); sign port_id : std_logic_vector(7 downto ); sign out_port : std_logic_vector(7 downto zero); sign in_port : std_logic_vector(7 downto zero); sign write_strobe : std_logic; sign read_strobe : std_logic; sign interrupt_ack : std_logic; sign reset : std_logic; — the next enter is assigned an inactive worth since it’s — unused on this instance sign interrupt : std_logic :=’zero’; ————————————————————————– Begin of circuit description start — Instantiating the PicoBlaze core processor: kcpsm3 port map (handle => handle, instruction => instruction, port_id => port_id, write_strobe => write_strobe, Determine 5. 18(a): Structure of top_level. vhd, half 1. Xilinx Spartan-3E Mission Navigator Model 14. Three Tutorial 2: Introduction to Utilizing the PicoBlaze Microcontroller 46 ut_port => out_port, read_strobe => read_strobe, in_port => in_port, interrupt => interrupt, interrupt_ack => interrupt_ack, reset => reset, clk => clk); — Instantiating this system reminiscence program: tutorial port map (handle => handle, instruction => instruction, clk => clk); — Join I/O of PicoBlaze —————————————————————————- KCPSM3 Outline enter ports ————————————————————————- The inputs join through a pipelined multiplexer input_ports: course of(clk) start if clk’occasion and clk=’1′ then case port_id(1 downto zero) is — learn easy toggle switches and buttons at handle 00 hex when “00” => in_port instruction, port_id => port_id, write_strobe => write_strobe, out_port => out_port, read_strobe => read_strobe, in_port => in_port, interrupt => interrupt, interrupt_ack => interrupt_ack, reset => reset, clk => clk); — Instantiating the

Published by
Write
View all posts