1 / 20

Discussed in class and on Fridays

Discussed in class and on Fridays. FSMs (only synchronous, with asynchronous reset) Moore Mealy Rabin-Scott Generalized register: With D FFs, With T FFs, transitions Iterative circuits (using decomposition to one dimensional, one-directional iterative circuits specified as FSMs)

stesha
Download Presentation

Discussed in class and on Fridays

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Discussed in class and on Fridays • FSMs (only synchronous, with asynchronous reset) • Moore • Mealy • Rabin-Scott • Generalized register: • With D FFs, • With T FFs, transitions • Iterative circuits (using decomposition to one dimensional, one-directional iterative circuits specified as FSMs) • Trade-off between FSM and iterative circuit • Parallel and serial adder • ALU with arithmetic and logic part. • Realization of all functions of 2 variables • Realization of all symmetric functions. • Generalization of generalized register to SIMD architecture • GAPP processor • Sequential Controller (SAT example) • Pipelined architecture for vector processing • Linear Systolic array for convolution • Generate Statements

  2. Iterative circuit (one dimensional) Iterative circuit (general, n-dimensional) Finite state machine Professor Perkowski wants you to select a good design pattern to get an A in this class and become a talented designer Generalized register pipelined Data Path SIMD Butterfly combinational Sequential controller systolic

  3. Regular VHDL Structures • Iterative Circuits Are Composed of Many Identical Circuits • Ripple-carry (RC) adder • RAM • Counters • Comparators

  4. Generate Statement • Use Generate Statement to Reduce Coding Effort • Can Include Any Concurrent Statement Including Another Generate Statement • Does Not Execute Directly, But Expands into Code Which Does Execute

  5. Generate Statement • Automatically Generates Multiple Component Instantiations • Two Kinds of Statements • Iteration • FOR . . . GENERATE • Conditional • IF . . . GENERATE

  6. Iteration: FOR Generate • Instantiates Identical Components • Syntax of FOR identifier : FOR N IN 1 TO 8 GENERATE concurrent-statements END GENERATEname ; • N is a constant and cannot be changed • “name” is required

  7. Conditional: IF GENERATE • Takes Care of Boundary Conditions • Syntax of IF identifier : IF (boolean expression) GENERATE concurrent-statements END GENERATEname ; • Cannot use “else” or “ifelse” clauses

  8. Generate e.g., Ripple Carry (R-C) Adder ENTITY RCAdder_16 IS PORT ( A, B :IN Bit_Vector(15 downto 0); Cforce :IN Bit ; Sum :OUT Bit_Vector(15 downto 0); Cout :OUT Bit ) ; END RCAdder_16 ;

  9. Generate e.g., R-C Adder ARCHITECTURE Generate_S OF RCAdder_16 IS COMPONENT Full_Adder --defined elsewhere PORT ( A, B, Cin :IN bit ; S, Cout :OUT bit ); END COMPONENTFull_Adder ; SIGNAL Int_C :BIT_VECTOR (15 DOWNTO 0);

  10. Generate e.g., R-C Adder BEGIN--RC Adder All_Bits: FOR I IN15 DOWNTO 0GENERATE LSB : IF (I = 0) GENERATE BEGIN S0: Full_Adder PORT MAP ( A(I), B(I), Cforce, Sum(I), Int_C(I) ); END GENERATES0 ;

  11. Generate e.g., R-C Adder Middle_bits: IF ( I < 15 AND I > 0 ) GENERATE BEGIN SI: Full_Adder PORT MAP(A(I), B(I), Int_C(I-1), Sum(I), Int_C(I) ); END GENERATESI;

  12. Generate e.g., R-C Adder MSB: IF ( I = 15 ) GENERATE BEGIN S15: Full_Adder PORT MAP(A(I), B(I), Int_C(I-1), Sum(I), Cout ); END GENERATEMSB; END GENERATEAll_Bits END Generate_S ;

  13. Unconstrained Ports • Entity Declarations Can Have Ports Defined Using Arrays Without Explicitly Including the Size of the Array • Leads to General Specification of Iterative Circuit • Uses Predefined Array Attribute ‘LENGTH

  14. Generate e.g., R-C Adder ENTITY RCAdder_N IS PORT (A, B :IN Bit_Vector; Cforce :IN Bit; Sum :OUT Bit_Vector ; Cout :OUT Bit) ; END RCAdder_N ;

  15. Generate e.g., R-C Adder ARCHITECTURE Generate_S OF RCAdder_N IS COMPONENT Full_Adder --defined elsewhere PORT ( A, B, Cin :IN bit; S, Cout :OUT bit) ; END COMPONENTFull_Adder ; SIGNAL Int_C :BIT_VECTOR ( (A’LENGTH - 1) DOWNTO 0); Uses Predefined Array Attribute ‘LENGTH

  16. Generate e.g., R-C Adder BEGIN --RC Adder All_Bits: FORI IN(A’LENGTH -1) DOWNTO 0 GENERATE LSB: IF (I = 0) GENERATE BEGIN S0: Full_Adder PORT MAP( A(I), B(I), Cforce, Sum(I), Int_C(I)); END GENERATES0 ; For primary input, not iterative carry Please remember that FOR used here is for structure description. It is different than LOOP used in behavioral descriptions in future

  17. Generate e.g., Ripple-Carry- (R-C) Adder Middle_bits: IF( I < ( A’LENGTH - 1 ) AND I > 0 )GENERATE BEGIN SI: Full_Adder PORT MAP ( A(I), B(I), C(I-1), Sum(I), Int_C(I) ); END GENERATESI ;

  18. Generate e.g., R-C Adder MSB: IF( I = A’LENGTH - 1 ) GENERATE BEGIN SN: Full_Adder PORT MAP (A(I), B(I), INT_C(I-1), Sum(I), Cout ); END GENERATEMSB; END GENERATEAll_Bits END Generate_S ; For primary output, not iterative carry out

  19. Problems for students to think about • Generate statement for one dimensional combinational regular structures. • Generate statement for two-dimensional combinational regular structures. • Generate statement for many dimensional circuits. • Generate statement for regular structures of finite state machines and generalized shift registers. • How to describe GAPP processor and similar FPGA structures using “Generate”. • Importance of the “generalized register” model as a prototype of many combinational, sequential, cellular and systolic circuits.

  20. Slides used Prof. K. J. Hintz Department of Electrical and Computer Engineering George Mason University

More Related