üáõÝÏódzÝñ և ³éç³¹ñ³ÝùÝñ

Содержание

Слайд 2

üáõÝÏódzݻñÁ և ³é³ç³¹ñ³ÝùÝ»ñ

üáõÝÏódzݻñÁ և ³é³ç³¹ñ³ÝùÝ»ñÁ (task) ì»ñÇÉá·áõÙ Ñݳñ³íáñáõÃÛáõÝ »Ý ï³ÉÇë ÙÇևÝáõÛÝ ÁÝóó³Ï³ñ·Á

üáõÝÏódzݻñÁ և ³é³ç³¹ñ³ÝùÝ»ñ üáõÝÏódzݻñÁ և ³é³ç³¹ñ³ÝùÝ»ñÁ (task) ì»ñÇÉá·áõÙ Ñݳñ³íáñáõÃÛáõÝ »Ý ï³ÉÇë ÙÇևÝáõÛÝ
ϳï³ñ»É Íñ³·ñÇ ï³ñµ»ñ ï»Õ»ñÇó:
¸ñ³Ýù ݳև Ñݳñ³íáñáõÃÛáõÝ »Ý ï³ÉÇë Ù»Í ·áñÍÁÝóóÝ»ñÁ µ³Å³Ý»É ³í»ÉÇ փáùñ Ù³ë»ñÇ, ÇÝãÁ å³ñ½»óÝáõÙ ¿ Íñ³·ñÇ ÁÝûéÝ»ÉÇáõÃÛáõÝÁ և ϳñ·³µ»ñáõÙÁ (ÇÝãå»ë »ÝóÍñ³·ñ»ñÁ):
Øáõïù/»Éù ³ñ·áõÙ»ÝïÝ»ñÇ ÙÇçáóáí ïíÛ³ÉÝ»ñÁ ϳñ»ÉÇ ¿ փá˳Ýó»É ÁÝóó³Ï³ñ·ÇÝ և ³Û¹ï»ÕÇó Ñ»ï փá˳Ýó»É ϳÝãáÕ Íñ³·ñÇÝ:
²é³ç³¹ñ³ÝùÝ»ñÁ և ýáõÝÏódzݻñÁ ï³ñµ»ñíáõÙ »Ý Ñ»ïևÛ³É Ï³ÝáÝÝ»ñáí.
üáõÝÏóÇ³Ý å»ïù ¿ ϳï³ñíÇ ÝٳݳÏÙ³Ý Ù»Ï Å³Ù³Ý³Ï³ÛÇÝ ÙdzíáñáõÙ, ³é³ç³¹ñ³ÝùÁ ϳñáÕ ¿ å³ñáõÝ³Ï»É Å³Ù³Ý³ÏÇ Ï³é³í³ñÙ³Ý Ï³éáõóí³ÍùÝ»ñ:
üáõÝÏóÇ³Ý Ï³ñáÕ ¿ ϳÝã»É ýáõÝÏódz, ãÇ Ï³ñáÕ Ï³Ýã»É ³é³ç³¹ñ³Ýù: ²é³ç³¹ñ³ÝùÁ ϳñáÕ ¿ ϳÝã»É ³ÛÉ ³é³ç³¹ñ³ÝùÝ»ñ և ýáõÝÏódzݻñ:
üáõÝÏóÇ³Ý å»ïù ¿ áõݻݳ ³Ù»Ý³ùÇãÁ Ù»Ï ÙáõïùÇ ³ñ·áõÙ»Ýï: ²é³ç³¹ñ³ÝùÁ ϳñáÕ ¿ áõÝ»Ý³É ó³Ýϳó³Í Ãíáí ³ñ·áõÙ»ÝïÝ»ñ ϳ٠ϳñáÕ ¿ ³ñ·áõÙ»Ýï ãáõݻݳÉ:
üáõÝÏóÇ³Ý í»ñ³¹³ñÓÝáõÙ ¿ Ù»Ï ³ñÅ»ù: ²é³ç³¹ñ³ÝùÝ ³ñÅ»ùÝ»ñ ãÇ í»ñ³¹³ñÓÝáõÙ:

Слайд 3

²é³ç³¹ñ³Ýù (task)

