Lecture 3. RTL Design Methodology. Transition from Pseudocode & Interface to a Corresponding Block Diagram

Similar documents
Lecture 2. RTL Design Methodology. Transition from Pseudocode & Interface to a Corresponding Block Diagram

Lecture 8. RTL Design Methodology. Transition from Pseudocode & Interface to a Corresponding Block Diagram

EE 459/500 HDL Based Digital Design with Programmable Logic. Lecture 13 Control and Sequencing: Hardwired and Microprogrammed Control

CSC 220: Computer Organization Unit 11 Basic Computer Organization and Design

Lecture 2B. RTL Design Methodology. Transition from Pseudocode & Interface to a Corresponding Block Diagram

Elementary Educational Computer

Midterm Exam ECE 448 Spring 2019 Wednesday, March 6 15 points

COMPUTER ORGANIZATION AND DESIGN The Hardware/Software Interface. Chapter 4. The Processor. Part A Datapath Design

Appendix D. Controller Implementation

K-NET bus. When several turrets are connected to the K-Bus, the structure of the system is as showns

COMPUTER ORGANIZATION AND DESIGN The Hardware/Software Interface. Chapter 4. The Processor. Single-Cycle Disadvantages & Advantages

End Semester Examination CSE, III Yr. (I Sem), 30002: Computer Organization

Module Instantiation. Finite State Machines. Two Types of FSMs. Finite State Machines. Given submodule mux32two: Instantiation of mux32two

Chapter 4 The Datapath

Computers and Scientific Thinking

Description of Single Cycle Computer (SCC)

Computer Architecture. Microcomputer Architecture and Interfacing Colorado School of Mines Professor William Hoff

Τεχνολογία Λογισμικού

Τεχνολογία Λογισμικού

Behavioral Modeling in Verilog

CMSC Computer Architecture Lecture 3: ISA and Introduction to Microarchitecture. Prof. Yanjing Li University of Chicago

Digital System Design

APPLICATION NOTE PACE1750AE BUILT-IN FUNCTIONS

Improvement of the Orthogonal Code Convolution Capabilities Using FPGA Implementation

ΕΠΛ 605 Εργαστήριο 5. Παναγιώτα Νικολάου 11/10/18. Slides from: Rajagopalan Desikan, Doug Burger, Stephen Keckler, Todd Austin

Microprogrammed Control

The Simeck Family of Lightweight Block Ciphers

DATA SHEET AND USER GUIDE

EE123 Digital Signal Processing

System Overview. Hardware Concept. s Introduction to the Features of MicroAutoBox t

Outline and Reading. Analysis of Algorithms. Running Time. Experimental Studies. Limitations of Experiments. Theoretical Analysis

L6: FSMs and Synchronization

Reversible Realization of Quaternary Decoder, Multiplexer, and Demultiplexer Circuits

EE260: Digital Design, Spring /16/18. n Example: m 0 (=x 1 x 2 ) is adjacent to m 1 (=x 1 x 2 ) and m 2 (=x 1 x 2 ) but NOT m 3 (=x 1 x 2 )

Breakpoints and Breakpoint Detection in Source Level Emulation

Analysis of Algorithms

Hardware Design and Performance Estimation of The 128-bit Block Cipher CRYPTON

Chapter 3. Floating Point Arithmetic

top() Applications of Stacks

Pseudocode ( 1.1) Analysis of Algorithms. Primitive Operations. Pseudocode Details. Running Time ( 1.1) Estimating performance

Announcements. Reading. Project #4 is on the web. Homework #1. Midterm #2. Chapter 4 ( ) Note policy about project #3 missing components

CAEN Tools for Discovery

CS252 Spring 2017 Graduate Computer Architecture. Lecture 6: Out-of-Order Processors

Recursion. Computer Science S-111 Harvard University David G. Sullivan, Ph.D. Review: Method Frames

Out the box. dataloggers. easy to configure easy data streaming easy choice. connect, simply configure and go

Chapter 2: Non-hierarchical Coloured Petri Nets. 1`(1,"COL")++ 1`(2,"OUR")++ 1`(3,"ED ")++ 1`(4,"PET")++ 1`(5,"RI ")++ 1`(6,"NET") (n,d) AllPackets

Morgan Kaufmann Publishers 26 February, COMPUTER ORGANIZATION AND DESIGN The Hardware/Software Interface. Chapter 5.

Chapter 4 Threads. Operating Systems: Internals and Design Principles. Ninth Edition By William Stallings

Lecture 11: PI/T parallel I/O, part I

Chapter 5: Processor Design Advanced Topics. Microprogramming: Basic Idea

CIS 121 Data Structures and Algorithms with Java Spring Stacks and Queues Monday, February 12 / Tuesday, February 13

Copyright 2016 Ramez Elmasri and Shamkant B. Navathe

