DOC PREVIEW
MIT 6 375 - Verilog 1 - Fundamentals

This preview shows page 1-2-3-4-31-32-33-34-35-64-65-66-67 out of 67 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 67 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 67 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 67 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 67 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 67 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 67 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 67 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 67 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 67 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 67 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 67 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 67 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 67 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 67 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

Verilog 1 - Fundamentals6.375 Course Structure First half of term before spring break6.375 Course Structure Second half of term after spring break6.375 Course Structure Semester long design projectSlide 56.375 Course Structure Grade breakdown6.375 Course Structure Opportunities for exceptional projectsVerilog FundamentalsOriginally designers used manual translation + bread boards for verificationHardware design languages enabled logic level simulation and verificationDesigners began to use HDLs for higher level verification and design explorationHDL behavioral models act as a precise and executable specificationOnce designs were written in HDLs tools could be used for automatic translationSlide 14Guarded atomic actions can help us to efficiently raise the abstraction levelVarious hardware design languages are availableSlide 17Primary Verilog data type is a bit-vector where bits can take on one of four valuesThe Verilog keyword wire is used to denote a standard hardware netVerilog includes ways to specify bit literals in various basesVerilog BasicsA Verilog module includes a module name and a port listSlide 23A module can instantiate other modules creating a module hierarchySlide 25Slide 26Verilog supports connecting ports by position and by nameLet’s review how to turn our schematic diagram into structural VerilogSlide 29Slide 30Functional Verilog can roughly be divided into three abstraction levelsGate-level Verilog uses structural Verilog to connect primitive gatesContinuous assignment statements assign one net to another or to a literalUsing continuous assignments to implement an RTL four input multiplexerVerilog RTL includes many operators in addition to basic boolean logicVerilog RTL operatorsAlways blocks have parallel inter-block and sequential intra-block semanticsSlide 38Slide 39Slide 40Slide 41Continuous and procedural assignment statements are very differentAlways blocks can contain more advanced control constructsWhat happens if the case statement is not complete?Slide 45So is this how we make latches and flip-flops?To understand why we need to know more about Verilog execution semanticsSlide 48Slide 49Slide 50Slide 51Slide 52Slide 53Slide 54Slide 55Non-blocking procedural assignments add an extra event queueSlide 57Slide 58Common patterns for latch and flip-flop inferenceSix guidelines for using blocking and non-blocking assignment statmentsBehavioral Verilog is used to model the abstract function of a hardware moduleVerilog can be used to model the high-level behavior of a hardware blockDelay statements should only be used in test harnessesEven synthesizable blocks can be more behavioral in natureSystem tasks are used for test harnesses and simulation managementWhich abstraction is the right one?Take away pointsVerilog 1 - Fundamentals6.375 Complex Digital SystemsChristopher BattenFebruary 9, 2006FAFA FA FAmodule adder( input [3:0] A, B, output cout, output [3:0] S ); wire c0, c1, c2; FA fa0( A[0], B[0], 1’b0, c0, S[0] ); FA fa1( A[1], B[1], c0, c1, S[1] ); FA fa2( A[2], B[2], c1, c2, S[2] ); FA fa3( A[3], B[3], c2, cout, S[3] );endmodule6.375 Spring 2006 • L02 Verilog 1 - Fundamentals • 26.375 Course StructureFirst half of term before spring break•Lectures MWF, 2:30pm to 4:00pm in 32-124•Four lab assignments–Lab #1 : Verilog RTL for 2-stage SMIPSv2 processor–Lab #2 : Push SMIPSv2 processor through to layout–Lab #3 : Bluespec RTL for 4-stage SMIPSv2 processor–Lab #4 : Bluespec RTL for non-blocking cache•Project preparation–Form project team (2-3 students)–Prepare preliminary project proposal•Closed-book 90 minute quiz (March 24)6.375 Spring 2006 • L02 Verilog 1 - Fundamentals • 36.375 Course StructureSecond half of term after spring break•Weekly project meetings with instructors•Weekly milestones with 1-2 page report•Final project presentations last week of classes•Final project report –Approximately 15-20 pages–Due May 17 (no extensions!)6.375 Spring 2006 • L02 Verilog 1 - Fundamentals • 46.375 Course StructureSemester long design project•Two standard projects with fixed interfaces, infrastructure, and testbenches–SMIPS microprocessor•High performance (e.g. multicore, ooo superscalar)•Low power (e.g. fetch throttling, instruction fusion)•Minimal area (e.g. multiplexed byte-wide datapath)–SMIPS memory system•Cache-coherent multicore•DRAM memory access scheduler•Hardware prefetching6.375 Spring 2006 • L02 Verilog 1 - Fundamentals • 56.375 Course StructureSemester long design project•Custom or non-standard projects–Submit 2 page proposal by March 17 for approval–C/C++/Java reference implementation by March 22–Ex: MP3 player, graphics pipeline, network processor802.11a Encoder, 20056.375 Spring 2006 • L02 Verilog 1 - Fundamentals • 66.375 Course StructureGrade breakdownFour labs 30%Quiz 20%Project milestones 25%Final project report 25%6.375 Spring 2006 • L02 Verilog 1 - Fundamentals • 76.375 Course StructureOpportunities for exceptional projects•Possibility of fabrication–Implement in 180nm technology–Summer and fall commitment–Significant work is required to prepare final project for fabrication•Possibility of targeting FPGA–Various development boards are available–Requires different toolchain6.375 Spring 2006 • L02 Verilog 1 - Fundamentals • 8Verilog Fundamentals•History of hardware design languages•Data types•Structural Verilog•Functional Verilog–Gate level–Register transfer level–High-level behavioralFAFA FA FAmodule adder( input [3:0] A, B, output cout, output [3:0] S ); wire c0, c1, c2; FA fa0( A[0], B[0], 1’b0, c0, S[0] ); FA fa1( A[1], B[1], c0, c1, S[1] ); FA fa2( A[2], B[2], c1, c2, S[2] ); FA fa3( A[3], B[3], c2, cout, S[3] );endmodule6.375 Spring 2006 • L02 Verilog 1 - Fundamentals • 9Originally designers used manual translation + bread boards for verificationBehavioralAlgorithmRegisterTransfer LevelGate LevelManualManualManualTestResultsBreadBoardNumber of Gatesin Design101021031041051061076.375 Spring 2006 • L02 Verilog 1 - Fundamentals • 10Hardware design languages enabled logic level simulation and verificationBehavioralAlgorithmRegisterTransfer LevelGate LevelManualManualManualTestResultsSimulateNumber of Gatesin Design101021031041051061076.375 Spring 2006 • L02 Verilog 1 - Fundamentals • 11Designers began to use HDLs for higher level verification and design


View Full Document

MIT 6 375 - Verilog 1 - Fundamentals

Documents in this Course
IP Lookup

IP Lookup

15 pages

Verilog 1

Verilog 1

19 pages

Verilog 2

Verilog 2

23 pages

Encoding

Encoding

21 pages

Quiz

Quiz

10 pages

IP Lookup

IP Lookup

30 pages

Load more
Download Verilog 1 - Fundamentals
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 Verilog 1 - Fundamentals 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 Verilog 1 - Fundamentals 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?