BEHAVIOURAL  <ul><li>CONCURENT </li></ul><ul><li>statements execute in parallel,  </li></ul><ul><li>and therefore, their t...
Entity Declaration   <ul><li>describes the external interface of the entity  </li></ul><ul><li>name of the entity,  </li><...
Syntax <ul><li>entity   entity-name   is   </li></ul><ul><li>[  port   </li></ul><ul><li>(  list-of-interface-port-names-a...
Entity declaration entity  AOI is port  (A, B, C, D:  in  BIT; Z:  out  BIT);  end  AOI;
Architecture Body   <ul><li>architecture   architecture-name  of   entity-name  is  </li></ul><ul><li>[  architecture-item...
Entity declaration entity  AOI is port  (A, B, C, D:  in  BIT; Z:  out  BIT);  end  AOI;
CODE <ul><li>architecture  AOI_CONCURRENT  of  AOI  is  </li></ul><ul><li>begin </li></ul><ul><li>Z  <=   not  (  (A and B...
Process Statement <ul><li>A process statement contains sequential statements that describe the functionality of a portion ...
Process Statement <ul><li>process-label :  ]  process  [ (  sensitivity-list  )  ]  </li></ul><ul><li>[ process-item-decla...
Variable Assignment Statement   <ul><li>Variables can be declared and used inside a process statement  </li></ul><ul><li>v...
Signal Assignment Statement   <ul><li>signal-object  <=  expression   [  after   delay-value   ] ; </li></ul><ul><li>A sig...
Wait Statement   <ul><li>PROCESS STATEMENT-it always suspends after executing the last sequential statement in the process...
EXAMPLE <ul><li>wait on   sensitivity-list;  </li></ul><ul><li>wait until   boolean-expression  ;   </li></ul><ul><li>wait...
If Statement   <ul><li>if   boolean-expressionthen </li></ul><ul><li>sequential-statements  </li></ul><ul><li>[  elsif   b...
<ul><li>Thanks </li></ul>
Upcoming SlideShare
Loading in …5
×

Archi-feb 07

391
-1

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
391
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
6
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Archi-feb 07

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

    Clipping is a handy way to collect important slides you want to go back to later.

×