²é³ç³¹ñ³ÝùÇ ë³ÑÙ³ÝáõÙÁ ëÏëíáõÙ ¿ task µ³Ý³ÉÇ µ³éáí, áñÇÝ Ï³ñáÕ ¿ Ñ»ïև»É

²é³ç³¹ñ³Ýù (task) ²é³ç³¹ñ³ÝùÇ ë³ÑÙ³ÝáõÙÁ ëÏëíáõÙ ¿ task µ³Ý³ÉÇ µ³éáí, áñÇÝ Ï³ñáÕ ¿
áã å³ñï³¹Çñ automatic µ³Ý³ÉÇ µ³éÁ, áñÇÝ Ñ³çáñ¹áõÙ ¿ ³é³ç³¹ñ³ÝùÇ ³Ýí³ÝáõÙÁ և Ï»ï-ëïáñ³Ï»ï:
²é³ç³¹ñ³ÝùÇ ë³ÑÙ³ÝáõÙÝ ³í³ñïíáõÙ ¿ endtask µ³Ý³ÉÇ µ³éáí:
automatic µ³Ý³ÉÇ µ³éáí ѳÛï³ñ³ñíáõÙ ¿ í»ñ³Ï³ÝãíáÕ ³é³ç³¹ñ³Ýù, áñÇ µáÉáñ ϳÝã»ñÇ ïíÛ³ÉÝ»ñÁ ÑÇßáÕáõÃÛáõÝáõÙ å³ÑíáõÙ »Ý ¹ÇݳÙÇÏ Ï»ñåáí:
²é³ç³¹ñ³ÝùÇ ë³ÑÙ³ÝáõÙÁ ϳñáÕ ¿ å³ñáõÝ³Ï»É Ñ»ïևÛ³É Ñ³Ûï³ñ³ñáõÃÛáõÝÝ»ñÁ`
— input ³ñ·áõÙ»ÝïÝ»ñ
— output ³ñ·áõÙ»ÝïÝ»ñ
— inout ³ñ·áõÙ»ÝïÝ»ñ
— ÁÝóó³Ï³ñ·³ÛÇÝ µÉáÏáõ٠ѳÛï³ñ³ñíáÕ µáÉáñ ïÇåÇ ïíÛ³ÉÝ»ñ:
²Ûë ѳÛï³ñ³ñáõÃÛáõÝÝ»ñÇÝ Ñ³çáñ¹áõÙ ¿ ³é³ç³¹ñ³ÝùÇ Ù³ñÙÇÝÁ` Ññ³Ù³ÝÝ»ñÇ Ñ³çáñ¹³Ï³ÝáõÃÛáõÝÁ:
²é³Ýó automatic µ³Ý³ÉÇ µ³éÇ ³é³ç³¹ñ³ÝùÁ ëï³ïÇÏ ¿` µáÉáñ ѳÛï³ñ³ñí³Í ïíÛ³ÉÝ»ñÁ ÑÇßáÕáõÃÛáõÝáõÙ å³ÑíáõÙ »Ý ëï³ïÇÏ Ï»ñåáí: ²Û¹ ïíÛ³ÉÝ»ñÁ Ïû·ï³·áñÍí»Ý ³é³ç³¹ñ³ÝùÇ µáÉáñ ÙÇ³Å³Ù³Ý³Ï Ï³ï³ñíáÕ Ï³Ýã»ñáõÙ: automatic ³é³ç³¹ñ³ÝùÇ ïíÛ³ÉÝ»ñÁ ÑÇßáÕáõÃÛáõÝáõÙ ï»Õ³µ³ßËíáõÙ »Ý ¹ÇݳÙÇÏ Ï»ñåáíª Ûáõñ³ù³ÝãÛáõñ ϳÝãÇ Ñ³Ù³ñ: ²ÛÝ ³é³ç³¹ñ³ÝùÝ»ñÁ, áñáÝù í»ñ³Ï³ÝãíáÕ »Ý, å»ïù ¿ ѳÛï³ñ³ñí»Ý áñå»ë automatic, áñå»ë½Ç ³é³ç³¹ñ³ÝùÇ ÙdzųٳÏÛ³ ϳÝã»ñÁ ã³Õ³í³Õ»Ý ÙÇÙÛ³Ýó ïíÛ³ÉÝ»ñÁ: automatic ³é³ç³¹ñ³ÝùÁ å»ïù ¿ ϳÝãíÇ Çñ ÑÇ»ñ³ñËÇÏ ³Ýí³ÝáõÙáí:

Слайд 4

Աé³ç³¹ñ³ÝùÇ ë³ÑÙ³Ýում և ϳÝã 1

²é³ç³¹ñ³ÝùÁ ϳÝãáÕ Ññ³Ù³ÝÁ å»ïù ¿ Ùáõïù/»Éù ³ñ·áõÙ»ÝïÝ»ñÁ փá˳ÝóÇ

Աé³ç³¹ñ³ÝùÇ ë³ÑÙ³Ýում և ϳÝã 1 ²é³ç³¹ñ³ÝùÁ ϳÝãáÕ Ññ³Ù³ÝÁ å»ïù ¿ Ùáõïù/»Éù ³ñ·áõÙ»ÝïÝ»ñÁ
փ³Ï³·Í»ñáõÙ ëïáñ³Ï»ïáí µ³Å³Ýí³Í ³ñï³Ñ³ÛïáõÃÛáõÝÝ»ñÇ óáõó³ÏÇ ï»ëùáí: ²é³ç³¹ñ³ÝùÇ Ï³ÝãÇ Óև³ã³փÁ Ñ»ïևÛ³ÉÝ ¿. 
( ,,…) ;
áñï»Õ -Á ³é³ç³¹ñ³ÝùÇ ³Ýí³ÝáõÙÝ ¿, , ,… Ùáõïù/»Éù ³ñ·áõÙ»ÝïÝ»ñÝ »Ý:
ºÃ» ³é³ç³¹ñ³ÝùÇ ë³ÑÙ³ÝáõÙÁ ³ñ·áõÙ»ÝïÝ»ñ ãáõÝÇ, ³ÛÝ Ï³ÝãíáõÙ ¿ Ýß»Éáí ÙdzÛÝ ³ÝáõÝÁ.
;
²ñ·áõÙ»ÝïÝ»ñÇ óáõó³ÏÁ å»ïù ÉÇÝÇ ÝáõÛÝ Ñ³çáñ¹Ù³Ý ϳñ·áí, ÇÝãå»ë ¹ñ³Ýù ѳÛï³ñ³ñí»É »Ý ³é³ç³¹ñ³ÝùÇ ë³ÑÙ³ÝÙ³Ý Ù»ç:
лïևÛ³É ûñÇݳÏÁ óáõó³¹ñáõÙ ¿ ³é³ç³¹ñ³ÝùÇ ë³ÑÙ³ÝÙ³Ý և ϳÝãÇ Ï³½Ù³Ï»ñåáõÙÁ.
task my_task;
input a, b;
inout c;
output d, e;

Слайд 5

Աé³ç³¹ñ³ÝùÇ ë³ÑÙ³Ýում և ϳÝã 2

begin // ³Ûëï»Õ ï»Õ³¹ñíáõÙ »Ý ³é³ç³¹ñ³ÝùÇ ³ß˳ï³ÝùÝ Çñ³Ï³ÝóÝáÕ

Աé³ç³¹ñ³ÝùÇ ë³ÑÙ³Ýում և ϳÝã 2 begin // ³Ûëï»Õ ï»Õ³¹ñíáõÙ »Ý ³é³ç³¹ñ³ÝùÇ ³ß˳ï³ÝùÝ
Ññ³Ù³ÝÝ»ñÁ
c = foo1; // »ÉùÇ ³ñ·áõÙ»ÝïÝ»ñÇÝ í»ñ³·ñ»É
d = foo2; // ³é³ç³¹ñ³ÝùÇ ³ß˳ï³ÝùÇ ³ñ¹ÛáõÝùÝ»ñÁ
e = foo3;
end
endtask
лïևÛ³É Ññ³Ù³Ýáí ϳÝãíáõÙ ¿ my_task ³é³ç³¹ñ³ÝùÁ`
 my_task (v, w, x, y, z);
 Î³ÝãÇ (v, w, x, y, z) ³ñ·áõÙ»ÝïÝ»ñÁ ѳٳå³ï³ë˳ÝáõÙ »Ý (a, b, c, d, e) Ùáõïù/»Éù ³ñ·áõÙ»ÝïÝ»ñÇÝ, áñáÝù ѳÛï³ñ³ñí»É »Ý ³é³ç³¹ñ³ÝùÇ ë³ÑÙ³ÝÙ³Ý Ù»ç: ²é³ç³¹ñ³ÝùÇ Ï³ÝãÇ Å³Ù³Ý³Ï input և inout ïÇåÇ (a, b, c) ³ñ·áõÙ»ÝïÝ»ñÁ ëï³ÝáõÙ »Ý v, w, x փáփá˳ϳÝÝ»ñÇ ³ñÅ»ùÝ»ñÁ:
