Useful Things to Know Norm. Administrative Midterm Grading Finished –Stats on course homepage –Pickup after this lab lec. –Regrade requests within 1wk.

Slides:



Advertisements
Similar presentations
Digital System Design-II (CSEB312)
Advertisements

FSM and Efficient Synthesizable FSM Design using Verilog
Counters Discussion D8.3.
CDA 3100 Recitation Week 11.
Verilog Overview. University of Jordan Computer Engineering Department CPE 439: Computer Design Lab.
Synchronous Sequential Logic
EE 361 Fall 2003University of Hawaii1 Hardware Design Tips EE 361 University of Hawaii.
Combinational Logic.
Table 7.1 Verilog Operators.
CSE 201 Computer Logic Design * * * * * * * Verilog Modeling
Verilog. 2 Behavioral Description initial:  is executed once at the beginning. always:  is repeated until the end of simulation.
Give qualifications of instructors: DAP
ECE 551 Digital System Design & Synthesis Lecture 08 The Synthesis Process Constraints and Design Rules High-Level Synthesis Options.
1 COMP541 Sequential Circuits Montek Singh Sep 17, 2014.
Lecture 12 Latches Section , Block Diagram of Sequential Circuit gates New output is dependent on the inputs and the preceding values.
ECE 551 Digital System Design & Synthesis Lecture 09 Synthesis of Common Verilog Constructs.
CS 151 Digital Systems Design Lecture 37 Register Transfer Level
ELEN 468 Lecture 151 ELEN 468 Advanced Logic Design Lecture 15 Synthesis of Language Construct I.
EECC341 - Shaaban #1 Lec # 13 Winter Sequential Logic Circuits Unlike combinational logic circuits, the output of sequential logic circuits.
Chapter 3 Continued Logic Gates Logic Chips Combinational Logic Sequential Logic Flip Flops Registers Memory Timing State Machines.
Verilog Sequential Circuits Ibrahim Korpeoglu. Verilog can be used to describe storage elements and sequential circuits as well. So far continuous assignment.
ELEN 468 Advanced Logic Design
Overview Logistics Last lecture Today HW5 due today
Verilog Basics Nattha Jindapetch November Agenda Logic design review Verilog HDL basics LABs.
Introduction to FPGA AVI SINGH. Prerequisites Digital Circuit Design - Logic Gates, FlipFlops, Counters, Mux-Demux Familiarity with a procedural programming.
ECE 2372 Modern Digital System Design
System Arch 2008 (Fire Tom Wada) /10/9 Field Programmable Gate Array.
ECE 551 Digital System Design & Synthesis Fall 2011 Midterm Exam Overview.
Department of Communication Engineering, NCTU 1 Unit 5 Programmable Logic and Storage Devices – RAMs and FPGAs.
1 CSE-308 Digital System Design (DSD) N-W.F.P. University of Engineering & Technology, Peshawar.
1 COMP541 Sequential Circuits Montek Singh Feb 1, 2012.
Anurag Dwivedi. Basic Block - Gates Gates -> Flip Flops.
Behavioral Modelling - 1. Verilog Behavioral Modelling Behavioral Models represent functionality of the digital hardware. It describes how the circuit.
The Verilog Hardware Description Language. GUIDELINES How to write HDL code: How to write HDL code:
Verilog A Hardware Description Language (HDL ) is a machine readable and human readable language for describing hardware. Verilog and VHDL are HDLs.
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL State Machines Anselmo Lastra.
Introduction to ASIC flow and Verilog HDL
COMP541 Sequential Circuits
03/31/031 ECE 551: Digital System Design & Synthesis Lecture Set 8 8.1: Miscellaneous Synthesis (In separate file) 8.2: Sequential Synthesis.
Latches and Flip-Flops
1 COMP541 Sequential Circuits Montek Singh Feb 24, 2016.
Sequential Logic Circuit Design Eng.Maha Alqubali.
1 Modeling Synchronous Logic Circuits Debdeep Mukhopadhyay Associate Professor Dept of Computer Science and Engineering NYU Shanghai and IIT Kharagpur.
Lecture 1 Gunjeet kaur Dronacharya group of institutions.
Overview Logistics Last lecture Today HW5 due today
Lecture #17: Clocked Synchronous State-Machine Analysis
Supplement on Verilog FF circuit examples
Digital Electronics Multiplexer
Introduction to Sequential Logic Design
Last Lecture Talked about combinational logic always statements. e.g.,
© Copyright 2004, Gaetano Borriello and Randy H. Katz
EMT 351/4 DIGITAL IC DESIGN Week # Synthesis of Sequential Logic 10.
Digital Electronics Multiplexer
Instructor: Alexander Stoytchev
CS Fall 2005 – Lec. #5 – Sequential Logic - 1
Field Programmable Gate Array
Field Programmable Gate Array
Lecture Part A Combinational Logic Design & Flip Flop
SYNTHESIS OF SEQUENTIAL LOGIC
FSM MODELING MOORE FSM MELAY FSM. Introduction to DIGITAL CIRCUITS MODELING & VERIFICATION using VERILOG [Part-2]
CSE 370 – Winter Sequential Logic-2 - 1
332:437 Lecture 8 Verilog and Finite State Machines
Guest Lecture by David Johnston
The Verilog Hardware Description Language
Dr. Tassadaq Hussain Introduction to Verilog – Part-3 Expressing Sequential Circuits and FSM.
The Verilog Hardware Description Language
ECE 551: Digital System Design & Synthesis
Advanced Computer Architecture Lecture 1
332:437 Lecture 8 Verilog and Finite State Machines
Presentation transcript:

