A MSP430 Microcontroller with Custom Peripherals

Slides:



Advertisements
Similar presentations
VHDL Design of Multifunctional RISC Processor on FPGA
Advertisements

Z. Stamenković 1, M. Giles 2, and F. Russi 2 1 IHP GmbH, Frankfurt (Oder), GERMANY 2 Synopsys Inc., Mountain View, CA, USA 13th IEEE European Test Symposium,
TOPIC : SYNTHESIS DESIGN FLOW Module 4.3 Verilog Synthesis.
Robust Low Power VLSI R obust L ow P ower VLSI A Programmable Multi- Channel Sub-Threshold FIR Filter for a Body Sensor Node Alicia Klinefelter Dept. of.
Robust Low Power VLSI R obust L ow P ower VLSI Synthesizing SRAM timing and Periphery using Synopsis By: Jim Boley.
EELE 367 – Logic Design Module 2 – Modern Digital Design Flow Agenda 1.History of Digital Design Approach 2.HDLs 3.Design Abstraction 4.Modern Design Steps.
Integrated Circuits Laboratory Faculty of Engineering Digital Design Flow Using Mentor Graphics Tools Presented by: Sameh Assem Ibrahim 16-October-2003.
CSE241 Formal Verification.1Cichy, UCSD ©2003 CSE241A VLSI Digital Circuits Winter 2003 Recitation 6: Formal Verification.
Graduate Computer Architecture I Lecture 15: Intro to Reconfigurable Devices.
Timing Analysis Timing Analysis Instructor: Dr. Vishwani D. Agrawal ELEC 7770 Advanced VLSI Design Team Project.
Joe Gebis Computer Science Division University of California, Berkeley IRAM CAD Status and Plan.
9 th Sept, VLSI Design & Test seminar series, Fall 2009, Auburn University, Auburn, AL Low Power Implementation of ARM1176JZF-S by Manish Kulkarni.
S. Reda EN160 SP’08 Design and Implementation of VLSI Systems (EN1600) lecture06 Prof. Sherief Reda Division of Engineering, Brown University Spring 2008.
Altera’s Quartus II Installation, usage and tutorials Gopi Tummala Lab/Office Hours : Friday 2:00 PM to.
An Introduction to Synopsys Design Automation Jeremy Lee November 7, 2007.
Robust Low Power VLSI R obust L ow P ower VLSI Power Management Solutions for ULP SoCs Deliberate Practice – Session 3 Seyi and Aatmesh 15 th May 2013.
Supply Voltage Biasing in Synopsys Andy Whetzel University of Virginia 1.
Robust Low Power VLSI R obust L ow P ower VLSI Memory Management Units for Instruction and Data Cache for OR1200 CPU Core Arijit Banerjee ASIC/SOC Class.
 Purpose of our project  Get real world experience in ASIC digital design  Use same tools as industry engineers  Get practical experience in microprocessor.