a = v;
b = w;
c = x;
²é³ç³¹ñ³ÝùÇ Ï³ï³ñÙ³Ý ³ñ¹ÛáõÝùÝ»ñÁ ï»Õ³¹ñíáõÙ »Ý output և inout ïÇåÇ c, d, e փáփá˳ϳÝÝ»ñáõÙ: ºñµ ³é³ç³¹ñ³ÝùÇ Ï³ï³ñáõÙÝ ³í³ñïíáõÙ ¿, Íñ³·ñÇ Ï³é³í³ñáõÙÁ í»ñ³¹³ñÓíáõÙ ¿ ϳÝãáÕ Íñ³·ñÇÝ, áñÁ c, d, e փáփá˳ϳÝÝ»ñáí ëï³óí³Í ³ñ¹ÛáõÝùÝ»ñÁ í»ñ³·ñáõÙ ¿ ϳÝãáÕ Íñ³·ñÇ x, y, z փáփá˳ϳÝÝ»ñÇÝ`
x = c;
y = d;
z = e;

Слайд 6

Առաջադրանքի օրինակ (շարունակելի)

module traffic_lights;
reg clock, red, amber, green;//ï³Ïï³ÛÇÝ ÇÙåáõÉëÝ»ñÇ, ϳñÙÇñ, ¹»ÕÇÝ և

Առաջադրանքի օրինակ (շարունակելի) module traffic_lights; reg clock, red, amber, green;//ï³Ïï³ÛÇÝ ÇÙåáõÉëÝ»ñÇ, ϳñÙÇñ,
ϳݳ㠷áõÛÝ»ñÇ
//ÉáõÛë»ñÇ íÇճ³ÏÝ»ñÇ é»·ÇëïñÝ»ñ
parameter on = 1, off = 0; // on-Ùdzó³Í íÇ׳Ï, off-³Ýç³ïí³Í íÇճ³Ï
parameter red_tics = 350, amber_tics = 30, green_tics = 200; //ÉáõÛë»ñÇ ïևáÕáõÃÛáõÝÁ
//ë³ÑÙ³ÝáÕ å³ñ³Ù»ïñ»ñ
initial red = off; // ï³É ÉáõÛë»ñÇ ëϽµÝ³Ï³Ý íÇ׳ÏÝ»ñÁ
initial amber = off;
initial green = off;
always
begin // ÉáõÛë»ñÇ Ï³é³í³ñÙ³Ý Ñ³çáñ¹³Ï³ÝáõÃÛáõÝÁ.
red = on; // ÙdzóÝ»É Ï³ñÙÇñ ÉáõÛëÁ
light(red, red_tics); //ëå³ë»É` ϳÝã»É light ³é³ç³¹ñ³ÝùÁ
green = on; // ÙdzóÝ»É Ï³Ý³ã ÉáõÛëÁ
light(green, green_tics); // ëå³ë»É
amber = on; // ÙdzóÝ»É ¹»ÕÇÝ ÉáõÛëÁ
light(amber, amber_tics); // ëå³ë»É
end

