LAB 3 – Synchronous Serial Port Design Using Verilog

Slides:



Advertisements
Similar presentations
Computer Architecture
Advertisements

INPUT-OUTPUT ORGANIZATION
Simulation executable (simv)
Input and Output CS 215 Lecture #20.
Programmable Interval Timer
ECT 357 Ch 18 UART. Today’s Quote: Be careful that your marriage doesn’t become a duel instead of a duet. Be careful that your marriage doesn’t become.
1/1/ / faculty of Electrical Engineering eindhoven university of technology Processor support devices Part 1:Interrupts and shared memory dr.ir. A.C. Verschueren.
Internal Logic Analyzer Final presentation-part B
Internal Logic Analyzer Final presentation-part A
I/O Unit.
Processor System Architecture
Pipeline transfer testing. The purpose of pipeline transfer increase the bandwidth for synchronous slave peripherals that require several cycles to return.
FIU Chapter 7: Input/Output Jerome Crooks Panyawat Chiamprasert
University College Cork IRELAND Hardware Concepts An understanding of computer hardware is a vital prerequisite for the study of operating systems.
I/O Subsystem Organization and Interfacing Cs 147 Peter Nguyen
9/20/6Lecture 3 - Instruction Set - Al Hardware interface (part 2)
INPUT-OUTPUT ORGANIZATION
Hardware Overview Net+ARM – Well Suited for Embedded Ethernet
CS-334: Computer Architecture
 Purpose of our project  Get real world experience in ASIC digital design  Use same tools as industry engineers  Get practical experience in microprocessor.
HD44780 LCD programming From the Hardware Side
Khaled A. Al-Utaibi  Intel Peripheral Controller Chips  Basic Description of the 8255  Pin Configuration of the 8255  Block Diagram.
VERIFICATION OF I2C INTERFACE USING SPECMAN ELITE By H. Mugil Vannan Experts Mr. Rahul Hakhoo, Section Manager, CMG-MCD Mr. Umesh Srivastva, Project Leader.
COMPUTER ORGANIZATIONS CSNB123 NSMS2013 Ver.1Systems and Networking1.
MICROPROCESSOR INPUT/OUTPUT
THE COMPUTER SYSTEM. Lecture Objectives Computer functions – Instruction fetch & execute – Interrupt Handling – I/O functions Interconnections Computer.
Universal Synchronous/Asynchronous Receiver/Transmitter (USART)
CHAPTER 3 TOP LEVEL VIEW OF COMPUTER FUNCTION AND INTERCONNECTION
1-1 Embedded Network Interface (ENI) API Concepts Shared RAM vs. FIFO modes ENI API’s.
Top Level View of Computer Function and Interconnection.
Microprocessor Dr. Rabie A. Ramadan Al-Azhar University Lecture 2.
Chonnam national university VLSI Lab 8.4 Block Integration for Hard Macros The process of integrating the subblocks into the macro.
SEQUENTIAL CIRCUITS Component Design and Use. Register with Parallel Load  Register: Group of Flip-Flops  Ex: D Flip-Flops  Holds a Word of Data 
 8251A is a USART (Universal Synchronous Asynchronous Receiver Transmitter) for serial data communication.  Programmable peripheral designed for synchronous.
