NDG-L38Introduction to ASIC Design1 Design of a Simple Customizable Microprocessor * Chapter 7 and 15, “Digital System Design and Prototyping”  SIMP.

Slides:



Advertisements
Similar presentations
//HDL Example 8-2 // //RTL description of design example (Fig.8-9) module Example_RTL (S,CLK,Clr,E,F,A);
Advertisements

Counters Discussion D8.3.
Traffic light contoller using FSM
Verilog in transistor level using Microwind
CPSC 321 Computer Architecture Andreas Klappenecker
CDA 3100 Recitation Week 11.
Verilog Overview. University of Jordan Computer Engineering Department CPE 439: Computer Design Lab.
Supplement on Verilog adder examples
Synchronous Sequential Logic
Verilog Modules for Common Digital Functions
Table 7.1 Verilog Operators.
COE 405 Design and Synthesis of DataPath Controllers Dr. Aiman H. El-Maleh Computer Engineering Department King Fahd University of Petroleum & Minerals.
CSE 201 Computer Logic Design * * * * * * * Verilog Modeling
//HDL Example 5-1 // //Description of D latch (See Fig.5-6) module D_latch (Q,D,control); output Q; input.
FSM Revisit Synchronous sequential circuit can be drawn like below  These are called FSMs  Super-important in digital circuit design FSM is composed.
Chapter 9 Computer Design Basics. 9-2 Datapaths Reminding A digital system (or a simple computer) contains datapath unit and control unit. Datapath: A.
//HDL Example 6-1 // //Behavioral description of //Universal shift register // Fig. 6-7 and Table 6-3 module shftreg.
 HDLs – Verilog and Very High Speed Integrated Circuit (VHSIC) HDL  „ Widely used in logic design  „ Describe hardware  „ Document logic functions.