Слайд 7

Առաջադրանքի օրինակ (շարունակություն)

// light ³é³ç³¹ñ³ÝùÇ ë³ÑÙ³ÝáõÙ: ²Ûë ³é³ç³¹ñ³Ýùáí Óև³íáñíáõÙ ¿ ųٳݳϳÛÇÝ //ѳå³ÕáõÙ,

Առաջադրանքի օրինակ (շարունակություն) // light ³é³ç³¹ñ³ÝùÇ ë³ÑÙ³ÝáõÙ: ²Ûë ³é³ç³¹ñ³Ýùáí Óև³íáñíáõÙ ¿ ųٳݳϳÛÇÝ
áñÇ ïևáÕáõÃÛáõÝÁ ѳí³ë³ñ ¿ clock ÇÙåáõÉëÝ»ñÇ tics Ãíáí //å³ñµ»ñáõÃÛáõÝÝ»ñÇ: ²Û¹ ѳå³ÕÙ³Ý ³í³ñïÇÝ ÉáõÛëÝ ³Ýç³ïíáõÙ ¿:
task light;
output color;
input [31:0] tics;
begin
repeat (tics) //ÏñÏÝ»É tics ³Ý·³Ù
@ (posedge clock);
color = off; // ³Ýç³ï»É ÉáõÛëÁ
end
endtask
always // clock ï³Ïï³ÛÇÝ ³½¹³Ýß³ÝÇ Óև³íáñáõÙ
begin
#100 clock = 0;
#100 clock = 1;
end
endmodule // traffic_lights.

