Π£Π·Π»Π°ΠΌΠΈ (nodes) ΡΠ²Π»ΡΡΡΡΡ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½ΡΠ΅ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠ΅ Π»ΠΈΠ½ΠΈΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ ΡΠΈΠ³Π½Π°Π»ΠΎΠ². Π£Π·Π»Ρ, Π΅ΡΠ»ΠΈ Π² Π½ΠΈΡ
Π΅ΡΡΡ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ, ΠΎΠ±ΡΡΠ²Π»ΡΡΡΡΡ Π² ΡΠ°Π·Π΄Π΅Π»Π΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
. Π ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²ΡΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ example02 Π»ΠΈΠ½ΠΈΡ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ Π²Ρ
ΠΎΠ΄Π° d ΡΡΠΈΠ³Π³Π΅ΡΠ° a_trig Ρ Π²ΡΡ
ΠΎΠ΄ΠΎΠΌ q ΡΡΠΈΠ³Π³Π΅ΡΠ° b_trig Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ·Π»ΠΎΠΌ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎ Π½Π΅ ΠΎΠ±ΡΡΠ²Π»Π΅Π½Π° ΠΈ Π½Π΅ ΡΠ½Π°Π±ΠΆΠ΅Π½Π° ΠΈΠΌΠ΅Π½Π΅ΠΌ. Π£Π·Π»Ρ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ Π΄Π»Ρ ΡΠΏΡΠΎΡΠ΅Π½ΠΈΡ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΡ
Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΉ.
ΠΡΠΈΠΌΠ΅Ρ:
begin.
outa = in1 and in2;
outb = not (in1 and in2);
ΠΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π½ΡΠ΅ Π΄Π²Π° Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΡ
Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΠΈΡΠ°ΡΡ ΠΈΠ½Π°ΡΠ΅, ΠΎΠ±ΡΡΠ²ΠΈΠ² Π²ΡΠΏΠΎΠΌΠΎΠ³Π°ΡΠ΅Π»ΡΠ½ΡΠΉ ΡΠ·Π΅Π» a ΡΠΈΠΏΠ° node:
variable.
a: node;
begin.
a = in1 and in2;
outa = a;,.
outb = not a;
Π£Π·Π»Ρ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π΄Π²ΡΡ
ΡΠΈΠΏΠΎΠ²: node ΠΈ tri_state_node. ΠΠ±Π° ΡΠΈΠΏΠ° ΡΠ·Π»ΠΎΠ², Π² ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ ΠΏΠΎΡΡΠΎΠ², ΠΌΠΎΠ³ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π² Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΡ
Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡΡ
ΠΈ ΡΠ»Π΅Π²Π° ΠΈ ΡΠΏΡΠ°Π²Π° ΠΎΡ Π·Π½Π°ΠΊΠ° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΡ. Π£Π·Π»Ρ ΡΠΈΠΏΠ° node ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Ρ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΎΠ±ΡΡΠ½ΡΡ
ΡΠΈΠ³Π½Π°Π»ΡΠ½ΡΡ
Π»ΠΈΠ½ΠΈΠΉ. Π£Π·Π»Ρ ΡΠΈΠΏΠ° tri_state_node ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Ρ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π»ΠΈΠ½ΠΈΠΉ Ρ ΡΡΠ΅ΠΌΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΡΠΌΠΈ. Π ΡΠ·Π»Π°ΠΌ ΡΠΈΠΏΠ° tri_state_node ΠΌΠΎΠ³ΡΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°ΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΏΠΎΡΡΡ ΠΈ ΠΏΡΠΈΠΌΠΈΡΠΈΠ²Ρ ΡΠ·ΡΠΊΠ° AHDL:
- * Π²ΡΡ
ΠΎΠ΄ ΠΏΡΠΈΠΌΠΈΡΠΈΠ²Π° tri (Π±ΡΡΠ΅Ρ Ρ ΡΡΠ΅ΠΌΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΡΠΌΠΈ Π½Π° Π²ΡΡ
ΠΎΠ΄Π΅);
- * Π²Π½Π΅ΡΠ½ΠΈΠΉ ΠΏΠΎΡΡ ΡΠΈΠΏΠ° input Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΡΠΊΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°;
- * Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠ΅ ΠΏΠΎΡΡΡ ΡΠΈΠΏΠ° output ΠΈ bidir ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ Π½ΠΈΠΆΠ½Π΅Π³ΠΎ ΡΡΠΎΠ²Π½Ρ, Π²Ρ
ΠΎΠ΄ΡΡΠΈΡ
Π² Π΄Π°Π½Π½ΡΡ
ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΡΠΊΠΈΠΉ ΡΠ°ΠΉΠ»;
- * Π΄ΡΡΠ³ΠΈΠ΅ ΡΠ·Π»Ρ ΡΠΈΠΏΠ° tri_state_node Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°.
ΠΡΠΎΠΌΠ΅ ΡΡΠΎΠ³ΠΎ ΡΠΈΠΏΡ ΡΠ·Π»ΠΎΠ² ΠΎΡΠ»ΠΈΡΠ°ΡΡΡΡ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠΎΠΌ ΠΌΠ½ΠΎΠ³ΠΎΠΊΡΠ°ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΡΠ·Π»Π°ΠΌ. ΠΠ»Ρ ΡΠ·Π»ΠΎΠ² ΡΠΈΠΏΠ° node ΠΌΠ½ΠΎΠ³ΠΎΠΊΡΠ°ΡΠ½ΠΎΠ΅ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΠ΅, Ρ. Π΅. ΠΏΡΠΈΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ ΠΊ ΡΠ·Π»Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ
Π»ΠΈΠ½ΠΈΠΉ, Π²ΠΎΠΏΠ»ΠΎΡΠ°Π΅ΡΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠΎΠΌ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΠΎ ΠΊΠ°ΠΊ ΠΌΠΎΠ½ΡΠ°ΠΆΠ½ΠΎΠ΅ Π ΠΈΠ»ΠΈ ΠΌΠΎΠ½ΡΠ°ΠΆΠ½ΠΎΠ΅ ΠΠΠ Π½Π°Π΄ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΠΌΡΡ
ΡΠΈΠ³Π½Π°Π»ΠΎΠ². ΠΡΠΈ ΡΡΠΎΠΌ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ Π (and) Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ, Π΅ΡΠ»ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΡΠ·Π»Π°, ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° defaults (ΡΠΌ. Π½ΠΈΠΆΠ΅), ΡΠ°Π²Π½ΠΎ vcc, Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ ΠΠΠ (or) — Π΅ΡΠ»ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΡΠ°Π²Π½ΠΎ gnd. (ΠΡΠ»ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΡΠ²Π½ΠΎ Π½Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΎ Π² ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ΅ defaults, ΡΠΎ ΡΠ°ΠΊΠΈΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ ΡΠ²Π»ΡΠ΅ΡΡΡ gnd.) ΠΠ½ΠΎΠ³ΠΎΠΊΡΠ°ΡΠ½ΠΎΠ΅ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΡΠ·Π»Π°ΠΌ ΡΠΈΠΏΠ° tri_state_node ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π²ΡΠ΅Ρ
ΡΠΈΠ³Π½Π°Π»ΠΎΠ² ΠΊ ΡΠ·Π»Ρ Π±Π΅Π· ΠΊΠ°ΠΊΠΈΡ
-Π»ΠΈΠ±ΠΎ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΡ
ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ Π½Π°Π΄ Π½ΠΈΠΌΠΈ. ΠΠΎΡΡΠΎΠΌΡ ΠΏΡΠΈΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ ΠΊ ΡΠ·Π»Π°ΠΌ ΡΠΈΠΏΠ° tri_state_node Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ
Π²ΡΡ
ΠΎΠ΄ΠΎΠ² Ρ ΡΡΠ΅ΠΌΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΡΠΌΠΈ (Π²ΡΡ
ΠΎΠ΄Ρ Π±ΡΡΠ΅ΡΠΎΠ² tri) Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΠΎΠ²Π°ΡΡΡΡ ΡΡ
Π΅ΠΌΠΎΠΉ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΡΡΠΎΠ±Ρ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π»ΠΎΡΡ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΡΠ°Π±ΠΎΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· Π±ΡΡΠ΅ΡΠΎΠ² (ΠΎΡΡΠ°Π»ΡΠ½ΡΠ΅ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ Π² ΡΡΠ΅ΡΡΠ΅ΠΌ ΡΠΎΡΡΠΎΡΠ½ΠΈΠΈ).