Your SlideShare is downloading. ×

Archi

424

Published on

Published in: Business, Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
424
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
4
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. BEHAVIOURAL
    • CONCURENT
    • statements execute in parallel,
    • and therefore, their textual order of appearance NOT MATTERS
  • 2. Entity Declaration
    • describes the external interface of the entity
    • name of the entity,
    • the names of interface ports,
    • their mode (i.e., direction), and the type of ports
  • 3. Syntax
    • entity entity-name is
    • [ port
    • ( list-of-interface-port-names-and-their-types) ; ]
    • [ entity-item-declarations ]
  • 4. Entity declaration entity AOI is port (A, B, C, D: in BIT; Z: out BIT); end AOI;
  • 5. Architecture Body
    • architecture architecture-name of entity-name is
    • [ architecture-item-declarations ]
    • begin
    • concurrent-statements ; these are —>
    • process-statement
    • block-statement
    • concurrent-procedure-call
    • concurrent-assertion-statement
    • concurrent-signal-assignment-statement
    • component-instantiation-statement
    • generate-statement
    • end [ architecture-name ] ;
  • 6. Entity declaration entity AOI is port (A, B, C, D: in BIT; Z: out BIT); end AOI;
  • 7. CODE
    • architecture AOI_CONCURRENT of AOI is
    • begin
    • Z <= not ( (A and B) or (C and D) );
    • end AOI_CONCURRENT;
    • architecture AOI_SEQUENTIAL of AOI is
    • begin
    • process (A, B, C, D)
    • variable TEMPI ,TEMP2: BIT;
    • begin
    • TEMP1 := A and B; -- statement 1
    • TEMP2:=C and D; --statement 2
    • TEMP1 := TEMP1 or TEMP2; -- statement 3
    • Z<= not TEMP1; --statement 4
    • end process;
    • end AOI_SEQUENTIAL;
  • 8. Process Statement
    • A process statement contains sequential statements that describe the functionality of a portion of an entity in sequential terms
  • 9. Process Statement
    • process-label : ] process [ ( sensitivity-list ) ]
    • [ process-item-declarations ]
    • begin
    • sequential-statements; these are ->
    • variable-assignment-statement
    • signal-assignment-statement
    • wait-statement
    • if-statement
    • case-statement
    • loop-statement
    • null-statement
    • exit-statement
    • next-statement
    • assertion-statement
    • procedure-call-statement
    • return-statement.
    • end process [ process-label] ;
    signals that the process is sensitive to Sequential execution Under sensitivity list
  • 10. Variable Assignment Statement
    • Variables can be declared and used inside a process statement
    • variable-object := expression ;
    • process (A)
    • variable AMAR := 0;
    • begin
    • AMAR := AMAR+1;
    • end process;
  • 11. Signal Assignment Statement
    • signal-object <= expression [ after delay-value ] ;
    • A signal assignment statement can appear within a process or outside of a process
    • When a signal assignment statement is executed, the value of the expression is computed and this value is scheduled to be assigned to the signal after the specified delay
    • PAR <= PAR xor DIN after 12 ns
  • 12. Wait Statement
    • PROCESS STATEMENT-it always suspends after executing the last sequential statement in the process
    • Alternate- WAIT STATEMENT
  • 13. EXAMPLE
    • wait on sensitivity-list;
    • wait until boolean-expression ;
    • wait for time-expression ;
    • wait on A, B, C; -- statement 1
    • wait until (A = B); -- statement 2
    • wait for 10ns; -- statement 3
  • 14. If Statement
    • if boolean-expressionthen
    • sequential-statements
    • [ elsif boolean-expression then -- elsif clause; if stmt can have 0 or
    • sequential-statements ] -- more elsif clauses.
    • [ else -- else clause.
    • sequential-statements ]
    • end if;
    if SUM <= 100 then -- This is a less-than-or-equal-to operator. SUM := SUM +10; end if
  • 15.
    • Thanks

×