LZRW3 Data Compression Core Dual semester project April 2013 Project part A final presentation Shahar Zuta Netanel Yamin Advisor: Moshe porian.
Computer Architecture Lecture 2 System Buses. Program Concept Hardwired systems are inflexible General purpose hardware can do different tasks, given.
EEE440 Computer Architecture
Accessing I/O Devices Processor Memory BUS I/O Device 1 I/O Device 2.
ECEG-3202 Computer Architecture and Organization Chapter 3 Top Level View of Computer Function and Interconnection.
PROJECT - ZYNQ Yakir Peretz Idan Homri Semester - winter 2014 Duration - one semester.
CH10 Input/Output DDDData Transfer EEEExternal Devices IIII/O Modules PPPProgrammed I/O IIIInterrupt-Driven I/O DDDDirect Memory.
Embedded Network Interface (ENI). What is ENI? Embedded Network Interface Originally called DPO (Digital Product Option) card Printer without network.
7 - 1 Texas Instruments Incorporated Module 7 : Serial Peripheral Interface C28x 32-Bit-Digital Signal Controller TMS320F2812.
© 2009, Renesas Technology America, Inc., All Rights Reserved 1 Course Introduction  Purpose:  This course provides an overview of the serial communication.
Dr Mohamed Menacer College of Computer Science and Engineering, Taibah University CE-321: Computer.
Part A Final Dor Obstbaum Kami Elbaz Advisor: Moshe Porian August 2012 FPGA S ETTING U SING F LASH.
Input/Output Problems Wide variety of peripherals —Delivering different amounts of data —At different speeds —In different formats All slower than CPU.
IT3002 Computer Architecture
Lecture 4 General-Purpose Input/Output NCHUEE 720A Lab Prof. Jichiang Tsai.
1 Basic Processor Architecture. 2 Building Blocks of Processor Systems CPU.
Chapter 3 System Buses.  Hardwired systems are inflexible  General purpose hardware can do different tasks, given correct control signals  Instead.
Lab Environment and Miniproject Assignment Spring 2009 ECE554 Digital Engineering Laboratory.
Internal Logic Analyzer Characterization presentation By: Moran Katz and Zvika Pery Mentor: Moshe Porian Dual-semester project Spring 2012.
Genova May 2013 Diego Real – David Calvo IFIC (CSIC – Universidad de Valencia) CLBv2 1.
Internal Logic Analyzer Middle presentation-part A By: Moran Katz and Zvika Pery Mentor: Moshe Porian Dual-semester project Spring 2012.
Lab 4 HW/SW Compression and Decompression of Captured Image
Lab 1: Using NIOS II processor for code execution on FPGA
1 Input-Output Organization Computer Organization Computer Architectures Lab Peripheral Devices Input-Output Interface Asynchronous Data Transfer Modes.
Interfacing Memory Interfacing.
Overview of Computer Architecture and Organization
HD44780 LCD programming From the Hardware Side
THE ECE 554 XILINX DESIGN PROCESS
THE ECE 554 XILINX DESIGN PROCESS
Presentation transcript:

LAB 3 – Synchronous Serial Port Design Using Verilog Fall 2015 TA : Namita Paul Ce Wei

VLSI Lab Overview Verilog Hardware Description Language (HDL)‏ Behavioral Description Structural Description Synthesizable code RTL level VCS lab3 Design Vision (Synthesis tool)‏ Gate level Virtuoso editor lab2 APR tool Tr. level lab1 Virtuoso editor Layout

VLSI Lab Overview (Con’t) RTL level system design using Verilog (Behavioral modeling) to design Part A: Synchronous Serial Port (SSP)‏ Part B: Integration of SSP with ARM processor using a SoC bus interface called “WISHBONE” Verilog Simulators Simulator – VCS (Synopsys), ncverilog (Cadence)‏ Tools Simulation: VCS – Verilog simulation tool VirSim – GUI to control simulation and view waveforms Synthesis: Design Vision – Logic Synthesis

Lab3A – SSP Design SSP Perform Your design Parallel-to-serial conversion on data received from a processor Serial-to-parallel conversion on data received from a peripheral device Your design Your SSP provides buffering capability on both the TX and RX logic using FIFOs to allow up to four 8-bit words to be stored in independently in both TX and RX module

Lab3A – SSP Block Diagram

Lab3A – SSP Specifications Transmit FIFO(TxFIFO)/ Receive FIFO(RxFIFO)‏ 8-bit wide, 4-location deep FIFO memory buffer If FIFO is full, generate SSPTXINTR/SSPRXINTR interrupt signal and refuse to accept any additional data Transmit and Receive Logic TX Logic: read from TxFIFO and perform parallel-to-serial conversion Send the serial data synchronously RX Logic: perform serial-to-parallel conversion on the incoming data synchronously Send data into RxFIFO

Lab3A – Port Descriptions Name your top module as “ssp” You should use the exact names shown below SSP module port description Input port: PCLK, CLEAR_B, PSEL, PWRITE, PWDATA[7:0], SSPCLKIN, SSPFSSIN, SSPRXD Output port: PRDATA[7:0], SSPOE_B, SSPTXD, SSPCLKOUT, SSPFSSOUT, SSPTXINTR, SSPRXINTR