Слайд 8

Վերլոգ ֆունկցիաներ

üáõÝÏóÇ³Ý í»ñ³¹³ñÓÝáõÙ ¿ Ù»Ï ³ñÅ»ù, áñÁ ϳñáÕ ¿ û·ï³·áñÍí»É ³ñï³Ñ³ÛïáõÃÛáõÝÝ»ñáõÙ: üáõÝÏódzÝ

Վերլոգ ֆունկցիաներ üáõÝÏóÇ³Ý í»ñ³¹³ñÓÝáõÙ ¿ Ù»Ï ³ñÅ»ù, áñÁ ϳñáÕ ¿ û·ï³·áñÍí»É ³ñï³Ñ³ÛïáõÃÛáõÝÝ»ñáõÙ:
ѳÛï³ñ³ñíáõÙ ¿ function և endfunction µ³Ý³ÉÇ µ³é»ñáí: üáõÝÏóÇ³Ý áõÝÇ ³í»ÉÇ ë³Ñٳݳփ³Ï Ñݳñ³íáñáõÃÛáõÝÝ»ñ, ù³Ý ³é³ç³¹ñ³ÝùÁ: üáõÝÏóÇ³Ý å»ïù ¿ µ³í³ñ³ñÇ Ñ»ïևÛ³É Ï³ÝáÝÝ»ñÇÝ.
1. üáõÝÏóÇ³Ý ãÇ Ï³ñáÕ å³ñáõÝ³Ï»É Å³Ù³Ý³ÏÇ Ï³é³í³ñÙ³Ý áñ¨¿ Ññ³Ù³Ý: ²ÛëÇÝùÝ ýáõÝÏódzÛáõÙ ã»Ý ϳñáÕ û·ï³·áñÍí»É` #, @, ϳ٠wait ëÇÙíáÉÝ»ñ ϳ٠ϳéáõóí³ÍùÝ»ñ:
2. üáõÝÏóÇ³Ý ãÇ Ï³ñáÕ Ï³Ýã»É ³é³ç³¹ñ³Ýù, ³ÛÝ Ï³ñáÕ ¿ ϳÝã»É ³ÛÉ ýáõÝÏódzݻñ:
3. üáõÝÏóÇ³Ý å»ïù ¿ áõݻݳ ³éÝí³½Ý Ù»Ï ÙáõïùÇ ³ñ·áõÙ»Ýï` input ïÇåÇ:
4. üáõÝÏódzÛÇ ë³ÑÙ³ÝáõÙÁ å»ïù ¿ Ý»ñ³éÇ ýáõÝÏódzÛÇ ³ñ¹ÛáõÝùÁ ýáõÝÏódzÛÇ ³ÝáõÝÁ ÏñáÕ Ý»ñùÇÝ ÷á÷á˳ϳÝÇÝ í»ñ³·ñÙ³Ý Ññ³Ù³Ý:
üáõÝÏódzÛÇ ë³ÑÙ³ÝÙ³Ý ÁݹѳÝáõñ ϳéáõóí³ÍùÁ Ñ»ïևÛ³ÉÝ ¿.
function ;
//÷á÷á˳ϳÝÝ»ñÇ Ñ³Ûï³ñ³ñáõÙ
//ýáõÝÏódzÛÇ ³ß˳ï³ÝùÁ áñáßáÕ Ññ³Ù³ÝÝ»ñÁ
endfunction
²Ûëï»Õ` ¹³ßïáõÙ ïñíáõÙ ¿ ýáõÝÏódzÛáí í»ñ³¹³ñÓíáÕ փáփá˳ϳÝÇ µÇûñÇ ïÇñáõÛÃÁ ([n:m] ï»ëùáí) և ïÇåÁ, »Ã» ³ÛÝ integer ϳ٠¿ real ¿: ºÃ» ¹³ßïÁ µ³ó³Ï³ÛáõÙ ¿, ³å³ ýáõÝÏódzÛáí í»ñ³¹³ñÓíáÕ փáփá˳ϳÝÁ 1-µÇà 黷Çëïñ ¿: ýáõÝÏódzÛÇ ³ÝáõÝÝ ¿` ǹ»ÝïÇýÇϳïáñÁ: úñÇݳÏ,  
function [7:0] adder ; // adder ³Ýí³ÝáõÙáí 8-µÇà 黷Çëïñ ïÇåÇ:

