DOC PREVIEW
Berkeley COMPSCI 150 - Hardware Description Languages - Verilog

This preview shows page 1-2-3-24-25-26 out of 26 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 26 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 26 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 26 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 26 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 26 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 26 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 26 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

Hardware Description Languages Verilog Verilog Structural Models Combinational Behavioral Models Syntax Examples CS 150 Spring 2007 Lecture 4 Verilog 1 Quick History of HDLs ISP circa 1977 research project at CMU Abel circa 1983 developed by Data I O Targeted to programmable logic devices Not good for much more than state machines Verilog circa 1985 developed by Gateway now Cadence Simulation but no synthesis Similar to Pascal and C Delays is only interaction with simulator Fairly efficient and easy to write IEEE standard VHDL circa 1987 DoD sponsored standard Similar to Ada emphasis on re use and maintainability Simulation semantics visible Very general but verbose IEEE standard CS 150 Spring 2007 Lecture 4 Verilog 2 Design Methodology Structure and Function Behavior of a Design HDL Specification Simulation Synthesis Verification Design Behave as Required Functional I O Behavior Register Level Architectural Logic Level Gates Transistor Level Electrical Timing Waveform Behavior Generation Map Specification to Implementation CS 150 Spring 2007 Lecture 4 Verilog 3 Verilog VHDL The standard languages Very similar Many tools provide front ends to both Verilog is simpler Less syntax fewer constructs VHDL supports large complex systems Better support for modularization More grungy details Hello world is much bigger in VHDL CS 150 Spring 2007 Lecture 4 Verilog 4 Verilog Supports structural and behavioral descriptions Structural Explicit structure of the circuit How a module is composed as an interconnection of more primitive modules components E g each logic gate instantiated and connected to others Behavioral Program describes input output behavior of circuit Many structural implementations could have same behavior E g different implementations of one Boolean function CS 150 Spring 2007 Lecture 4 Verilog 5 Verilog Introduction the module describes a component in the circuit Two ways to describe Structural Verilog List of components and how they are connected Just like schematics but using text Hard to write hard to decode Useful if you don t have integrated design tools Behavioral Verilog Describe what a component does not how it does it Synthesized into a circuit that has this behavior CS 150 Spring 2007 Lecture 4 Verilog 6 Structural Model Composition of primitive gates to form more complex module Note use of wire declaration module xor gate out a b By default identifiers input a b are wires output out wire abar bbar t1 t2 inverter inverter and gate and gate or gate invA abar a invB bbar b and1 t1 a bbar and2 t2 b abar or1 out t1 t2 endmodule CS 150 Spring 2007 Lecture 4 Verilog 7 Structural Model Example of full adder module full addr A B Cin S Cout input A B Cin output S Cout Behavior assign Cout S A B Cin endmodule module adder4 A B Cin S Cout input 3 0 A B input Cin output 3 0 S output Cout wire C1 C2 C3 full addr full addr full addr full addr endmodule fa0 fa1 fa2 fa3 A 0 A 1 A 2 A 3 B 0 B 1 B 2 B 3 Cin C1 C2 C3 S 0 S 1 S 2 S 3 CS 150 Spring 2007 Lecture 4 Verilog 8 Structural C1 C2 C3 Cout Simple Behavioral Model Combinational logic Describe output as a function of inputs Note use of assign keyword continuous assignment module and gate out in1 in2 input in1 in2 Output port of a primitive must output out be first in the list of ports assign out in1 in2 Restriction does not apply to modules endmodule CS 150 Spring 2007 Lecture 4 Verilog 9 Verilog Module Corresponds to a circuit component Parameter list is the list of external connections aka ports Ports are declared input output or inout inout ports used on tri state buses Port declarations imply that the variables are wires module name ports module full addr A B Cin S Cout input A B Cin output S Cout assign Cout S A B Cin endmodule CS 150 Spring 2007 Lecture 4 Verilog 14 inputs outputs Verilog Continuous Assignment Assignment is continuously evaluated assign corresponds to a connection or a simple component with the described function Target is NEVER a reg variable use of Boolean operators for bit wise for logical negation assign A X Y Z bits can take on four values 0 1 X Z assign B 3 0 4 b01XX assign C 15 0 16 h00ff variables can be n bits wide MSB LSB assign 3 Cout S 3 0 A 3 0 B 3 0 Cin use of arithmetic operator multiple assignment concatenation delay of performing computation only used by simulator not synthesis CS 150 Spring 2007 Lecture 4 Verilog 15 Comparator Example module Compare1 A B Equal Alarger Blarger input A B output Equal Alarger Blarger assign Equal A B A B assign Alarger A B assign Blarger A B endmodule CS 150 Spring 2007 Lecture 4 Verilog 16 Comparator Example Make a 4 bit comparator from 4 x 1 bit comparators module Compare4 A4 B4 Equal Alarger Blarger input 3 0 A4 B4 output Equal Alarger Blarger wire e0 e1 e2 e3 Al0 Al1 Al2 Al3 B10 Bl1 Bl2 Bl3 Compare1 Compare1 Compare1 Compare1 cp0 A4 0 cp1 A4 1 cp2 A4 2 cp3 A4 3 B4 0 B4 1 B4 2 B4 3 e0 e1 e2 e3 assign Equal e0 e1 e2 assign Alarger Al3 Al2 Al1 e3 Al0 e3 assign Blarger Alarger endmodule Al0 Al1 Al2 Al3 Bl0 Bl1 Bl2 Bl3 e3 e3 e2 e2 e1 Equal CS 150 Spring 2007 Lecture 4 Verilog 17 Announcements Lecture room change EFFECTIVE 1 FEB 07 Beware of what you ask for 159 Mulford Hall near West Gate Oxford Street Card Key Access to 125 Cory You can t get it until 7 February For access EECS Keys Cardkeys Copy Cards Assistant Loretta Lutcher 253 Cory 642 1527 loret eecs Loretta issues keys and electronic cardkeys for Cory Hall Handles cardkey problems She can add 125 Cory to your Cal Card CS 150 Spring 2007 Lecture 4 Verilog 18 Simple Behavioral Model the always block always block Always waiting for a change to a trigger signal Then executes the body module and gate out in1 in2 input in1 in2 output out reg out always in1 or in2 begin out in1 in2 end endmodule Not a real register A Verilog register Needed because of assignment in always block Specifies when block is executed I e triggered by which signals CS 150 Spring 2007 Lecture 4 Verilog 19 always Block Procedure that describes the function of a circuit Can contain many statements including if for while case Statements in the always block are executed sequentially Continuous assignments are executed in parallel Entire block is executed at once Final result describes the function of the circuit for current set of inputs intermediate assignments don t matter only the final result begin end used to group statements CS 150 Spring 2007 Lecture 4 Verilog 20 Complete Assignments If an always block executes and a variable is


View Full Document

Berkeley COMPSCI 150 - Hardware Description Languages - Verilog

Documents in this Course
Lab 2

Lab 2

9 pages

Debugging

Debugging

28 pages

Lab 1

Lab 1

15 pages

Memory

Memory

13 pages

Lecture 7

Lecture 7

11 pages

SPDIF

SPDIF

18 pages

Memory

Memory

27 pages

Exam III

Exam III

15 pages

Quiz

Quiz

6 pages

Problem

Problem

3 pages

Memory

Memory

26 pages

Lab 1

Lab 1

9 pages

Memory

Memory

5 pages

Load more
Download Hardware Description Languages - Verilog
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Hardware Description Languages - Verilog and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Hardware Description Languages - Verilog 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?