Presentation is loading. Please wait.

Presentation is loading. Please wait.

Design methodology for Implementing a Microcontroller in a FPGA. Phillip Southard Ohio University EE 690 Reconfigurable Design.

Similar presentations


Presentation on theme: "Design methodology for Implementing a Microcontroller in a FPGA. Phillip Southard Ohio University EE 690 Reconfigurable Design."— Presentation transcript:

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


Download ppt "Design methodology for Implementing a Microcontroller in a FPGA. Phillip Southard Ohio University EE 690 Reconfigurable Design."

Similar presentations


Ads by Google