System Controller Approach

Slides:



Advertisements
Similar presentations
Phase 2 -- Logic Implementation & Simulation Switching & Logic Design Project.
Advertisements

L23 – Adder Architectures. Adders  Carry Lookahead adder  Carry select adder (staged)  Carry Multiplexed Adder  Ref: text Unit 15 9/2/2012 – ECE 3561.
VHDL Lecture 1 Megan Peck EECS 443 Spring 08.
ECE C03 Lecture 131 Lecture 13 VHDL Structural Modeling Hai Zhou ECE 303 Advanced Digital Design Spring 2002.
Lecture #28 Page 1 ECE 4110– Sequential Logic Design Lecture #28 Agenda 1.Counters Announcements 1.HW #13 assigned 2.Next: Test #2 Review.
L18 – VHDL for other counters and controllers. Other counters  More examples Gray Code counter Controlled counters  Up down counter  Ref: text Unit.
Topics of Lecture Configuration Test Bench Encapsulation Structural Decomposition.
Discussed in class and on Fridays n FSMs (only synchronous, with asynchronous reset) –Moore –Mealy –Rabin-Scott n Generalized register: –With D FFs, –With.
CSET 4650 Field Programmable Logic Devices Dan Solarek VHDL Behavioral & Structural.
Introduction to Counter in VHDL
Introduction to VHDL (part 2)
L16 – Testbenches for state machines. VHDL Language Elements  More examples HDL coding of class examples Testbench for example  Testing of examples.
1/8/ L20 Project Step 8 - Data Path Copyright Joanne DeGroat, ECE, OSU1 State Machine Design with an HDL A methodology that works for documenting.
Digital Design with VHDL Presented by: Amir Masoud Gharehbaghi
L16 – VHDL for State Machines with binary encoding.
1/26 VHDL VHDL Structural Modeling Digital Logic.
1/8/ L7 Project Step 3Copyright Joanne DeGroat, ECE, OSU1 Project Step 3 Structural Modeling and the Generate Statement.
L12 – VHDL Overview. VHDL Overview  HDL history and background  HDL CAD systems  HDL view of design  Low level HDL examples  Ref: text Unit 10, 17,
BR 1/991 Dice Game Implementation Why was dice game implemented in three 22V10 PLDs? What are the resources needed by the Dice Game? –Outputs: 6 for dice.
Copyright(c) 1996 W. B. Ligon III1 Getting Started with VHDL VHDL code is composed of a number of entities Entities describe the interface of the component.
Design Methodology Based on VHDL Instructors: Fu-Chiung Cheng ( 鄭福炯 ) Associate Professor Computer Science & Engineering Tatung University.
Modern VLSI Design 4e: Chapter 8 Copyright  2008 Wayne Wolf Topics VHDL register-transfer modeling: –basics using traffic light controller; –synthesis.
Discussed in class and on Fridays n FSMs (only synchronous, with asynchronous reset) –Moore –Mealy –Rabin-Scott n Generalized register: –With D FFs, –With.
L13 – VHDL Language Elements. VHDL Language Elements  Elements needed for FPGA design Types  Basic Types  Resolved Types – special attributes of resolved.
Hardware languages "Programming"-language for modelling of (digital) hardware 1 Two main languages: VHDL (Very High Speed Integrated Circuit Hardware Description.
1/8/ L2 VHDL Introcution© Copyright Joanne DeGroat, ECE, OSU1 Introduction to VHDL.
CEC 220 Digital Circuit Design More VHDL Fri, February 27 CEC 220 Digital Circuit Design Slide 1 of 15.
04/26/20031 ECE 551: Digital System Design & Synthesis Lecture Set : Introduction to VHDL 12.2: VHDL versus Verilog (Separate File)
CEC 220 Digital Circuit Design VHDL in Sequential Logic Wednesday, March 25 CEC 220 Digital Circuit Design Slide 1 of 13.
VHDL Discussion Subprograms IAY 0600 Digital Systems Design Alexander Sudnitson Tallinn University of Technology 1.
Introduction to VHDL Coding Wenchao Cao, Teaching Assistant Department of EECS University of Tennessee.
VHDL Project I: Serial Adder Matthew Murach Slides Available at:
Case Study: Xilinx Synthesis Tool (XST). Arrays & Records 2.
Project 1.  Two parts Implement a 3 bit Gray Code Counter Implement a 4-to-1 muxtiplexer  Can be done on Altera (Quartis) or Xilinx 8/22/2012 – ECE.
1 Introduction to Engineering Spring 2007 Lecture 18: Digital Tools 2.
State Machine Design with an HDL
Sequential statements (1) process
Combinational logic circuit
Behavioral Style Combinational Design with VHDL
Introduction Introduction to VHDL Entities Signals Data & Scalar Types
Maj Jeffrey Falkinburg Room 2E46E
Module Goals Introduce structural VHDL constructs Use of components
Dataflow Style Combinational Design with VHDL
CHAPTER 17 VHDL FOR SEQUENTIAL LOGIC
Some VHDL Details 10/8/08 ECE Lecture 8.
ECE 4110–5110 Digital System Design
Behavioral Style Combinational Design with VHDL
Using CAD Tools to implement Digital Circuits
VHDL Hierarchy in XILINX
CHAPTER 17 VHDL FOR SEQUENTIAL LOGIC
VHDL VHSIC Hardware Description Language VHSIC
Instructions to get MAX PLUS running
ECE 448 Lecture 6 Modeling of Circuits with a Regular Structure Aliases, Constants, Packages Mixing Design Styles ECE 448 – FPGA and ASIC Design with.
The start of a grand tour of the language.
VHDL Discussion Subprograms
State Machine Design with an HDL
VHDL Discussion Subprograms
ECE 331 – Digital System Design
Modeling of Circuits with a Regular Structure
Step 2 in behavioral modeling. Use of procedures.
Figure 8.1. The general form of a sequential circuit.
Structural Modeling and the Generate Statement
Step 2 in behavioral modeling. Use of procedures.
© Copyright Joanne DeGroat, ECE, OSU
L25 – Final Review AU 15 Final Exam – Classroom – Journalism 300
Sequntial-Circuit Building Blocks
디 지 털 시 스 템 설 계 UP2 Kit를 이용한 카운터 설계
(Sequential-Circuit Building Blocks)
Structural Modeling and the Generate Statement
EEL4712 Digital Design (Midterm 1 Review).
Presentation transcript:

System Controller Approach Oct 26, 2008 ECE 561 - Lecture 14 - System Controller

ECE 561 - Lecture 14 - System Controller Lecture Overview System Controller Approach Using the system controller approach Oct 26, 2008 ECE 561 - Lecture 14 - System Controller

ECE 561 - Lecture 14 - System Controller General View Partition the system into a main machine and submachines Main machine is the coordinator Submachines implement the tasks Oct 26, 2008 ECE 561 - Lecture 14 - System Controller

ECE 561 - Lecture 14 - System Controller For the Alarm Clock Central view of the controller and subordinate state machines Oct 26, 2008 ECE 561 - Lecture 14 - System Controller

ECE 561 - Lecture 14 - System Controller Using VHDL We can use VHDL to specify the interacting state machines Each state machine is specified in VHDL using the state machine modeling methodology. An entity specifying the inputs and outputs An architecture with three process Oct 26, 2008 ECE 561 - Lecture 14 - System Controller

ECE 561 - Lecture 14 - System Controller Hierarchy The top level controller (system controller) interacts and controls interaction among the state machines It uses component instantiation to invoke each and connect them up Oct 26, 2008 ECE 561 - Lecture 14 - System Controller

The declaration of the components In the ARCHITECTURE of the controller In the Declarative region declare the component COMPONENT wigit PORT(p1, p2 : IN BIT); END COMPONENT; This is identical to the ENTITY declaration for the component except that ENTITY is replaced by COMPONENT and there is no IS Oct 26, 2008 ECE 561 - Lecture 14 - System Controller

ECE 561 - Lecture 14 - System Controller The next step Configure the component Right after the component declaration configure the component FOR C0 : wigit USE ENTITY work.wigit(one); Now you are ready to use it After the BEGIN CO : wigit PORT MAP (A, B); Oct 26, 2008 ECE 561 - Lecture 14 - System Controller

Signals to hook up units Needing internal signals to connect signals of the state machines to each other and the controller In the ARCHITECTURE of the system controller where you declare the submachines, also in the declarative region, declare the signals to connect them. SIGNAL c1,c2,c3 : BIT; Oct 26, 2008 ECE 561 - Lecture 14 - System Controller

ECE 561 - Lecture 14 - System Controller A seconds counter The ENTITY ENTITY secs IS PORT ( clk : IN BIT; reset_sec : IN BIT; secs : OUT BIT_VECTOR(5 downto 0) ); END secs; Oct 26, 2008 ECE 561 - Lecture 14 - System Controller

ECE 561 - Lecture 14 - System Controller The ARCHITECTURE ARCHITECTURE one OF secs IS SIGNAL inext_sec, isec : BIT_VECTOR(5 downto 0); SIGNAL incrnext_sec : BIT_VECTOR(5 downto 0); SIGNAL incr_sec_carry : BIT_VECTOR(6 downto 0) := “0000001”; --note initialization BEGIN Notes: need the signal for current and next state incrnext_sec if the value of isec (internal seconds) plus 1 to choose from for input to the F/Fs Oct 26, 2008 ECE 561 - Lecture 14 - System Controller

ECE 561 - Lecture 14 - System Controller The F/F Process Here the F/F will latch the 6 bit value of the counter -- F/F process PROCESS BEGIN WAIT UNTIL (clk = ‘1’ and clk’event); isec <= inext_sec; END PROCESS: Oct 26, 2008 ECE 561 - Lecture 14 - System Controller

The Next state generation Cannot do a binary adder within a process Need to use concurrent signals assignment statements for it. If A and B are 4 bits then addition of A and B looks like Oct 26, 2008 ECE 561 - Lecture 14 - System Controller

ECE 561 - Lecture 14 - System Controller In VHDL For an increment the B input is 0 and can be set to such. So we have SUM = A xor B xor C = A xor C when B =0 For each bit position Ci+1 = Ai•Ci Vector wise we have, n being number of bits C(n:1) = A(n-1:0) and C(n-1:0); and having set C(0) = ‘1’ which is done in the declaration of the vector through initialization. Oct 26, 2008 ECE 561 - Lecture 14 - System Controller

So here next state code is incrnext_sec <= isec xor incr_sec_carry(5 downto 0); incr_sec_carry(6 downto 1) <= isec AND incr_sec_carry(5 downto 0); -- process the select input for F/Fs PROCESS BEGIN IF (reset = ‘0 or incrnext_sec = “111100’) THEN inext_sec <= “000000”; ELSE inext_sec <= incrnext_sec; END IF; END PROCESS; Oct 26, 2008 ECE 561 - Lecture 14 - System Controller

ECE 561 - Lecture 14 - System Controller No real output Logic Simply need to connect to the output port for output secs <= isec; -- and then end the architecture END one; Oct 26, 2008 ECE 561 - Lecture 14 - System Controller

To use this in higher level unit ARCHITECTURE one OF alarmclk IS COMPONENT secs PORT ( clk : IN BIT; reset_sec : IN BIT; secs : OUT BIT_VECTOR(5 downto 0)); END COMPONENT; -- configure Not sure if need in XILINX FOR all : secs USE ENTITY work.secs(one); and then other delcarations BEGIN Oct 26, 2008 ECE 561 - Lecture 14 - System Controller

ECE 561 - Lecture 14 - System Controller TO use BEGIN -- instantiate component C0 : secs PORT MAP (clk,reset,secs); Oct 26, 2008 ECE 561 - Lecture 14 - System Controller

ECE 561 - Lecture 14 - System Controller Oct 26, 2008 ECE 561 - Lecture 14 - System Controller

ECE 561 - Lecture 14 - System Controller Oct 26, 2008 ECE 561 - Lecture 14 - System Controller