Chapter 1. Introduction to Computers and C++ Programming. Copyright 2015 Pearson Education, Ltd.. All rights reserved.

Running Time. Analysis of Algorithms. Experimental Studies. Limitations of Experiments

CMSC Computer Architecture Lecture 5: Pipelining. Prof. Yanjing Li University of Chicago

Automatic Generation of Polynomial-Basis Multipliers in GF (2 n ) using Recursive VHDL

Solution printed. Do not start the test until instructed to do so! CS 2604 Data Structures Midterm Spring, Instructions:

Fundamentals of. Chapter 1. Microprocessor and Microcontroller. Dr. Farid Farahmand. Updated: Tuesday, January 16, 2018

Outline n Introduction n Background o Distributed DBMS Architecture

Running Time ( 3.1) Analysis of Algorithms. Experimental Studies. Limitations of Experiments

Analysis of Algorithms

Data Structures and Algorithms. Analysis of Algorithms

CMSC Computer Architecture Lecture 12: Virtual Memory. Prof. Yanjing Li University of Chicago

Algorithm Design Techniques. Divide and conquer Problem

Copyright 2016 Ramez Elmasri and Shamkant B. Navathe

Message Integrity and Hash Functions. TELE3119: Week4

Polynomial Functions and Models. Learning Objectives. Polynomials. P (x) = a n x n + a n 1 x n a 1 x + a 0, a n 0

What are we going to learn? CSC Data Structures Analysis of Algorithms. Overview. Algorithm, and Inputs

Computer Systems - HS

CSE 417: Algorithms and Computational Complexity

Major CSL Write your name and entry no on every sheet of the answer script. Time 2 Hrs Max Marks 70

Lecture 1: Introduction and Strassen s Algorithm

Math Section 2.2 Polynomial Functions

Hardware Design and Performance Estimation of the 128-bit Block Cipher CRYPTON

Chapter 3 Classification of FFT Processor Algorithms

Heaps. Presentation for use with the textbook Algorithm Design and Applications, by M. T. Goodrich and R. Tamassia, Wiley, 2015

Efficient Diminished-1 Modulo 2 n þ 1 Multipliers

The following algorithms have been tested as a method of converting an I.F. from 16 to 512 MHz to 31 real 16 MHz USB channels:

UNIVERSITY OF MORATUWA

8.0 Resolving Multi-Signal Drivers

A collection of open-sourced RISC-V processors

ICS Regent. Communications Modules. Module Operation. RS-232, RS-422 and RS-485 (T3150A) PD-6002

SERIAL COMMUNICATION INTERFACE FOR ESA ESTRO

Switching Hardware. Spring 2018 CS 438 Staff, University of Illinois 1

IMP: Superposer Integrated Morphometrics Package Superposition Tool

Security of Bluetooth: An overview of Bluetooth Security

Exercise 6 (Week 42) For the foreign students only.

Image Segmentation EEE 508

Randomized and Quantum Protocols in Distributed Computation

Out the box. dataloggers. easy to configure easy data streaming easy choice. connect, simply configure and go

Introduction to GAMIT/GLOBK Applications of GLOBK. Lecture 11 OVERVIEW

Custom single-purpose processors: Hardware. 4.1 Introduction. 4.2 Combinational logic design 4-1

Morgan Kaufmann Publishers 26 February, COMPUTER ORGANIZATION AND DESIGN The Hardware/Software Interface. Chapter 5

DIO-6464L-PE. Specification. Features. Digital I/O Board with Opto-Isolation for PCI Express DIO-6464L-PE 1. Ver.1.11

. Written in factored form it is easy to see that the roots are 2, 2, i,

Structuring Redundancy for Fault Tolerance. CSE 598D: Fault Tolerant Software

ECE 545 Fall 2013 Final Exam

MOTIF XF Extension Owner s Manual

A Parallel Reconfigurable Architecture for Real-Time Stereo Vision

n Some thoughts on software development n The idea of a calculator n Using a grammar n Expression evaluation n Program organization n Analysis

Transcription:

Lecture 3 RTL Desig Methodology Trasitio from Pseudocode & Iterface to a Correspodig Block Diagram

Structure of a Typical Digital Data Iputs Datapath (Executio Uit) Data Outputs System Cotrol Sigals Status Sigals Cotrol & Status Iputs Cotroller (Cotrol Uit) Cotrol & Status Outputs

Hardware Desig with RTL VHDL Pseudocode Iterface Datapath Block diagram Block diagram Cotroller State diagram or ASM chart VHDL code VHDL code VHDL code

