archi
DESCRIPTION
TRANSCRIPT
![Page 1: Archi](https://reader036.vdocument.in/reader036/viewer/2022082603/546720edaf795999788b5995/html5/thumbnails/1.jpg)
BEHAVIOURAL
• CONCURENT
• statements execute in parallel,
• and therefore, their textual order of appearance NOT MATTERS
![Page 2: Archi](https://reader036.vdocument.in/reader036/viewer/2022082603/546720edaf795999788b5995/html5/thumbnails/2.jpg)
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
![Page 3: Archi](https://reader036.vdocument.in/reader036/viewer/2022082603/546720edaf795999788b5995/html5/thumbnails/3.jpg)
Syntax
• entity entity-name is [ port
( list-of-interface-port-names-and-their-types) ; ]
[ entity-item-declarations ]
![Page 4: Archi](https://reader036.vdocument.in/reader036/viewer/2022082603/546720edaf795999788b5995/html5/thumbnails/4.jpg)
Entity declaration
entity AOI isport (A, B, C, D: in BIT; Z: out BIT); end AOI;
![Page 5: Archi](https://reader036.vdocument.in/reader036/viewer/2022082603/546720edaf795999788b5995/html5/thumbnails/5.jpg)
Architecture Body
architecture architecture-name of entity-name is [ architecture-item-declarations ]beginconcurrent-statements; these are —> process-statement block-statement concurrent-procedure-call concurrent-assertion-statement concurrent-signal-assignment-statement component-instantiation-statement generate-statementend [ architecture-name ] ;
![Page 6: Archi](https://reader036.vdocument.in/reader036/viewer/2022082603/546720edaf795999788b5995/html5/thumbnails/6.jpg)
Entity declaration
entity AOI isport (A, B, C, D: in BIT; Z: out BIT); end AOI;
![Page 7: Archi](https://reader036.vdocument.in/reader036/viewer/2022082603/546720edaf795999788b5995/html5/thumbnails/7.jpg)
CODEarchitecture AOI_CONCURRENT of AOI is beginZ <= 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; beginTEMP1 := 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;
![Page 8: Archi](https://reader036.vdocument.in/reader036/viewer/2022082603/546720edaf795999788b5995/html5/thumbnails/8.jpg)
Process Statement
• A process statement contains sequential statements that describe the functionality of a portion of an entity in sequential terms
![Page 9: Archi](https://reader036.vdocument.in/reader036/viewer/2022082603/546720edaf795999788b5995/html5/thumbnails/9.jpg)
Process Statementprocess-label: ] process [ ( sensitivity-list ) ] [process-item-declarations]beginsequential-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 executionUnder sensitivity list
![Page 10: Archi](https://reader036.vdocument.in/reader036/viewer/2022082603/546720edaf795999788b5995/html5/thumbnails/10.jpg)
Variable Assignment Statement
• Variables can be declared and used inside a process statement
• variable-object := expression;
• process (A)variable AMAR := 0; beginAMAR := AMAR+1; end process;
![Page 11: Archi](https://reader036.vdocument.in/reader036/viewer/2022082603/546720edaf795999788b5995/html5/thumbnails/11.jpg)
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
![Page 12: Archi](https://reader036.vdocument.in/reader036/viewer/2022082603/546720edaf795999788b5995/html5/thumbnails/12.jpg)
Wait Statement
• PROCESS STATEMENT-it always suspends after executing the last sequential statement in the process
• Alternate- WAIT STATEMENT
![Page 13: Archi](https://reader036.vdocument.in/reader036/viewer/2022082603/546720edaf795999788b5995/html5/thumbnails/13.jpg)
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
![Page 14: Archi](https://reader036.vdocument.in/reader036/viewer/2022082603/546720edaf795999788b5995/html5/thumbnails/14.jpg)
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
![Page 15: Archi](https://reader036.vdocument.in/reader036/viewer/2022082603/546720edaf795999788b5995/html5/thumbnails/15.jpg)
• Thanks