NDG-L37-41Introduction to ASIC Design1 Design of a Simple Customizable Microprocessor * Chapter 7 and 15, “Digital System Design and Prototyping”  SIMP.
Verilog - 1 Writing Hardware Programs in Abstract Verilog  Abstract Verilog is a language with special semantics  Allows fine-grained parallelism to.
Register Cell Design.
FSM examples.
Pulse-Width Modulated DAC
Conditional Statements  if and else if statements if (expression) if (expression) statements statements { else if (expression) { else if (expression)
NDG-L39Introduction to ASIC Design1 Design of a Simple Customizable Microprocessor * Chapter 7 and 15, “Digital System Design and Prototyping”  Pipelined.
Chapter 7. Register Transfer and Computer Operations
Ring Counter Discussion 11.3 Example 32.
Arbitrary Waveform Discussion 12.2 Example 34. Recall Divide-by-8 Counter Use q2, q1, q0 as inputs to a combinational circuit to produce an arbitrary.
Counters Discussion 12.1 Example 33. Counters 3-Bit, Divide-by-8 Counter 3-Bit Behavioral Counter in Verilog Modulo-5 Counter An N-Bit Counter.
2-to-1 Multiplexer: if Statement Discussion D7.1 Example 4.
//HDL Example 3-3 // //Stimulus for simple circuit module stimcrct; reg A,B,C; wire x,y; circuit_with_delay swd(A,B,C,x,y);
A/D Converter Datapaths Discussion D8.4. Analog-to-Digital Converters Converts analog signals to digital signals –8-bit: 0 – 255 –10-bit: 0 – 1023 –12-bit:
D Flip-Flops in Verilog Discussion 10.3 Example 27.
CSE 140 Lecture 15 System Designs Professor CK Cheng CSE Dept. UC San Diego 1.
Quad 2-to-1 Multiplexer Discussion D7.4 Example 7.
Chapter 7 – Registers and Register Transfers Part 1 – Registers, Microoperations and Implementations Logic and Computer Design Fundamentals.
Mantıksal Tasarım – BBM231 M. Önder Efe
Verilog Descriptions of Digital Systems. Electronic Lock // // Electronic combinational lock // module lock(seg7,key, valid_key, col, row, mclk, resetL)
Verilog Digital System Design Z. Navabi, 2006
Registers & Counters M. Önder Efe
1 Verilog Digital System Design Z. Navabi, 2006 Digital Design Flow  Digital Design Flow begins with specification of the design at various levels of.
Verilog Intro: Part 2. Procedural Blocks There are two types of procedural blocks in Verilog. – initial for single-pass behavior: initial blocks execute.
Chapter 4: Behavioral Modeling Digital System Designs and Practices Using Verilog HDL and 2008~2010, John Wiley 4-1 Ders – 4: Davranışsal Modelleme.
Lecture 9. MIPS Processor Design – Instruction Fetch Prof. Taeweon Suh Computer Science Education Korea University 2010 R&E Computer System Education &
Chapter 11: System Design Methodology Digital System Designs and Practices Using Verilog HDL and 2008, John Wiley11-1 Ders 8: FSM Gerçekleme ve.
Designing an ALU Taken from various sources Primary source: Digital Design and Computer Architecture by Harris &Harris.
ECE/CS 352 Digital System Fundamentals© 2001 C. Kime 1 ECE/CS 352 Digital Systems Fundamentals Spring 2001 Chapters 3 and 4: Verilog – Part 2 Charles R.
January Verilog Digital System Design Copyright Z. Navabi, 2006 Verilog Digital System Design Z. Navabi, McGraw-Hill, 2005 Chapter 2 Register Transfer.
Traffic Lights Discussion D8.3a. Recall Divide-by-8 Counter Use Q2, Q1, Q0 as inputs to a combinational circuit to produce an arbitrary waveform. s0 0.
Brief Verilog.
Finite State Machine (FSM) Nattha Jindapetch December 2008.
EKT 221 : Chapter 4 Computer Design Basics
CSCE 211: Digital Logic Design Chin-Tser Huang University of South Carolina.
Digital Electronics.
Prof. John Nestor ECE Department Lafayette College Easton, Pennsylvania ECE Computer Organization Lecture 12 - Introduction.
1 (c) W. J. Dally Digital Design: A Systems Approach Lecture 7: Data Path State Machines.
1 Workshop Topics - Outline Workshop 1 - Introduction Workshop 2 - module instantiation Workshop 3 - Lexical conventions Workshop 4 - Value Logic System.
COE 202 Introduction to Verilog Computer Engineering Department College of Computer Sciences and Engineering King Fahd University of Petroleum and Minerals.
Exp#5 & 6 Introduction to Verilog COE203 Digital Logic Laboratory Dr. Ahmad Almulhem KFUPM Spring 2009.
Hardware Description Languages: Verilog
Supplement on Verilog for Algorithm State Machine Chart
Computer Design Basics
Hardware Description Languages: Verilog
Computer Architecture and Design Lecture 6
FSM MODELING MOORE FSM MELAY FSM. Introduction to DIGITAL CIRCUITS MODELING & VERIFICATION using VERILOG [Part-2]
CS 140 Lecture 16 Professor CK Cheng 11/21/02.
Overview Part 1 - Registers, Microoperations and Implementations
Register-Transfer Level Components in Verilog
Computer Design Basics
The Verilog Hardware Description Language
Presentation transcript:

NDG-L38Introduction to ASIC Design1 Design of a Simple Customizable Microprocessor * Chapter 7 and 15, “Digital System Design and Prototyping”  SIMP – A Simple Customizable Microprocessor* - Cont’d  SIMP Implementation – Datapath + Control Unit Datapath consists of all registers + interconnect structures (such as Muxes) and ALU etc. Control Unit provides proper timing, sequencing, and synchronization of micro-operations, other activation signals + control signals for external world Fig-05: Basic Partition of SIMP Design

NDG-L38Introduction to ASIC Design2 Design of a Simple Customizable Microprocessor * Chapter 7 and 15, “Digital System Design and Prototyping”  SIMP Implementation – Cont’d  Datapath Implementation  PC Module/Block module PC(q, lda, ldd, inc, clr, clk, pca, pcd); output [11:0] q; input [11:0] pca, pcd; input lda, ldd, inc, clr, clk; reg [11:0] q; clk or negedge clr) begin if (!clr) q <= 12'd0; else begin if (lda) q <= pca; else if (ldd) q <= pcd; else if (inc) q <= q + 1; else q <= q; end endmodule Fig-06: Program Counter Block

NDG-L38Introduction to ASIC Design3 Design of a Simple Customizable Microprocessor * Chapter 7 and 15, “Digital System Design and Prototyping”  SIMP Implementation – Cont’d  Datapath Implementation – Cont’d  SP Block module SP (q, d, dec, inc, init, clk); output [11:0] q; input [11:0] d; input dec, inc, init, clk; reg [11:0] q; clk or posedge init) begin if (init) q <= 12'hff0; else if (dec) q <= q - 1; else if (inc) q<= q + 1; else q <= q; end endmodule Fig-07: Stack Pointer Block