Steps of the Desig Process 1. Text descriptio 2. Iterface 3. Pseudocode 4. Block diagram of the Datapath 5. Iterface with the divisio ito the Datapath ad the Cotroller 6. ASM chart of the Cotroller 7. RTL VHDL code of the Datapath, the Cotroller, ad the Top Uit 8. Testbech of the Datapath, the Cotroller, ad the Top Uit 9. Fuctioal simulatio ad debuggig 10. Sythesis ad post-sythesis simulatio 11. Implemetatio ad timig simulatio 12. Experimetal testig

Steps of the Desig Process Practiced i Class Today 1. Text descriptio 2. Iterface 3. Pseudocode 4. Block diagram of the Datapath 5. Iterface with the divisio ito the Datapath ad the Cotroller 6. ASM chart of the Cotroller 7. RTL VHDL code of the Datapath, the Cotroller, ad the Top Uit 8. Testbech of the Datapath, the Cotroller, ad the Top Uit 9. Fuctioal simulatio ad debuggig 10. Sythesis ad post-sythesis simulatio 11. Implemetatio ad timig simulatio 12. Experimetal testig

Statistics example

Circuit Iterface doe reset di go Statistics 2 dout dout_mode

Pseudocode o_1 = o_2 = o_3 = sum = 0 for i=0 to k-1 do sum = sum + di if di > o_1 the o_3 = o_2 o_2 = o_1 o_1 = di elseif (di > o_2) the o_3 = o_2 o_2 = di elseif (di > o_3) the ed if ed for avr = sum / k o_3 = di

Iterface Table Port Width Meaig 1 System clock. reset 1 System reset. di Iput Data. go 1 Sigal active high for k clock cycles durig which Iput Data is read by the circuit. doe 1 Sigal set to high after the output is ready. dout Output depedet o the dout_mode iput. dout_mode 2 Cotrol sigal determiig value available at the output. 00: avr, 01: o_1, 10: o_2, 11: o_3.

Statistics Example: Solutios

di +m esum e +m sum +m +m rst reset e1 e2 e rst reset 1 0 s2 e o_1 rst o_2 reset 1 0 s3 A B A B A>B A>B gt1 gt2 ec e m i rst reset >> m avr o_1 o_2 o_3 00 01 10 11 e3 dout_mode e rst reset o_3 A B A>B gt3 = k-1 zk 2 dout Block diagram of the Datapath

Iterface with the divisio ito the Datapath ad the Cotroller di dout_mode reset go 2 Datapath gt1 gt2 gt3 zk e1 e2 e3 esum ec s2 s3 Cotroller dout doe

RC5

Basic operatios: Rotatio by a variable umber of bits RC5 Oe of the fastest ciphers B w A w A<<<B C w C=A<<<B w Additio modulo 2 w where w is the size of operads A ad B + A B C C = A + B mod 2 w

w - word size i bits RC5 w/r/b iput/output block = 2 words = 2 w bits Typical value: w=32 64-bit iput/output block r - umber of rouds w = 16, 32, 64 b - key size i bytes key size i bits = 8 b bits 0 b 255 Recommeded versio: RC5 32/12/16 64 bit block 12 rouds 128 bit key

Pseudocode Split M ito two halves A ad B, w bits each A = A + S[0] B = B + S[1] for j= 1 to r do { A = ((A B) <<< B) + S[2j] B = ((B A ) <<< A ) + S[2j+1] A = A B = B } C= A B

Notatio A, B, A, B = w-bit variables S[2j], S[2j+1] = a pair of roud keys, each roud key is a w-bit variable = a XOR of two w-bit words + = usiged additio mod 2 w A <<< B = rotatio of the variable A by a umber of positios give by the curret value of the variable B A B = cocateatio of A ad B The algorithms has two parameters: r = umber of rouds (e.g., 3) w = word size (always a power of 2, e.g., w = 2 4 = 16)

Circuit Iterface reset M write_m 2w RC5 2w C Doe Si w write_si i m

Circuit Iterface

Protocol (1) A exteral circuit first loads all roud keys S[0], S[1], S[2],, S[2r], [2r+1] to the two iteral memories of the RC5 uit. The first memory stores values of S[i=2j], i.e., oly roud keys with eve idices. The secod memory stores values of S[i=2j+1], i.e. oly roud keys with odd idices. Loadig roud keys is performed usig iputs: Si, i, write_si,. The, the exteral circuits, loads a message block M to the RC5 uit, usig iputs: M, write_m,. After the message block M is loaded to the RC5 uit, the ecryptio starts automatically.

Protocol (2) Whe the ecryptio is completed, sigal Doe becomes active, ad the output C chages to the ew value of the ciphertext. The output C keeps the last value of the ciphertext at the output, util the ext ecryptio is completed. Before the first ecryptio is completed, this output should be equal to zero.

Assumptios oe roud of the mai for loop of the pseudocode executes i oe clock cycle you ca access oly oe positio of each iteral memory of roud keys per clock cycle As a result, the etire ecryptio of a sigle message block M should last r+1 clock cycles.