CDA 4253 FPGA System Design the Picoblaze Microcontroller

Total Page:16

File Type:pdf, Size:1020Kb

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. 12 Interface of PicoBlaze out_port[7:0] – carries the output data for an OUTPUT instrucOon. 13 Interface of PicoBlaze port_id[7:0] – addresses of components connected to PicoBlaze. Holds for two cycles during an INPUT/OUTPUT instrucOon. 14 Interface of PicoBlaze write_strobe – being asserted ‘1’ validates the data on the output_port[7:0]. 15 Interface of PicoBlaze read_strobe – being asserted ‘1’ indicates the capture of the data on the input_port[7:0] during an INPUT instrucOon. 16 Interface of PicoBlaze reset – needs to be asserted for at least one cycle. 17 Interface of PicoBlaze interrupt – assert it for at least two cycles to trigger an interrupt event in PicoBlaze. 18 Interface of PicoBlaze interrupt_ack – acknoWledges the current interrupt has been recognized by PicoBlaze. Used to clear the current interrupt. 19 Interface of PicoBlaze – Summary Name Direction Size Function clk input 1 System clock signal. reset input 1 Reset signal. address output 10 Address of the instruction memory. Specifies address of the instruction to be retrieved. instruction input 18 Fetched instruction. port_id output 8 Address of the input or output port. in_port input 8 Input data from I/O peripherals. read_strobe output 1 Strobe associated with the input operation. out_port output 8 Output data to I/O peripherals. write_strobe output 1 Strobe associated with the output operation. interrupt input 1 Interrupt request from I/O peripherals. interrupt_ack output 1 Interrupt acknowledgment to I/O peripherals 20 Chapter 9 Using the PicoBlaze Microcontroller in an FPGA Design The PicoBlaze™ microcontroller is primarily designed for use in a VHDL design flow. However, both Verilog and black box instantiation are also supported, as described below. VHDL Design Flow The PicoBlaze microcontroller is supplied as a VHDL source file, called KCPSM3.vhd, which is optimized for efficient and predictable implementation in a Spartan-3, Spartan-6, and Virtex-6 FPGA. The code is suitable for both synthesis and simulation and was developed and tested using the Xilinx Synthesis Tool (XST) for logic synthesis and ModelSim for simulation. Designers have also successfully used other logic synthesis and simulation tools. The VHDL source code must not be modified in any way. KCPSM3 Module The KCPSM3 module contains the PicoBlaze ALU, register file, scratchpad, RAM, etc. The only function not included is the instruction store. The component declaration for the KCPSM3 module appears in Figure 9-1. Figure 9-2 lists the KCPSM3 component instantiation.Use of PicoBlaze in VHDL Design component KCPSM3 port ( address : out std_logic_vector( 9 downto 0); instruction : in std_logic_vector(17 downto 0); port_id : out std_logic_vector( 7 downto 0); write_strobe : out std_logic; out_port : out std_logic_vector( 7 downto 0); read_strobe : out std_logic; in_port : in std_logic_vector( 7 downto 0); interrupt : in std_logic; interrupt_ack : out std_logic; reset : in std_logic; clk : in std_logic ); end component; FigurePicoBlaze Component Declaraon 9-1: VHDL Component Declaration of KCPSM3 21 PicoBlaze 8-bit Embedded Microcontroller www.xilinx.com 61 UG129 (v2.0) June 22, 2011 Chapter 9: Using the PicoBlaze Microcontroller in an FPGA Design Use of PicoBlaze in VHDL Design processor: kcpsm3 port map( address => address_signal, instruction => instruction_signal, port_id => port_id_signal, write_strobe => write_strobe_signal, out_port => out_port_signal, read_strobe => read_strobe_signal, in_port => in_port_signal, interrupt => interrupt_signal, interrupt_ack => interrupt_ack_signal, reset => reset_signal, clk => clk_signal ); FigurePicoBlaze Component InstanOaon 9-2: VHDL Component Instantiation of the KCPSM3 22 Connecting the Program ROM The PicoBlaze program ROM is used within a VHDL design flow. The PicoBlaze assembler generates a VHDL file in which a block RAM and its initial contents are defined. This VHDL file can be used for both logic synthesis and simulation of the processor. Figure 9-3 shows the component declaration for the program ROM, and Figure 9-4 shows the component instantiation. The name of the program ROM, shown as "prog_rom" in the following figures, is derived from the name of the PicoBlaze assembler source file. For example, if the assembler source file is named phone.psm, then the assembler generates a program ROM definition file called phone.vhd. component prog_rom port ( address : in std_logic_vector( 9 downto 0); instruction : out std_logic_vector(17 downto 0); clk : in std_logic ); end component; Figure 9-3: VHDL Component Declaration of Program ROM program: prog_rom port map( address => address_signal, instruction => instruction_signal, clk => clk_signal ); Figure 9-4: VHDL Component Instantiation of Program ROM To speed development, a VHDL file called embedded_KCPSM3.vhd is provided. In this file, the PicoBlaze macro is connected to its associated block RAM program ROM. This entire module can be embedded in the design application, or simply used to cut and paste the component declaration and instantiation information into the user’s design files. 62 www.xilinx.com PicoBlaze 8-bit Embedded Microcontroller UG129 (v2.0) June 22, 2011 Chapter 9: Using the PicoBlaze Microcontroller in an FPGA Design Chapter 9: Using the PicoBlaze Microcontroller in an FPGA Design processor: kcpsm3 port map( processor: kcpsm3 address => address_signal, port map ( instruction => instruction_signal, addressport_id => port_id_signal,address_signal, write_strobeinstruction => write_strobe_signal,instruction_signal, out_portport_id => out_port_signal,port_id_signal, write_strobe read_strobe => read_strobe_signal,write_strobe_signal, out_port in_port => in_port_signal,out_port_signal, read_strobe interrupt => interrupt_signal,read_strobe_signal, interrupt_ack in_port => interrupt_ack_signal,in_port_signal, interrupt reset => reset_signal,interrupt_signal, interrupt_ack clk => clk_signalinterrupt_ack_signal, ); reset => reset_signal, clk => clk_signal Figure ); 9-2: VHDL Component Instantiation of the KCPSM3 Connecting the ProgramFigure 9-2: ROMVHDL Component Instantiation of the KCPSM3 ConnectingThe the PicoBlaze Program program ROM ROM is used within a VHDL design flow. The PicoBlaze assembler generates a VHDL file in which a block RAM and its initial contents are defined. This TheVHDL PicoBlaze file can program be used forROM both is usedlogic withinsynthesis a VHDL and simulation design flow. of theThe processor. PicoBlaze assembler generatesFigure 9-3 a shows VHDL the file component in which a declaration block RAM for and the its program initial contents ROM, and are Figuredefined. 9-4 This shows VHDLthe component file can be instantiation. used for both The logic name sy nthesisof the program and simulation ROM, shown of the as processor. "prog_rom" in the Figurefollowing 9-3 figures,shows the is derived component from declaration the name of for the the PicoBlaze program assembler ROM, and source Figure file. 9-4 For shows theexample, component if the assemblerinstantiation. source The file name is named of the phone.psmprogram ROM,, then shown the assembler as "prog_rom" generates in the a followingprogram ROM figures, definition is derived file from called the phone.vhd name of the. PicoBlaze assembler source file. For example, if the assembler source file is named phone.psm, then the assembler generates a programUse of PicoBlaze in VHDL Design component ROM definition prog_rom file called phone.vhd. port ( address : in std_logic_vector( 9 downto 0); component prog_rom instruction
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]
  • 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]
  • 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.
    [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]