A 130 nm Sub-VT Power-Gated Processor for Body Sensor Network Applications Yanqing Zhang Yousef Shakhsheer 1.
ISE. Tatjana Petrovic 249/982/22 ISE software tools ISE is Xilinx software design tools that concentrate on delivering you the most productivity available.
Ronny Krashinsky Seongmoo Heo Michael Zhang Krste Asanovic MIT Laboratory for Computer Science SyCHOSys Synchronous.
Lecture #3 Page 1 ECE 4110– Sequential Logic Design Lecture #3 Agenda 1.FPGA's 2.Lab Setup Announcements 1.No Class Monday, Labor Day Holiday 2.HW#2 assigned.
Ssh allows us to login to the system and “-X” enables X Windows support “pwd” – print working directory – should be your user directory “cd” – change directory.
The George Washington University School of Engineering and Applied Science Department of Electrical and Computer Engineering ECE122 – 30 Lab 5: Layout.
ASIC/FPGA design flow. FPGA Design Flow Detailed (RTL) Design Detailed (RTL) Design Ideas (Specifications) Design Ideas (Specifications) Device Programming.
ELEC 5270/6270 Spring 2013 Low-Power Design of Electronic Circuits Tools for Power Analysis
© 2003 Xilinx, Inc. All Rights Reserved For Academic Use Only Xilinx Design Flow FPGA Design Flow Workshop.
Design Verification An Overview. Powerful HDL Verification Solutions for the Industry’s Highest Density Devices  What is driving the FPGA Verification.
Fully Pipelined FPU for OR1200
Canary SRAM Built in Self Test for SRAM VMIN Tracking
1 Towards Optimal Custom Instruction Processors Wayne Luk Kubilay Atasu, Rob Dimond and Oskar Mencer Department of Computing Imperial College London HOT.
Chonnam national university VLSI Lab 8.4 Block Integration for Hard Macros The process of integrating the subblocks into the macro.
정 용 군 ( 전자공학과 대학원 ) 대상 : VLSI 설계 연구회 1,2,3 학년 기간 : ~ Synopsys Tool 교육 Synopsys 교육 1.
The George Washington University School of Engineering and Applied Science Department of Electrical and Computer Engineering ECE122 – 30 Lab 3: Layout.
Introduction to FPGA Created & Presented By Ali Masoudi For Advanced Digital Communication Lab (ADC-Lab) At Isfahan University Of technology (IUT) Department.
DFT Compiler Synopsys Customer Education Services
Lecture #3 Page 1 ECE 4110–5110 Digital System Design Lecture #3 Agenda 1.FPGA's 2.Lab Setup Announcements 1.HW#2 assigned Due.
ECE 545 Project 2 Specification. Schedule of Projects (1) Project 1 RTL design for FPGAs (20 points) Due date: Tuesday, November 22, midnight (firm) Checkpoints:
CPE 626 Advanced VLSI Design Lecture 6: VHDL Synthesis Aleksandar Milenkovic
ECE 545 Project 2 Specification. Project 2 (15 points) – due Tuesday, December 19, noon Application: cryptography OR digital signal processing optimized.
© 2003 Xilinx, Inc. All Rights Reserved System Simulation.
IMPLEMENTATION OF MIPS 64 WITH VERILOG HARDWARE DESIGN LANGUAGE BY PRAMOD MENON CET520 S’03.
Chapter 11 System-Level Verification Issues. The Importance of Verification Verifying at the system level is the last opportunity to find errors before.
Ready to Use Programmable Logic Design Solutions.
ASIC/FPGA design flow. Design Flow Detailed Design Detailed Design Ideas Design Ideas Device Programming Device Programming Timing Simulation Timing Simulation.
Tutorial for Modelsim 1 Installation Download the Modelsim Student Edition: Follow the.
Physical Design of FabScalar Generated Cores EE6052 Class Project Wei Zhang.
Written by Whitney J. Wadlow
-1- Soft Core Viterbi Decoder EECS 290A Project Dave Chinnery, Rhett Davis, Chris Taylor, Ning Zhang.
Altera Technical Solutions Seminar Schedule OpeningIntroduction FLEX ® 10KE Devices APEX ™ 20K & Quartus ™ Overview Design Integration EDA Integration.
1 EE 382M VLSI 1 EE 360R Computer-Aided Integrated Circuit Design Lab 1 Demo Fall 2011 Whitney J. Wadlow.
VLSI Synthesis and Simulation Tools Nitin Yogi 01/09/2009
Introduction to Vivado
ASIC Design Methodology
Physical Design of FabScalar Generated Cores
Flopoco in LegUp Jenny deng.
VLSI Testing Lecture 5: Logic Simulation
VLSI Testing Lecture 5: Logic Simulation
SoCKs Flow: Here, There, and Back Again
Written by Whitney J. Wadlow
ECE 4110–5110 Digital System Design
Instructor: Prof. Levitan, Prof. Jones Student: Xinyu Yi
Two-phase Latch based design
Week 5, Verilog & Full Adder
Hardware Description Languages
A High Performance SoC: PkunityTM
THE ECE 554 XILINX DESIGN PROCESS
EE382M VLSI 1 LAB 1 DEMO FALL 2018.
THE ECE 554 XILINX DESIGN PROCESS
Presentation transcript:

A MSP430 Microcontroller with Custom Peripherals Alicia Klinefelter Dept. of Electrical Engineering, University of Virginia May 08, 2012

Context [1] Wireless body sensor nodes (BSN) often have microcontroller for processing Requires coding in custom ISA or assembly on finished chip For flexible design available to C-level programmers, the MSP430 is ideal Problem: Accelerators not addressable! [2]

Method Explore MSP430 RTL (from OpenCores), become familiar with peripherals template, and simulate behavioral code in ModelSim a Add new peripheral block (use existing RTL), verify in ModelSim a Learn UPF format and how to incorporate the file within the synthesis flow a Do a first-pass synthesis of the RTL not including UPF to determine power numbers a Complete simulations of original RTL to determine functionality and power a Complete synthesis of RTL using UPF and complete simulations to determine functionality and power r

Architecture [2] The most important file to edit is openMSP430_defines.v for setup information The peripheral address space is assumed to be 512B. There are limitations to what peripherals (that are provided) can be used based on whether you plan to synthesize this for an FPGA or as an ASIC. Program and data memory are separate (can both be RAMs) Within the openMSP430 directory taken from OpenCores, there is a "/trunk/core/sim" directory for running behavioral simulations for all core instructions plus other test features such as debugging, clocking, and peripherals. Run on Linux Download Icarus Verilog and GTK Wave Viewer

Custom Peripheral Designware divider: DW_div Made extra peripheral addressable to MSP430 To do behavior simulations (in ModelSim, for example), you need to also include two files within your Verilog work directory for this module to reference found in $SYNOPSYS_ROOT/dw/sim_ver directory. One ".v" file with the same name as your DesignWare component One ".inc" file with the name of your component.

Getting Test Vectors: GTKWave

Getting Test Vectors: Modelsim AND

Getting Test Vectors: Modelsim XOR