Lab3A – Signal Description Please refer to the lab website for details Signal descriptions CLEAR_B: Low active clear signal SSPCLKIN(RxLogic), SSPCLKOUT(TxLogic)‏ Synchronization clock for data transfer 2 times slower than PCLK (clock for SSP)‏ PSEL: Chip select signal for SSP PWRITE: High – Write to SSP, Low – Read from SSP SSPFSSIN(RxLogic), SSPFSSOUT(TxLogic)‏ Indicate starting of data transfer SSPOE_B: Low active output enable signal, indicating when SSPTXD is valid (Used only for transmission)‏ Assume perfect synchronization between SSPCLKIN and SSPCLKOUT - testing is done with external loop back Dataflow: (Written by the processor)  SSP TxFIFO  SSPTXD  SSPRXD  SSP RxFIFO  (Read by the processor)‏

Lab3A – Timing Diagram (single transfer)‏

Lab3A – Timing Diagram (continuous transfer)‏

Lab3A – Logic Synthesis Regularly synthesize your code by reading in your design to make sure your design is synthesizable

Lab3B – WISHBONE SoC interconnection interface Objective To design WISHBONE bus interface module to integrate heterogeneous modules

Lab3 – What is given to you

Lab3 – What you should do‏

Lab3B – Module Descriptions ARM processor (Given)‏ A master core of your system Memory module (Given)‏ Simple memory block used as an instruction memory Synchronous Serial Port (Designed in Lab3A)‏ Slave core of your system WISHBONE & Clock Management Unit (Need to design in Lab3B)‏ WISHBONE master: communicate with the ARM core WISHBONE slave: communicate with the SSP and memory module Clock Management Unit: manage all the clocks and interrupts

Lab3B – WISHBONE Master: Slave: When the ARM core gets the data transfer activities, WISHBONE master has to transfer the data from/to the WISHBONE slave Slave: Transfer the data to/from the memory of SSP according to request from the ARM core, and then report the result of the transfer to the WISHBONE master Should be done with WISHBONE’s timing specifications

Lab3B – WISHBONE (Con’t) Clock Management Unit for ARM processor (phi1, phi2) for Memory (phi1, phi2) for WISHBONE and SSP (clk_o) If interrupts are occurred, Clock Management Unit should stop the clock for ARM processor.

Lab3B – WISHBONE (Con’t)‏ Instruction Read When ARM accesses h’00000000 – h’000FFFF Generate memory access signals Deliver instructions from memory to ARM Mem  Slave  Master  ARM Path: Read signal (ARM)  master  slave  memory  data from memory  slave  master  ARM (instruction transferred to ARM)‏ Data Read from SSP When ARM access h’0010001 Generate SSP access signals Deliver data from SSP (RxFIFO) to ARM SSP  Slave  Master  ARM Path: Read signal (ARM)  master  slave  SSP  data from SSP  slave  master  ARM (data transferred to ARM)‏

Lab3B – WISHBONE (Con’t)‏ Data Write to SSP When ARM access h’0010000 Generate SSP access signals Deliver data from ARM to SSP (TxFIFO)‏ ARM  Master  Slave  SSP Path: Read signal and data (from ARM)  master  slave  SSP (data written to SSP)‏ Interrupt Handling Stop ARM by holding phi1 and phi2 (Clock Management Unit) E.g., SSP Overflow Interrupt SSP  Clock Management Unit  ARM (holds clocks)‏

Lab3B – Simulation Write your own assembly test program using ARM instructions Read ARM manual given to you Compile the assembly code and save it to /image/mem.dat (actual memory image)‏ asm_arm my_assembly_code > mem.data Template mem.data can be found in Lab3 website – you may choose to create your own Run VCS

Lab3 – Keys to remember Go through verilog materials before you started if you are new to verilog Make sure your design is synthesizable, run design_vision after you get every basic building block done Install “Xming fonts” if your DVE gui tool is full of weird symbol and squares (./simv -gui &) Never forget to kill the thread once you quit design_vision!! we only have about 50 license.

Lab3 – Keys to remember(cont'd) EE382M/EE460R: Nov. 18th No competition in lab3, If you fulfill all the functions correctly, you got 100pts! Good Luck!!