Useful Things to Know Norm

Administrative Midterm Grading Finished –Stats on course homepage –Pickup after this lab lec. –Regrade requests within 1wk of posted solution Homework deadline extended to next friday

Design Flow Description Design Conception Implementation Verification (Debugging)

Design Flow Description Design Conception Implementation Verification (Debugging)

Classification of Elements in a Digital Circuits Storage(Sequential)Combinational DatapathFlipflops, Counter, Shift-reg… Arith: Add, Sub, Mult, Comp… Logic: And, Or, Xor… Routing?: Shifter, Mux, Tri-st… ControlStates for FSM (flip- flops) Random logic (FSM,next state,output) *Memory is an exception to the above chart. They can operate with or without clock and can store values

Reminder From Lecture Sequential, or Storage –These are the only things* that can store values. they are controlled by a clock and their output value can only change on a clock-edge. Combinational –These cannot hold state, output is purely a function of input.

Verilog… IS a Hardware Description Laguage Is NOT a programing language –Design your circuit first then write the code. Was initially designed for simulating hardware Was NOT initially designed for generating hardware –Not all “valid” verilog turns into hardware. –Some verilog turns into inefficient hardware implementation (too many CLBs…)

Verilog for Sequential Elements a = asynchronous set-reset line b = synchronous set-reset line R = set-reset value (should be constant) D = next value for Q (could be expression) (posedge CLK or posedge a) if (a) Q <= R; else if (b) Q <= R; else if (c) Q <= D; Optional Express any sequential logic buy substituting different values, variables for a, b, R, D Counter rst en Q a = rst, c = en, d = Q + 1; Note: it is okay to write Q <= Q…, in this case because Q is a storage element. This is not always the case.

Verilog for Combinational logic assign O = Y; (all inputs) begin … end Case (A) 1 : begin if (B) O <= C; end Be careful! A, B, C are all inputs! Example: Can be written in two ways 1 2 Assign O = E ? I : 1’bZ (E or I) if (E) O <= I; else O <= 1’bZ; I E O Notice: O must be of type wire for assign statement and type reg for always statement. However after synthesis O will physically be a wire in the circuit.

Block vs Non-blocking assign clk) begin c <= a+1; b <= c+1; end clk) begin c = a+1; b = c+1; end + 1 B C + 1 A C + 1 A + 1 B

Common Pitfall 1.Not assigning a wire outputs. (incomplete truth table therefore variable must remember previous values) 2.Assigning a variable to itself. (same as not assigning since reg types remembers it’s value if it is not assigned to) or DIN) begin if (GATE) DOUT = DIN; End or B) begin if (A) D = B; else D = D; End or B) begin if (A) D = B; End 1 2 Template for A latch  (look familiar?) D B A This circuit is not combinational! Output is not just a function of inputs

Tri-State or Mux? Desired functionality –To read one of many results depending on come control information R ? A B O C A B C OA B C[0] C[1] O Mux Tri-state Notice the tri state Has 2 control lines where as the mux has only one

Xilinx 4000 CLB Structure 4-LUT 3-LUT FF CLB LUTs cannot output high-impedence “Z” therefore each CLB also has a pair of Tri-states

Tri-State or Mux on Xilinx? I[0] C[1:0] O I[1] I[2] I[3] I[0] I[1] C[3:0] O I[2] I[3] 4-LUT 3-LUT I[0] I[1] I[2] I[3] O C[1] C[0] CLB

Using Tri-states Pros –Saves LUTS so you can use them for other things –Drives Long lines (Might be faster than other types of routing) –If you don’t use them then is just a wasted resource Cons –Decoded select signal (make sure only one select line is high at anytime!!!) –Using up fast transmission long lines