Download presentation
Presentation is loading. Please wait.
Published byAsher Randolph Parrish Modified over 8 years ago
1
Design methodology for Implementing a Microcontroller in a FPGA. Phillip Southard Ohio University EE 690 Reconfigurable Design
2
Outline n Introduction n Design Process - from goals to implementation n Results n Conclusion
3
Inroduction n Background Information n Microcontrollers VS. Microprocessors n 8031 defined n Goals of the Design Process
4
Background Information n My thesis pertains directly to EE 690. n I am modeling a microcontroller, the 8031 n I plan on implementing my design in a FPGA
5
MicroControllers VS. MicroProcessors n MicroP’s are a general purpose machine n MicroC’s is a true computer on a chip n MicroP’s need additional components to make a complete system n MicroC’s have all necessary features including, ROM,RAM, parallel I/O, etc.
6
Project focal point, Intel 8031 n 8-bit CPU n Extensive Boolean processing n 64K Data & Memory Space n 128 bytes of on-chip Data Ram n 32 bidirectional/individually addressable I/O lines n 2 16-bit timer/counters n Full Duplex UART n 6-source/5-vector interrupt structure
7
Goals of the Design Process n To develop an accurate behavior VHDL model of the 8031 n To develop an accurate RTL VHDL model of the 8031 n Synthesize the RTL mode n Successfully implement the synthesized model in a Xilinx FPGA
8
The Design Process, Part 1 n Define the register structure, instruction set, and addressing modes n Construct table showing register transfers and State Machine graph n Design the control state machine n Write behvioral VHDL code based on the above completed tasks n Simulate execution to verify accurate modeling
9
The Design Process, Part 2 n Develop block diagram of major units and determine control signals n Rewrite VHDL based on previous step n Again, simulate execution to verify model n Make needed changes in code for Synthesis n Syntheize the controller fromthe VHDL code n Download bit stream file to FPGA for hardware verification
10
Step 1, Define Register Structure, Instruction Set, & Addressing Modes
11
Step 1- Instruction Set Arithmetic Instructions
12
Step 1- Instruction Set Logical Instructions
13
Step 1- Instruction Set Internal Data Memory Data Transfer
14
Step 1- Instruction Set Exteranl Data Memory Data Transfer
15
Step 1- Instruction Set Lookup Table Read Instructions
16
Step 1- Instruction Set Boolean Instructions
17
Step 1- Instruction Set Unconditional Jumps
18
Step 1- Instruction Set Conditional Jumps
19
Step 1 - Addressing Modes n Direct Addressing – Only internal Data Ram and external Ram and SFR’s can be directly addressed n Indirect Addressing – Both internal and external Ram can be indirectly addressed – The address register for 8-bit addresses can be R0 or R1 of the current register bank, or the Stack Pointer – The address register for 16-bit addresses can be only be the 16-bit “data pointer” register, DPTR
20
Step 1 - Addressing Modes n Register Addressing – Opcodes that use register addressing use a single byte for identifying the instruction and the register – One of four banks is selected at execution time by the two bank select bits in the PSW n Immediate Addressing – The value of a constant can follow the opcode in Program Memory
21
Step 2 - Register Transfer Table
22
Step 2 - State Machine Graph
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.