Слайд 9

Ֆունկցիայի ÙáõïùÇ և Ý»ñùÇÝ փáփá˳ϳÝÝ»ñը

Áݹ·ñÏáõÙ ¿ ÙáõïùÇ և Ý»ñùÇÝ փáփá˳ϳÝÝ»ñÇ, å³ï³Ñ³ñÝ»ñÇ

Ֆունկցիայի ÙáõïùÇ և Ý»ñùÇÝ փáփá˳ϳÝÝ»ñը Áݹ·ñÏáõÙ ¿ ÙáõïùÇ և Ý»ñùÇÝ փáփá˳ϳÝÝ»ñÇ, å³ï³Ñ³ñÝ»ñÇ
և å³ñ³Ù»ïñ»ñÇ Ñ³Ûï³ñ³ñáõÙ
;
;
;
;
;
;
;
;
;
²Ûëï»Õ Ãí³ñÏí³ÍÝ»ñÇó å³ñï³¹Çñ ¿ ÙdzÛÝ -Á:
лïևÛ³É ûñÇݳÏáõÙ ë³ÑÙ³ÝíáõÙ ¿ getbyte ³Ýí³ÝáõÙáí ýáõÝÏódz.
function [7:0] getbyte;
input [15:0] address;
begin
// Ññ³Ù³ÝÝ»ñ, áñáÝóáí address ѳëó»Çó ïíÛ³ÉÇ µ³ÛÃÁ ÁÝûñóíáõÙ ÑÇßáÕáõÃÛáõÝÇó
getbyte = result_expression; //³ñ¹ÛáõÝùÁ í»ñ³·ñíáõÙ ¿ ýáõÝódzÛÇ
//³ÝáõÝÁ ÏñáÕ փáփá˳ϳÝÇÝ
end
endfunction

Слайд 10

üáõÝÏódzÛÇ ë³ÑÙ³ÝáõÙÁ

üáõÝÏódzÛÇ ë³ÑÙ³ÝáõÙÁ ³Ýµ³ó³Ñ³Ûï Ï»ñåáí ѳÛï³ñ³ñáõÙ ¿ Ý»ñùÇÝ é»·Çïñ, áñÝ áõÝÇ ÝáõÛÝ