Getting Test Vectors: Modelsim MULT

Getting Test Vectors: Modelsim DIV

Synthesis with DC: Setup Within the MSP430 directories from OpenCores, there is a directory including tcl scripts for DC synthesis:  openmsp430 --> trunk --> core --> Synopsys  Good foundation for commands in DC The dw_foundations.sldb file needs to be accessible to the script. This file can be found at the Synopsys root directory /<current version>/libraries/syn.

Synthesis with DC: Results DC and DFT completed for MSP430 without errors. Assumed voltage of 1.2V and frequency of 1MHz for fast “dco_clk” and 32kHz for slow “lfxt_clk” Used series of tcl scripts compiled from examples in class, example provided by openMSP430 directory, and commands from documentation.

Synthesis with DC: UPF Design There is a GUI option for creating UPF files from your synthesized design called visual UPF. Can select individual modules, put them on separate power designs, and add power switches. This creates a UPF script to use for the rest of the flow. Consideration: need to add switch inputs on top-level Verilog before implementing.

Formality: Pre-Layout

P&R with ICC: Power Grid Place and route was completed in ICC and used a set of scripts from the class tutorial. The library setup was almost identical (as in the class tutorial). There is a script titled "design_all.tcl" used as template for most of design. Final command set was a hybrid between what was provided in the script and using the GUI to manually do things. The final script is included in the /icc/scripts directory.

P&R with ICC: Post-Route The standard cells were than placed, the design was routed, and filler cells were added. To view the size of the routed design, the ruler was used to see that it is ~350umx350um GDS and final netlist exported Problems: Violated min density % for metal layers not used, but ignored the DRC warnings.

P&R with ICC: Visual Mode There is a visual mode to view different design qualities. Within the GUI, you can go to View --> Visual Mode to see the options. Cell Density

P&R with ICC: Visual Mode Peripherals and execution unit took up a lot of space! Hierarchy

P&R with ICC: Visual Mode Clock tree routing: LFXT Clock tree routing: DCO

Formality: Post-Layout

HSPICE Simluations SPICE netlist found using Hercules command nettran -verilog openMSP430.v -cdl-a -cdl-s -sp-S -verilog-b1 VDD -verilog-b0 VSS -rootCell openMSP430 -sp ./saed90nm.cdl -outType spice -outName openMSP430.sp Problem: SPICE format, not HSPICE .SUBCKT <subckt name> <inputs and outputs> <BODY OF BLOCK> .ENDS <subckt name> Need an “.end” statement Created HSPICE stimuli file for ADD instruction v<NAME> <NAME> <GROUND REF> <TYPE OF SIGNAL> <VALUES> Needed to run for ~30μs (long!) Simulation took a few days

HSPICE Simluations Cont’d Include files in netlist: .include "/net/plato.ee.virginia.edu/users/amk5vx/synopsys/msp430/hspice/_graphical_stimuli.scs" .lib "/net/plato.ee.virginia.edu/users/amk5vx/synopsys/msp430/hspice/SAED90nm.lib" TT_12 Add simulation type: .TRAN 5e-9 34e-6 START=0.0 Add node initial conditions: Had convergence problems, wrote Perl script to extract DFF nets .IC + V(test_si2)=0 + V(test_si3)=0 + V(test_so3)=0 ... Make simulation run faster: .OPTIONS RELTOL=.01 .OPTIONS GMIN=10E-9

HSPICE Sim Results Viewed outputs using Wave View (wv) AND simulation took a few days (only one instruction completed) The average current was 30.8mA at 1.2V and 1MHz. This results in a power of 36.9mW.

Provided Results Directory of files including the results. The description of each sub-directory is: dc: Results, scripts, ref files, and original Verilog files of the design for DC synthesis. formality: Formality of pre and post layout files. hercules: Used for getting SPICE netlist from the results of ICC place and route. hspice: directory containing HSPICE netlist, perl scripts for modifying SPICE netlist to turn into an HSPICE netlist, and stimuli file. icc: Files and scripts used for place and route. Other loose files in the directory The data sheet for the DesignWare divider that is being used (dw_div.pdf) The "syn_setup" file that needs to be sourced before using all of the tools described above.

Future Work Adding DesignWare or custom memories for the program and data memories. The difficulty isn't adding them so much as using them to feed data to the MSP430 including all of the scanning data into them and timing. More simulations of other instructions would be good to truly know functionality across the instruction set. Implementing power gating into the layout using UPF.

References Fan Zhang; Yanqing Zhang; Silver, J.; Shakhsheer, Y.; Nagaraju, M.; Klinefelter, A.; Pandey, J.; Boley, J.; Carlson, E.; Shrivastava, A.; Otis, B.; Calhoun, B.; , "A batteryless 19μW MICS/ISM-band energy harvesting body area sensor node SoC," Solid-State Circuits Conference Digest of Technical Papers (ISSCC), 2012 IEEE International , vol., no., pp.298-300, 19-23 Feb. 2012. http://opencores.com/project,openmsp430

Questions?