Emulate 8051 Microprocessor in Picoblaze IP Core

Total Page:16

File Type:pdf, Size:1020Kb

Emulate 8051 Microprocessor in Picoblaze IP Core EmulateEmulate 80518051 MicroprocessorMicroprocessor inin PicoBlazePicoBlaze IPIP CoreCore Put the functions of a legacy microprocessor into a Xilinx FPGA.FPGA. by Lance Roman President Roman-Jones, Inc. [email protected] Brad Fayette Senior Software Engineer Roman-Jones, Inc. [email protected] 00 Xcell Journal Winter 2004 How do you put a one-dollar Intel™ 8051 • Smaller Size – Traditional 8051 type core. Hook up block RAM or microprocessor into an FPGA without implementations range from 1,100 off-chip program ROM, and you’re using 10 dollars’ worth of FPGA fabric? to 1,600 slices of FPGA logic. The ready to go. The answer is emulation. Using soft- PicoBlaze 8051 processor requires • Low Cost – The PB8051 is $495 ware emulation, Roman-Jones Inc. has just 76 slices. Emulation hardware with an easy Xilinx SignOnce IP developed a new type of 8051 processor requires 77 slices. Add another 158 license. core built on a Xilinx 8-bit, soft-core slices for two timers and a four-mode PicoBlaze™ (PB) processor. This “new” serial port, and you have a total of a Architecture of Emulated 8051 PB8051 is more than 70% smaller than 311 slices. This is a reduction of As shown in Figure 1, the architecture of an competing soft-core implementations – more than two-thirds of the FPGA emulated processor has several elements. without sacrificing any of the performance fabric of competing products. Each element is designed independently, of this legacy part. The PB8051 is a Xilinx • Faster – At 1.3 million instructions but together, they act as a whole. AllianceCORE™ microprocessor built per second (MIPS), the PB8051 is through emulation. faster than a legacy 8051 (1 MIPS) PicoBlaze Platform running at 12 MHz. Compare this to The PicoBlaze host processor is the heart The Legacy of the 8051 5 MIPS with a 40 MHz Dallas version of the emulated system and defines the The Intel 8051 family of microprocessors or 8 MIPS with a traditional FPGA architecture of the PB8051 emulated – probably one of the most popular archi- processor core. It comprises: tectures around – is still the core of many embedded applications. This processor This “new” PB8051 • PicoBlaze Code ROM – Block ROM just refuses to retire. Many designers are contains the software code to emulate using legacy code from previous projects, is more than 70% 8051 instructions. while others are actually writing new code. • Internal Address/Bus – The PicoBlaze The 8051 architecture was designed for smaller than peripheral bus is a 256-byte address ASIC fabric. It is not efficient in an space accessed by PicoBlaze I/O FPGA, resulting in excess logic usage with instructions. It allows the PicoBlaze marginal performance. competing soft-core processor to interface with RAM, FPGA microprocessor integration is a emulation peripherals, timers, and the solution for older 8051 products undergo- implementations – serial port. This bus is internal to the ing redesign to eliminate obsolesce, lower core and thus hidden from the user. costs, decrease component count, and without sacrificing increase overall performance. • Emulation Peripherals – Not all emu- The new FPGA-embedded PB8051 any of the performance lation tasks can be done in software designs allow you to take advantage of and still meet the performance existing in-house software tools and your requirements for your particular own architecture familiarity to quickly of this legacy part. application. Specialized hardware implement a finished design. The inte- assists the PicoBlaze code to perform grated PB8051 can be customized on the tasks that are time-consuming, on a critical execution path, or both. FPGA to exact requirements. implementation – which takes up more than three times as much FPGA A good example is the parity bit in the Processor Emulation fabric as the PB8051. The PicoBlaze PSW (program status word) register that Programmers have used microprocessor processor itself runs at a remarkable 40 reflects 8051 accumulator parity. This emulation for many years as a software MIPS using an 80 MHz clock. function must be performed for every development vehicle. It allows program- 8051 instruction executed, and would mers to write and test code on a develop- • Software Friendly – You can write C take several PicoBlaze instruction cycles ment platform before testing on target code or assembler code with your to perform. It is, therefore, done in hardware. present software development tools to hardware. This same concept can be practical generate programs. You can also run when the target microprocessor architec- legacy objects out of a 27C512 • Instruction Decode ROM – This is a ture does not lend itself to efficient imple- EPROM. key emulation peripheral that is used mentation and use of FPGA resources. • Easy Hardware – You can use VHDL to decode 8051 instructions to set The features of our PB8051 emulated or Verilog™ hardware description PicoBlaze routine locations and emu- processor include: languages to instantiate the 8051- lation parameters. Winterl 2004 Xcell Journal 00 1K x 16 256 x 8 Block ROM Instruction Emulation Decode ROM Program Code Interrupt RST_8051 PicoBlaze 8051 WR Data Emulation Peripherals RD 256 x 8 PSEN Block RAM INSTR_FETCH EXT_BUS_START Address Decode, Data, Signals EXT_BUS_HOLD SERIAL0_PRE12 Address P1_IN[7:0] Serial Port Address SERIAL2_PRE32 Decode P1_OUT[7:0] Address Decode, Data, Signals P3_IN[7:0] P3_OUT[7:0] TIME_PRE Timer EXT_DATA_IN[7:0] EXT_DATA_OUT[7:0] CLK EXT_ADDRESS[15:0] Internal RST Address/Data ROM_ADDRESS[15:0] Bus ROM_DATA[7:0] Figure 1 – PB8051 block diagram • Address Decode – A significant in very tight PicoBlaze assembler code, opti- • Scan Interrupts – This function deter- amount of the emulation peripheral mized for speed and efficiency. mines if an interrupt is pending, and if hardware is dedicated to simple The emulation program is divided into so, services it. An interrupt window is address decode of the PicoBlaze several segments: generated at the end of every emulated peripheral bus. This address space is instruction when required. for the PicoBlaze processor only and is • Instruction Fetch – An 8051 bus cycle insulated from the 8051 application. is simulated to fetch the next instruc- In addition to PicoBlaze code, Java™ tion from 8051 program memory (64 software utilities process symbols taken • Block RAM – 256 bytes are available Kb size), which may be on-chip block from PicoBlaze listings (.LOG files) into a to 8051 internal RAM and some 8051 RAM or off-chip EPROM (such as the ROM table. These .LOG files are used to registers. You can access this block 27C256). decode 8051 opcodes. RAM via 8051 instructions. This program also produces the .COE • Instruction Decode – Fetched instruc- • Serial Port and Timer – The actual files used by the Xilinx CORE tions are decoded to determine the 8051 timer and multi-mode serial port Generator™ system to create PicoBlaze addressing mode and operation. were best done in hardware instead of code ROM. All of this is transparent to trying to implement these functions in • Fetch Operands – Depending upon designers integrating with the PB8051. software. Clock prescaling inputs are the addressing mode, additional provided so that these functions can operands are fetched for the instruc- User Back-End Interface run at a clock rate independent of the tion from program memory, internal What gives the PB8051 its “hardware emulated system. RAM, or external RAM. flavor” is the user back-end interface, where you interface your logic design PicoBlaze Emulation Software • Instruction Execution – An instruction with the emulated 8051 processor. The A 1K x 16 block ROM holds the PicoBlaze performs the desired operation and back-end interface is part of the emula- code that performs the actual emulation. The updates emulated register contents, tion peripherals, controlled by the emulation program is carefully constructed including affected 8051 PSW flags. PicoBlaze platform. 00 Xcell Journal Winter 2004 What gives the PB8051 its “hardware flavor” is the user back-end interface, where you interface your logic design with the emulated 8051 processor. Just as the 8051 processor family has tional multiplexer circuitry is not needed. Test and Debug Considerations many derivatives to define port, function- If your entire design, including the 8051 We recommend you use design tools to ality, features, and pinout, the back-end program, resides on the FPGA, simply set quickly and easily test and debug your design. interface serves the same function. The the EXT_BUS_HOLD to “low” to take full The most useful tool will be an HDL simula- PB8051 has a back-end interface that advantage of running at clock speed. If you tor, such as Modeltech or Aldec programs. resembles the generic 8031, the ROM-less elect to use an off-chip EPROM or have Most problems and bugs can be solved at the version of the 8051. slow peripherals, wait states can be inserted behavioral level. For interactive debugging, Roman-Jones Inc. customizes back-end by asserting EXT_BUS_HOLD at “high.” the Xilinx ChipScope™ integrated logic ana- interfaces to meet your exact 8051 needs, One of our reference designs illustrates wait lyzer has proved to be the tool of choice. At such as removing an unused serial port or state generation. the current time, no source code debugger adding an I2C port to emulate the 80C652 tools are available for the PB8051. derivative. Xilinx Implementation Considerations There are few implementation considera- Designer’s Learning Curve Designing with the PB8051 tions other than the need to place the Designers should have some experience in Incorporating the PB8051 into the rest of PB8051 design netlist into your project 8051 hardware/software and FPGA design your design is easy, because it comes with ref- directory and instantiate it as a compo- before attempting to consolidate the two. erence designs and examples of Xilinx inte- nent in your VHDL or Verilog design; The PB8051 core is designed for ease of grated software design (ISE) projects.
Recommended publications
  • Implementation, Verification and Validation of an Openrisc-1200
    (IJACSA) International Journal of Advanced Computer Science and Applications, Vol. 10, No. 1, 2019 Implementation, Verification and Validation of an OpenRISC-1200 Soft-core Processor on FPGA Abdul Rafay Khatri Department of Electronic Engineering, QUEST, NawabShah, Pakistan Abstract—An embedded system is a dedicated computer system in which hardware and software are combined to per- form some specific tasks. Recent advancements in the Field Programmable Gate Array (FPGA) technology make it possible to implement the complete embedded system on a single FPGA chip. The fundamental component of an embedded system is a microprocessor. Soft-core processors are written in hardware description languages and functionally equivalent to an ordinary microprocessor. These soft-core processors are synthesized and implemented on the FPGA devices. In this paper, the OpenRISC 1200 processor is used, which is a 32-bit soft-core processor and Fig. 1. General block diagram of embedded systems. written in the Verilog HDL. Xilinx ISE tools perform synthesis, design implementation and configure/program the FPGA. For verification and debugging purpose, a software toolchain from (RISC) processor. This processor consists of all necessary GNU is configured and installed. The software is written in C components which are available in any other microproces- and Assembly languages. The communication between the host computer and FPGA board is carried out through the serial RS- sor. These components are connected through a bus called 232 port. Wishbone bus. In this work, the OR1200 processor is used to implement the system on a chip technology on a Virtex-5 Keywords—FPGA Design; HDLs; Hw-Sw Co-design; Open- FPGA board from Xilinx.
    [Show full text]
  • Programmable Logic Design Grzegorz Budzyń Lecture 11: Microcontroller
    ProgrammableProgrammable LogicLogic DesignDesign GrzegorzGrzegorz BudzyBudzy ńń LLectureecture 11:11: MicrocontrollerMicrocontroller corescores inin FPGAFPGA Plan • Introduction • PicoBlaze • MicroBlaze • Cortex-M1 Introduction Introduction • There are dozens of 8-bit microcontroller architectures and instruction sets • Modern FPGAs can efficiently implement practically any 8-bit microcontroller • Available FPGA soft cores support popular instruction sets such as the PIC, 8051, AVR, 6502, 8080, and Z80 microcontrollers • Each significant FPGA producer offers their own soft core solution Introduction • Microcontrollers and FPGAs both successfully implement practically any digital logic function. • Each solution has unique advantages in cost, performance, and ease of use. • Microcontrollers are well suited to control applications, especially with widely changing requirements. • The FPGA resources required to implement the microcontroller are relatively constant. Introduction • The same FPGA logic is re-used by the various microcontroller instructions, conserving resources. • The program memory requirements grow with increasing complexity • Programming control sequences or state machines in assembly code is often easier than creating similar structures in FPGA logic • Microcontrollers are typically limited by performance. Each instruction executes sequentially. Introduction – block diagram Source:[1] FPGA vs Soft Core Microcontroller: – Easy to program, excellent for control and state machine applications – Resource requirements remain constant
    [Show full text]
  • Implementation of PS2 Keyboard Controller IP Core for on Chip Embedded System Applications
    The International Journal Of Engineering And Science (IJES) ||Volume||2 ||Issue|| 4 ||Pages|| 48-50||2013|| ISSN(e): 2319 – 1813 ISSN(p): 2319 – 1805 Implementation of PS2 Keyboard Controller IP Core for On Chip Embedded System Applications 1, 2, Medempudi Poornima, Kavuri Vijaya Chandra 1,M.Tech Student 2,Associate Proffesor. 1,2,Prakasam Engineering College,Kandukuru(post), Kandukuru(m.d), Prakasam(d.t). -----------------------------------------------------------Abstract----------------------------------------------------- In many case on chip systems are used to reduce the development cycles. Mostly IP (Intellectual property) cores are used for system development. In this paper, the IP core is designed with ALTERA NIOSII soft-core processors as the core and Cyclone III FPGA series as the digital platform, the SOPC technology is used to make the I/O interface controller soft-core such as microprocessors and PS2 keyboard on a chip of FPGA. NIOSII IDE is used to accomplish the software testing of system and the hardware test is completed by ALTERA Cyclone III EP3C16F484C6 FPGA chip experimental platform. The result shows that the functions of this IP core are correct, furthermore it can be reused conveniently in the SOPC system. ---------------------------------------------------------------------------------------------------------------------------------------- Date of Submission: 8 April 2013 Date Of Publication: 25, April.2013 ---------------------------------------------------------------------------------------------------------------------------------------
    [Show full text]
  • CDA 4253 FPGA System Design the Picoblaze Microcontroller
    CDA 4253 FPGA System Design The PicoBlaze Microcontroller Hao Zheng Comp Sci & Eng U of South Florida Overview of PicoBlaze • So:-core microcontroller in VHDL: portable to other plaorms. • Small: occupies ~20 CLBs. • Respectable performance: 50 MIPS • Predictable performance: every instrucOon takes 2 cycles. • Suitable for simple data processing and control. 2 Required Reading • P. Chu, FPGA Prototyping by VHDL Examples Chapter 14, PicoBlaze Overview Recommended Reading • PicoBlaxe 8-bit Embedded Microcontroller User Guide (UG129) • K. Chapman, PicoBlaze for Spartan-6, Virtex-6, and 7-Series (KCPSM6) 3 Block diagram of a General-Purpose Processor ctrl 4 Block diagram of a General-Purpose Processor (Microcontroller) 5 PicoBlaze Overview 8-bit data Width, 18-bit instrucOon Width, 10-bit program address 6 Size of PicoBlaze-6 in Spartan 6 1. Resource UOlizaon in CLB Slices • 26 CLB Slices • 1.1% of Spartan-6 used in Nexys3 2. Number of PicoBlaze-6 cores fing inside of the Spartan-6 FPGA (XC6SLX16) used in the Nexys3 FPGA board • 87 PicoBlaze cores Speed of PicoBlaze on Basys-3 1. Maximum Clock Frequency • 100 MHz 2. Maximum number of instrucOons per second • 50 millions of instrucOons per second (MIPS) Fixed Oming: ideal for real-Ome control applicaons, i.e. flight control, manufacturing process control, ... Register File of PicoBlaze-3 8-bit Address 0 7 s0 0 1 7 s1 0 2 7 s2 0 3 7 s3 0 4 7 s4 0 5 7 s5 0 6 7 s6 0 16 Registers 7 7 s7 0 F 7 sF 0 9 DefiniNon of Flags Flags are set or reset after ALU operations Zero flag - Z zero condition Z = 1 if result = 0 0 otherwise Carry flag - C overflow, underflow, or various conditions Example* C = 1 if result > 28-1 (for addition) or result < 0 (for subtraction) 0 otherwise *Applies only to addition or subtraction related instructions, refer to the following slides otherwise 10 Interface of PicoBlaze Inputs Outputs KCPSM = constant (K) coded programmable state machine 11 Interface of PicoBlaze in_port[7:0] – input data port that carries the data for the INPUT instrucOon.
    [Show full text]
  • Small Soft Core up Inventory ©2019 James Brakefield Opencore and Other Soft Core Processors Reverse-U16 A.T
    tool pip _uP_all_soft opencores or style / data inst repor com LUTs blk F tool MIPS clks/ KIPS ven src #src fltg max max byte adr # start last secondary web status author FPGA top file chai e note worthy comments doc SOC date LUT? # inst # folder prmary link clone size size ter ents ALUT mults ram max ver /inst inst /LUT dor code files pt Hav'd dat inst adrs mod reg year revis link n len Small soft core uP Inventory ©2019 James Brakefield Opencore and other soft core processors reverse-u16 https://github.com/programmerby/ReVerSE-U16stable A.T. Z80 8 8 cylcone-4 James Brakefield11224 4 60 ## 14.7 0.33 4.0 X Y vhdl 29 zxpoly Y yes N N 64K 64K Y 2015 SOC project using T80, HDMI generatorretro Z80 based on T80 by Daniel Wallner copyblaze https://opencores.org/project,copyblazestable Abdallah ElIbrahimi picoBlaze 8 18 kintex-7-3 James Brakefieldmissing block622 ROM6 217 ## 14.7 0.33 2.0 57.5 IX vhdl 16 cp_copyblazeY asm N 256 2K Y 2011 2016 wishbone extras sap https://opencores.org/project,sapstable Ahmed Shahein accum 8 8 kintex-7-3 James Brakefieldno LUT RAM48 or block6 RAM 200 ## 14.7 0.10 4.0 104.2 X vhdl 15 mp_struct N 16 16 Y 5 2012 2017 https://shirishkoirala.blogspot.com/2017/01/sap-1simple-as-possible-1-computer.htmlSimple as Possible Computer from Malvinohttps://www.youtube.com/watch?v=prpyEFxZCMw & Brown "Digital computer electronics" blue https://opencores.org/project,bluestable Al Williams accum 16 16 spartan-3-5 James Brakefieldremoved clock1025 constraint4 63 ## 14.7 0.67 1.0 41.1 X verilog 16 topbox web N 4K 4K N 16 2 2009
    [Show full text]
  • Xilinx Vivado – „EDK” Embedded Development) 4
    EFOP-3.4.3-16-2016-00009 A fels őfokú oktatás min őségének és hozzáférhet őségének együttes javítása a Pannon Egyetemen EMBEDDED SYSTEM DEVELOPMENT (MISAM154R) Created by Zsolt Voroshazi, PhD [email protected] Updated: 02 March. 2020. 2. FPGAS & PLATFORMS Embedded Systems Topics covered 1. Introduction – Embedded Systems 2. FPGAs, Digilent ZyBo development platform 3. Embedded System - Firmware development environment (Xilinx Vivado – „EDK” Embedded Development) 4. Embedded System - Software development environment (Xilinx VITIS – „SDK”) 5. Embedded Base System Build (and Board Bring-Up) 6. Adding Peripherals (from IP database) to BSB 7. Adding Custom (=own) Peripherals to BSB 8. Design and Development of Complex IP cores and applications (e.g. camera/video/ audio controllers) 3 Further references • XILINX official website: http://www.xilinx.com • EE Journal – Electronic Engineering: http://www.eejournal.com/design/embedded • EE Times - News: http://www.eetimes.com/design/embedded 4 PLD & FPGA CIRCUITS General description PAST … • Before ’80s, designing logic networks for digital circuits, modern development tools were not yet available as today. • The design of high complexity (multi I/O) logical combination and sequential networks was therefore slow and cumbersome, often coupled with paper- based design, multiple manual checks, and calculations. • We could not talk about advanced design and simulation tools (CAD) either, so there was a high probability of error in a prototype design. 6 … AND PRESENT • Today, all of these are available in an automated way (EDA - Electronic Design Automation), which, in addition to the use of Programmable Logic Devices (PLD), is relatively fast for both Printed Circuit Boards (PCB) and Application-specific Integrated Circuits and Processors (ASIC / ASSP).
    [Show full text]
  • The Past and Future of FPGA Soft Processors
    The Past and Future of FPGA Soft Processors Jan Gray Gray Research LLC [email protected] ReConFig 2014 Keynote 9 Dec 2014 Copyright © 2014, Gray Research LLC. Licensed under Creative Commons Attribution 4.0 International (CC BY 4.0) license. http://creativecommons.org/licenses/by/4.0/ In Celebration of Soft Processors • Looking back • Interlude: “old school” soft processor, revisited • Looking ahead 9 Dec 2014 ReConFig 2014 2 New Engines Bring New Design Eras 9 Dec 2014 ReConFig 2014 3 1. EARLY DAYS 9 Dec 2014 ReConFig 2014 4 1985-1990: Prehistory • XC2000, XC3000: not quite up to the job – Early multi-FPGA coprocessors – ~8-bit MISCs 9 Dec 2014 ReConFig 2014 5 1991: XC4000 9 Dec 2014 ReConFig 2014 6 1991: RISC4005 [P. Freidin] • The first monolithic general purpose FPGA CPU • “FPGA Devices: 1 Xilinx XC4005 ... On-board RAM: 64K Words (16 bit words) Notes: A 16 bit RISC processor that requires 75% of an XC4005, 16 general registers, 4 stage pipeline, 20 MHz. Can be integrated with peripherals on 1 FPGA, and ISET can be extended. … Includes a macro assembler, gate level simulator, ANSI C compiler, and a debug monitor.” [Steve Guccione: List of FPGA-based Computing Machines, http://www.cmpware.com/io.com/guccione/HW_list.html] Freidin Photos: Photos: Philip 9 Dec 2014 ReConFig 2014 7 1994-95: Gathering Steam • Communities: FCCM, comp.arch.fpga [http://fpga-faq.org/archives/index.html] • Research, commercial interest – OneChip, V6502 9 Dec 2014 ReConFig 2014 8 1995: J32 • 32-bit RISC + “SoC” • Integer only • 33 MHz ÷ 2φ • 4-stage pipeline •
    [Show full text]
  • Small Soft Core up Inventory ©2014 James Brakefield Opencore and Other Soft Core Processors Only Cores in the "Usable" Category Included
    Small soft core uP Inventory ©2014 James Brakefield Opencore and other soft core processors Only cores in the "usable" category included Most Prolific Authors ©2014 James Brakefield John Kent micro8a, micro16b, system05, system09, system11, system68 6 Daniel Wallner ax8, ppx16, t65, t80 4 Ulrich Riedel 68hc05, 68hc08, tiny64, tiny8 4 Jose Ruiz ion, light52, light8080 3 Lazaridis Dimitris mips_fault_tolerant, mipsr2000, mips_enhanced 3 Shawn Tan ae18, aeMB, k68 3 Most FPGA results (e.g. easy to compile, place & route on any FPGA family) ©2014 James Brakefield eco32 cyclone-4, arria-2, spartan-3, spartan-6, kintex-7 5 navre cyclone-4, arria-2, cyclone-5, spartan-6, kintex-7 5 leros cyclone-4, spartan-3, spartan-6, kintex-7 4 openmsp430 cyclone-4, stratix-3, spartan-6, virtex-6 4 Most Clones ©2014 James Brakefield ion, minimips, mips_fault_tolerant, misp32r1, misp789, mipsr2000, plasma, ucore, yacc, MIPS 10 m1_core 6502 ag_6502, cpu6502_true_cycle, free6502, lattice6502, m65c02, t65, t6507lp, m65 8 PIC16 free_risc8, lwrisc, minirisc, p16c5x, ppx16, recore54, risc16f84, risc5x 8 microblaze aeMB, mblite, microblaze, myblaze, openfire_core, secretblaze 6 6800 hd63701, system68, system05, 68hc05, 68hc08 5 8051 dalton_8051, light52, mc8051, t51, turbo8051 5 avr avr_core, avr_hp, avr8, navre, riscmcu 5 z80 nextz80, t80, tv80, wb_z80, y80e 5 openrisc altor32, minsoc, or1k, or1200_hp 4 6809 6809_6309, system09, mc6809e 3 8080 cpu8080, light8080, t80 3 68000 ao68000, tg68, v1_coldfire 3 PDP-8 pdp8, pdp8l, pdp8verilog 3 picoblaze copyblaze, pacoblaze,
    [Show full text]
  • Picoblaze™ 8-Bit Microcontroller Reference Design for Fpgas and Cplds There Are Literally Dozens of 8-Bit Microcontroller Architectures and Instruction Sets
    PicoBlaze™ 8-bit Microcontroller Reference Design for FPGAs and CPLDs There are literally dozens of 8-bit microcontroller architectures and instruction sets. Modern FPGAs can efficiently implement practi- cally any 8-bit microcontroller, and available FPGA soft cores support popular instruction sets such as the PIC, 8051, AVR, 6502, 8080, and Z80 microcontrollers. The Xilinx PicoBlaze microcon- troller is specifically designed and optimized for the Virtex and The Solution for Simple Processing Spartan series of FPGAs and PicoBlaze is a compact, capable, and cost-effective fully embedded 8-bit RISC micro- controller core optimized for the Spartan™-3, Virtex™-II, Virtex-II Pro™ and Virtex-4 CoolRunner-II CPLDs. FPGAs and CoolRunner™-II CPLDs. The PicoBlaze solution delivers: The PicoBlaze solution consumes Free PicoBlaze Macro — The PicoBlaze microcontroller is delivered as synthesizable considerably less resources than VHDL source code. As a result, the core is future-proof and can be migrated to future FPGA and CPLD architectures. comparable 8-bit microcontroller Easy-to-Use Assembler — The PicoBlaze assembler is provided as a simple DOS executable. architectures. It is provided as a The assembler will compile your program in less than 3 seconds and generate VHDL, free, source-level VHDL file with Verilog and an M-file (for Xilinx System Generator) for defining the program within a block memory. Other development tools include a graphical integrated development royalty-free re-use within Xilinx environment (IDE), a graphical instruction set simulator (ISS) and VHDL source code FPGAs. Because it is delivered and simulation models. as VHDL source, the PicoBlaze Powerful Performance — PicoBlaze delivers 44 to 100 million instructions per second (MIPS) depending on the target FPGA family and speed grade – many times faster microcontroller is immune than commercially available microcontroller devices.
    [Show full text]
  • Introducing Laboratories with Soft Processor Cores Using Fpgas Into
    AC 2012-4159: INTRODUCING LABORATORIES WITH SOFT PROCES- SOR CORES USING FPGAS INTO THE COMPUTER ENGINEERING CURRICULUM Prof. David Henry Hoe, University of Texas, Tyler David Hoe received his Ph.D. in electrical engineering from the University of Toronto. He held a position as a Staff Engineer at the General Electric Corporate Research and Development Center for five years prior to assuming his current position as an Assistant Professor in the Electrical Engineering Department at the University of Texas, Tyler, in 2008. c American Society for Engineering Education, 2012 Introducing Multiple Soft Processor Cores Using FPGAs into the Computer Engineering Curriculum Abstract Soft processor cores are becoming an important component in state-of-the-art Systems-on-a- Programmable-Chip (SoPC) implementations. An SoPC design is a complete electronic system that is built on a reconfigurable integrated circuit, usually in the form of a Field Programmable Gate Array (FPGA). This paper will discuss the introduction of soft processor design into the courses within the Computer Engineering curriculum at the University of Texas at Tyler. Laboratories that utilize soft processor core design in our FPGA Design course and designs consisting of an array of soft processor cores to emulate multiprocessor designs in our Computer Architecture course will be described. Assessment in the form of project results, surveys, and instructor observation will be given. Introduction Continued advances in semiconductor technology over the past several decades have resulted in an exponential growth in the number transistors that can be fabricated on a single integrated circuit (IC). As a direct result of this, state-of-the-art Field Programmable Gate Arrays (FPGAs) can implement complex digital designs consisting of millions of logic gates at a speed comparable to custom integrated circuit designs but at a fraction of the development cost.
    [Show full text]
  • Triplicated Instruction Set Randomization in Parallel
    TRIPLICATED INSTRUCTION SET RANDOMIZATION IN PARALLEL HETEROGENOUS SOFT-CORE PROCESSORS by Trevor James Gahl A thesis submitted in partial fulfillment of the requirements for the degree of Master of Science in Electrical Engineering MONTANA STATE UNIVERSITY Bozeman, Montana April 2019 ©COPYRIGHT by Trevor James Gahl 2019 All Rights Reserved ii ACKNOWLEDGEMENTS I would like to acknowledge my friends and family for standing by me and helping me throughout my time in grad school. My friend and lab-mate Skylar Tamke for always letting me bounce ideas off of him and helping me blow off steam. My advisor Dr. Brock LaMeres for helping me refocus in a field I love. More than anybody though, I'd like to acknowledge my wife Kaitlyn for helping me with anything I needed, whether that was bringing me food late at night or listening to rants about compiler errors and code bugs, I couldn't have asked for a better support system. iii TABLE OF CONTENTS 1. INTRODUCTION ........................................................................................1 Introduction.................................................................................................1 2. BACKGROUND AND MOTIVATION...........................................................5 Monoculture Environment.............................................................................5 Opcodes and Instruction Sets ........................................................................7 Cybersecurity Threats................................................................................
    [Show full text]
  • NIOS II Processor Implementation in FPGA: an Application of Data Logging System
    INTERNATIONAL JOURNAL OF SCIENTIFIC & TECHNOLOGY RESEARCH VOLUME 1, ISSUE 11, DECEMBER 2012 ISSN 2277-8616 NIOS II Processor Implementation In FPGA: An Application of Data Logging System Ms. Sangita M. Pokale, Ms. K. A. Kulkarni, Prof. S. V. Rode Abstract:- This paper present an application study in data logging device.The new kind of soft-core processor was designed based on NIOS II technology. The device make use of NIOS II processor provided by ALT ERA to be implemented in FPGA.NIOS II is a versatile embedded processor family that presents high performance and has been created for FPGA. Author targets implementation NIOS II soft core processor from Altera FPGA Platform. Also one of the FPGA vendor XILINX, are providing MicroBlaze & PicoBlaze RISC architecture. This is of 32 bit processing architecture. Author has implemented one simple digital circuit design on implementation of 8 bit asynchronous counter along with multiplexed seven segments LED Display Driver. Paper shows comparison on HDL based SOPC designing and usual discrete level hardware designing and testing. For HDL based circuit design Xilinx synthesis tool version 9.1 was used. Also after having success in this implementation author has implem ented NIOSII soft core processor using QuartusII 10.1 & SOPC Builder Tool from Altera. Index Terms:- FPGA CYCLONE III CPLD, NIOS II Soft Core Processor,Picoblaze,SOPC builder. ———————————————————— 1 INTRODUCTION 2 BACKGROUND A softcore processor is a microprocessor core that can be The PicoBlaze & NIOS II microcontroller is specifically wholly implemented using logic synthesis.It can be designed and optimized for the Spartan-3, Virtex-II, Virtex-II implemented via different semiconductor devices containing Pro, Cyclon, Stratix FPGA architectures.
    [Show full text]