üáõÝÏódzÛÇ ë³ÑÙ³ÝáõÙÁ üáõÝÏódzÛÇ ë³ÑÙ³ÝáõÙÁ ³Ýµ³ó³Ñ³Ûï Ï»ñåáí ѳÛï³ñ³ñáõÙ ¿ Ý»ñùÇÝ é»·Çïñ, áñÝ áõÝÇ
³Ýí³ÝáõÙÁ, ÇÝã ýáõÝÏódzÝ: ²Ûë é»·ÇëïñÇ ã³÷ëÁ 1-µÇà ¿ ϳ٠ïñíáõÙ ¿ ýáõÝÏódzÛÇ Ñ³Ûï³ñ³ñÙ³Ý ¹³ßïáõÙ: üáõÝÏódzÛÇ ë³ÑÙ³ÝÙ³Ý Ù»ç å»ïù ¿ ÉÇÝÇ ýáõÝÏódzÛÇ ³ß˳ï³ÝùÇ ³ñ¹ÛáõÝùÁ ýáõÝÏódzÛÇ ³ÝáõÝÁ ÏñáÕ Ý»ñùÇÝ փáփá˳ϳÝÇÝ í»ñ³·ñ»Éáõ Ññ³Ù³Ý`  
getbyte = result_expression;
üáõÝÏódzÛÇ Ï³ÝãÝ Çñ³Ï³Ý³óíáõÙ ¿ Ñ»ïևÛ³É Ï³éáõóí³Íùáí.
  ( ,,… )
üáõÝÏódzÛÇ Ï³ÝãÁ ϳñáÕ ¿ ÉÇÝ»É áñև¿ ³ñï³Ñ³ÛïáõÃÛ³Ý ûå»ñ³ïáñ: лïևÛ³É ûñÇݳÏáõÙ word ³ñï³Ñ³ÛïáõÃÛáõÝáõÙ getbyte ýáõÝÏódzÛÇ »ñÏáõ ϳÝã»ñÇó Óև³íáñíáõÙ ¿ 16-µÇà µ³é` µ³ÛûñÇ ÙdzÏóáõÙáí.
word = control ? {getbyte(msbyte), getbyte(lsbyte)} : 0;// msbyte և lsbyte ³ñ¹Ûáõݳñ³ñ
//µ³éÇ ³í³· և Ïñïë»ñ µ³ÛûñÇ Ñ³ëó»Ý»ñÝ »Ý:

Слайд 11

Ֆունկցիայի կիրառության օրինակներ

//ê³ÑÙ³Ý»É Ùá¹áõÉ, áñÁ å³ñáõݳÏáõÙ ¿ even_parity ³Ýí³ÝáõÙáí ýáõÝÏódz
module check_parity;
...
reg [63:0]

Ֆունկցիայի կիրառության օրինակներ //ê³ÑÙ³Ý»É Ùá¹áõÉ, áñÁ å³ñáõݳÏáõÙ ¿ even_parity ³Ýí³ÝáõÙáí ýáõÝÏódz module
data;
reg parity; //ѳßí»É 64-µÇà ïíÛ³ÉáõÙ ½áõÛ·áõÃÛ³Ý Ñ³Ûï³ÝÇßÁ, »ñµ ³Û¹ ïíÛ³ÉÁ ÷áËíáõÙ ¿
always @(data)
begin
parity = even_parity(data); //ϳÝã»É even_parity ýáõÝÏódzÝ
$display("Parity status = %b", parity);
end
......
//ë³ÑÙ³Ý»É even_parity ýáõÝÏódzÝ
function even_parity; //ýáõÝÏódzÛÇ ³ß˳ï³ÝùÇ ³ñ¹ÛáõÝùÁ í»ñ³¹³ñÓíáõÙ ¿ even_parity // ³Ýµ³ó³Ñ³Ûï ѳÛï³ñ³ñíáÕ é»·Çëïñáí
input [63:0] data;
begin
even_parity = ^ data; //ϳï³ñ»É ë»ÕÙÙ³Ý xor ·áñÍáÕáõÃÛáõÝ data-Ç µáÉáñ µÇûñÇ Ýϳïٳٵ
endendfunction //ýáõÝÏódzÛÇ ë³ÑÙ³ÝÙ³Ý ³í³ñï......
endmodule // check_parity Ùá¹áõÉÇ ³í³ñï
Имя файла: üáõÝÏódzÝñ-և-³éç³¹ñ³ÝùÝñ.pptx
Количество просмотров: 40
Количество скачиваний: 0