NDG-L38Introduction to ASIC Design4 Design of a Simple Customizable Microprocessor * Chapter 7 and 15, “Digital System Design and Prototyping”  SIMP Implementation – Cont’d  Datapath Implementation – Cont’d  Working Register B module regb(q, d, ld, dec, inc, clr, com, clk); output [15:0] q; input [15:0] d; input ld, inc, dec, clr, com, clk; reg [15:0] q; clk) begin if (ld) q <= d; else if (inc) q <= d + 1; else if (dec) q <= d - 1; else if (com) q <= ~q; else q <= q; end endmodule Fig-08: Working Register B

NDG-L38Introduction to ASIC Design5 module alu(z, q, cout, a, b, cin, als); output [15:0] q; output cout; output z; input [15:0] a; input [15:0] b; input cin; input [1:0] als; reg [15:0] q; reg cout; assign z = (q == 16'd0); or b or als or cin) module alu(z, q, cout, a, b, cin, als); output [15:0] q; output cout; output z; input [15:0] a; input [15:0] b; input cin; input [1:0] als; reg [15:0] q; reg cout; assign z = (q == 16'd0); or b or als or cin) Design of a Simple Customizable Microprocessor * Chapter 7 and 15, “Digital System Design and Prototyping”  SIMP Implementation – Cont’d  Datapath Implementation – Cont’d  Arithmetic Logic Unit (ALU) begin case (als) 2'b00:{cout, q} = a + b + cin; 2'b01:q = a & b; 2'b10:q = a; 2'b11:q = b; default: q = a; endcase end endmodule

NDG-L38Introduction to ASIC Design6 Design of a Simple Customizable Microprocessor * Chapter 7 and 15, “Digital System Design and Prototyping”  SIMP Implementation – Cont’d  Datapath Implementation – Cont’d  Data Bus Multiplexer Fig-09: Data Bus Multiplexer module dbusmux(out, pcdata, tempdata, aludata, din, dbus_sel); output [15:0] out; input [15:0] aludata, din; input [11:0] pcdata, tempdata; input [1:0] dbus_sel; reg [15:0] out; or aludata or din or pcdata or tempdata) begin case (dbus_sel) 2'b00:out = {4'd0, pcdata}; 2'b01:out = {4'd0, tempdata}; 2'b10:out = aludata; 2'b11:out = din; default:out = din; endcase end endmodule

NDG-L38Introduction to ASIC Design7 Design of a Simple Customizable Microprocessor  SIMP Implementation – Cont’d  Datapath Implementation – Cont’d  Datapath Overall Fig-10: Datapath Integrated all Together * Chapter 7 and 15, “Digital System Design and Prototyping”