Purdue Microbrewer: A Microcontroller Generator

Slides:



Advertisements
Similar presentations
Hao wang and Jyh-Charn (Steve) Liu
Advertisements

A reconfigurable system featuring dynamically extensible embedded microprocessor, FPGA, and customizable I/O Borgatti, M. Lertora, F. Foret, B. Cali, L.
Extensible Processors. 2 ASIP Gain performance by:  Specialized hardware for the whole application (ASIC). −  Almost no flexibility. −High cost.  Use.
Configurable System-on-Chip: Xilinx EDK
Altera’s Quartus II Installation, usage and tutorials Gopi Tummala Lab/Office Hours : Friday 2:00 PM to.
Hot Chips 16August 24, 2004 OptimoDE: Programmable Accelerator Engines Through Retargetable Customization Nathan Clark, Hongtao Zhong, Kevin Fan, Scott.
UCB November 8, 2001 Krishna V Palem Proceler Inc. Customization Using Variable Instruction Sets Krishna V Palem CTO Proceler Inc.
Foundation and XACTstepTM Software
Churning the Most Out of IP-XACT for Superior Design Quality Ayon Dey Lead Engineer, TI Anshuman Nayak Senior Product Director, Atrenta Samantak Chakrabarti.
SURF-IT Symposium Luke Heidbrink Mentor: Mark Bachman August 26, 2011.
Department of Electronic & Electrical Engineering Embedded system Aims: Introduction to: Hardware. Software Ideas for projects ? Robotics/Control/Sensors.
Ross Brennan On the Introduction of Reconfigurable Hardware into Computer Architecture Education Ross Brennan
SOC Consortium Course Material ASIC Logic National Taiwan University Adopted from National Chiao-Tung University IP Core Design.
 Project overview  Project-specific success criteria  Block diagram  Component selection rationale  Packaging design  Schematic and theory of operation.
11 Using SPIRIT for describing systems to debuggers DSDP meeting February 2006 Hobson Bullman – Engineering Manager Anthony Berent – Debugger Architect.
Microcontroller based system design Asst. Prof. Dr. Alper ŞİŞMAN.
© 2003 Xilinx, Inc. All Rights Reserved For Academic Use Only Xilinx Design Flow FPGA Design Flow Workshop.
 Mathias Dutour / UAB Dev. team  UNICOS regular meeting  29 January 2009.
Computer Emergency Notification System (CENS)
NIOS II Ethernet Communication Final Presentation
CHAPTER 8 Developing Hard Macros The topics are: Overview Hard macro design issues Hard macro design process Physical design for hard macros Block integration.
Tools - Design Manager - Chapter 6 slide 1 Version 1.5 FPGA Tools Training Class Design Manager.
Greg Alkire/Brian Smith 197 MAPLD An Ultra Low Power Reconfigurable Task Processor for Space Brian Smith, Greg Alkire – PicoDyne Inc. Wes Powell.
Lecture 7: Overview Microprocessors / microcontrollers.
Embedded Systems Design with Qsys and Altera Monitor Program
ISCUG Keynote May 2008 Acknowledgements to the TI-Nokia ESL forum (held Jan 2007) and to James Aldis, TI and OSCI TLM WG Chair 1 SystemC: Untapped Value.
Design with Vivado IP Integrator
SEPTEMBER 8, 2015 Computer Hardware 1-1. HARDWARE TERMS CPU — Central Processing Unit RAM — Random-Access Memory  “random-access” means the CPU can read.
April 15, 2013 Atul Kwatra Principal Engineer Intel Corporation Hardware/Software Co-design using SystemC/TLM – Challenges & Opportunities ISCUG ’13.
1 بسم الله الرحمن الرحيم MEMORY AND I/O. Introduction to 8086 Microprocessor 8086 Pin Configuration Pin Configuration 8086 Architecture & Modes 2.
FIGURE 4.1 SOC System Overview.. FIGURE 4.2 Memory Map Representation for an Intel Platform.
Plug and Play (PnP) By: James Jacobs Jonathan Joyce.
EMT 351/4 DIGITAL IC DESIGN Week # 1 EDA & HDL.
BUILDING AND IMPLEMENT A EMBEDDED WEB SERVER BASE ON TCP/IP STACK WITH A SoC PLATFORM Professor : CHI-JO WANG Name : Bui Quang Hoa (M982b211)
Maj Jeffrey Falkinburg Room 2E46E
Computer systems is a 10-credit unit
<Add team picture or relevant project picture here>
Lab 1: Using NIOS II processor for code execution on FPGA
Microcontroller Evolution
MICROCONTROLLER ARCHITECTURE & ASSEMBLY LANGUAGE PROGRAMMING
Microcontrollers, Basics Fundamentals of Designing with Microcontrollers 16 January 2012 Jonathan A. Titus.
Microcontroller Enhancement Design Project
Microcontrollers & GPIO
Computer System Laboratory
ITEA3 Project: ACOSAR Advanced Co-Simulation Open System Architecture
Implementation of Embedded OS
Analog/Digital Hybrid synthesizer
SoCET – System On Chip Extension Technologies
CP220x The Industry’s Smallest Ethernet Controller
Andes Technology Innovate SOC ProcessorsTM
ENG3050 Embedded Reconfigurable Computing Systems
The PCI bus (Peripheral Component Interconnect ) is the most commonly used peripheral bus on desktops and bigger computers. higher-level bus architectures.
Overview of Embedded SoC Systems
Maintaining Data Integrity in Programmable Logic in Atmospheric Environments through Error Detection Joel Seely Technical Marketing Manager Military &
CSCI/CMPE 3334 Systems Programming
IP – Based Design Methodology
Avalon Switch Fabric.
Serial Data Hub (Proj Dec13-13).
ریز پردازنده. ریز پردازنده مراجع درس میکروکنترلرهای AVR برنامه نویسی اسمبلی و C محمدعلی مزیدی، سپهر نعیمی و سرمد نعیمی مرجع کامل میکروکنترلرهای AVR.
Presented by: ANDREW COOK, Chief Engineer, CEO
Speaker: Tian-Sheuan Chang July, 2004
Resources and Schedule
Lab3 Adding Custom IP Lab: MicroBlaze
Design of a UPC/ScanTron Reader
Manual Robotics ..
Open platform for mixed-criticality applications
Arduino Workshop University of Jordan.
Microcontroller Evolution
Arduino Workshop University of Jordan.
Wireless Embedded Systems
Presentation transcript:

Purdue Microbrewer: A Microcontroller Generator Jacob R. Stevens, John Skubic, Eric Colter, Dr. Matthew Swabey, Dr. Mark Johnson

Purdue Microbrewer Custom microcontroller generator Goals: be able to… Generates HDL and FPGA synthesis script from library of IP Generates documentation and drivers, aiding adoption Goals: be able to… quickly create a custom microcontroller flash it to an FPGA support board use that board just like a commodity microcontroller board Allows: Schools to design custom educational platforms Makers to have application specific microcontrollers Researchers access to an easy to use test platform

Current Solutions Custom RISCV Silicon Solutions Commodity Microcontroller Custom RISCV Silicon Solutions Inexpensive Rich open source ecosystem Accessible (Arduino, Energia, etc) Not application specific Potentially royalty free Uses an open ISA High barrier to entry Can be tailored to application

Commodity Microcontroller Purdue Microbrewer Commodity Microcontroller Custom RISCV Silicon Extremely customizable Usage feels like commodity microcontrollers Low barrier to entry

A Motivating Example: Addressable LEDs The popular WS2812 (NeoPixel) LEDs use a timing-critical unipolar communication protocol No mainstream microcontroller offers hard IP for protocol Without Purdue Microbrewer: Must use assembly and knowledge of frequency of microcontroller in order to communicate Core cannot be interrupted during communication Library must be adapted based on ISA and operating frequency With Purdue Microbrewer: Design the peripheral once, applicable for any end user! Communication can be offloaded, freeing up core

Architecture Microbrewer Developer Microbrewer Tool Microbrewer Output Microbrewer User External EDA Tools

Microbrewer Configuration File Microbrewer user specifies: Peripherals used Bus topology Bus endianness Names of chip and peripheral instances Microbrewer runs sanity checks on configuration file Fit number of IO pads of supported FPGA? Fit inside supported memory map?

Core Uses RISCV Business core as described by John Allows user to customize not only bus topology and included peripherals, but also ISA extensions and microarchitectural configurations Any RISCV core that uses a standard bus interface can be used as well

Peripherals Examples of developed peripherals: UART, PWM, GPIO, SPI Community can contribute peripherals XML is used to describe the peripheral and generate documentation/drivers Includes information such as: Peripheral name Address space needed IO pins needed Register and field definitions

Driver & Documentation Automatically generates drivers & documentation based on peripheral’s XML file Standardizes layout of documentation, important for consistency across open source project contributions Multiple options such as Wiki markup Easy to add new formats such as Latex, Markdown, etc Driver generation aims to minimize need for low level code, simplify process of writing libraries for peripherals

Example Peripheral XML File

Example Drivers

Example Documentation

FPGA Target Board Will provide a supported FPGA board Allows for users to get started without board design experience Allows for FPGA board to be more similar to a commodity microcontroller board than usual FPGA boards Must be easy for other FPGA boards to be targeted Regardless of vendor

Current Progress As shown, majority of progress is on the peripheral level IP development, XML definition, driver & documentation generator Standard FPGA board currently being designed Important next steps: Sanity check script for Microbrewer XML configuration file Automatic generation of bus interconnect and top level instantiations/defines Automatic pin mapping to FPGA

Acknowledgements We wish to acknowledge current and recent SoCet team members who have contributed to the design, verification, and testing of modules or software that were the precursors to Purdue MicroBrewer: Yunus Akhtar, Andrew Brito, David Castley, Gregory Chang, Noah Chesnut, Allen Chien, Yuchen Cui, Dwezil D'souza, Siddhant Ekale, Haoyue Gao, Travis Garza, Mingxuan He, Yaqin Huang, Jiangshan Jing, Ruchit Kank, Prashant Lalwani, Annan Ma, Arnav Mittal, Chandan , Muddamsetty, Trevor Odelberg, Erin Rasmussen, Sudharson Ravishankar, Kevin Rockwell, Manik Singhal, Sam Sowell, Erik Swan, Chuan Yean Tan, Xin Tze (Joyce) Tee, Todd Wild (ECE Industry Design Projects Manager), Kyle Woodworth, and Aliasger Zaidy.

Questions?

Speaker Bio Jacob R. Stevens is a Ross Fellow researching in the Integrated Systems Lab at Purdue University under Dr. Anand Raghunathan. He graduated in 2016 from Purdue University with a Bachelor’s degree in Computer Engineering and continued on to pursue his PhD in SoC architecture. He has interned in the past for Qualcomm, in both software and hardware engineering roles. He has also been a member of the Purdue SoCET team since 2013. His research interests include accelerator-based computing and EDA.