°Ë¡¢ÊµÑ鱨¸æ
ÒªÇó¼°¸ñʽ¼û±¾ÊÖ²áĩβ˵Ã÷¡£
¾Å¡¢ÆäËü˵Ã÷
¿ª·¢°åÉϵÄ+5VµçÔ´½Ó¿Ú²»ÄÜʹÓöÌ·ðÓëµØ£¨GND£©½øÐж̽ӣ¬·ñÔò½«ÉÕ»µµçÔ´ºÍ¿ª·¢°å¡£
18
ѧÉúʵÑ鱨¸æ»ù±¾ÄÚÈÝÒªÇó
ѧÉúʵÑ鱨¸æÓ¦ÊÂÏÈ×¼±¸ºÃ£¬ÓÃÀ´×öԤϰ±¨¸æ¡¢ÊµÑé¼Ç¼ºÍʵÑ鱨¸æ¡£ 1¡¢ÊµÑéԤϰ
ÔÚʵÑéǰÿλͬѧ¶¼ÐèÒª¶Ô±¾´ÎʵÑé½øÐÐÈÏÕæµÄԤϰ£¬²¢Ð´ºÃԤϰ±¨¸æ£¬ÔÚԤϰ±¨¸æÖÐҪд³öʵÑéÄ¿µÄ¡¢ÒªÇó£¬ÐèÒªÓõ½µÄÒÇÆ÷É豸¡¢ÎïÆ·×ÊÁÏÒÔ¼°¼òÒªµÄʵÑé²½Ö裬ÐγÉÒ»¸ö²Ù×÷Ìá¸Ù¡£¶ÔʵÑéÖеݲȫעÒâÊÂÏî¼°¿ÉÄܳöÏÖµÄÏÖÏóµÈ×öµ½ÐÄÖÐÓÐÊý£¬µ«ÕâЩ²»ÒªÇóдÔÚԤϰ±¨¸æÖС£ Éè¼ÆÐÔʵÑéÒªÇó½øÈëʵÑéÊÒǰд³öʵÑé·½°¸£¬²¢¾Ö¸µ¼½ÌʦÉóÔĺóʵʩ¡£
2¡¢ÊµÑé¼Ç¼
ѧÉú¿ªÊ¼ÊµÑéʱ£¬Ó¦¸Ã½«¼Ç¼±¾·ÅÔÚ½üÅÔ£¬½«ÊµÑéÖÐËù×öµÄÿһ²½²Ù×÷¡¢¹Û²ìµ½µÄÏÖÏóºÍËù²âµÃµÄÊý¾Ý¼°Ïà¹ØÌõ¼þÈçʵµØ¼Ç¼ÏÂÀ´¡£ ʵÑé¼Ç¼ÖÐÓ¦ÓÐÖ¸µ¼½ÌʦµÄÇ©Ãû¡£
3¡¢ÊµÑ鱨¸æ
Ö÷ÒªÄÚÈݰüÀ¨¶ÔʵÑéÊý¾Ý¡¢ÊµÑéÖеÄÌØÊâÏÖÏó¡¢ÊµÑé²Ù×÷µÄ³É°Ü¡¢ÊµÑéµÄ¹Ø¼üµãµÈÄÚÈݽøÐÐÕûÀí¡¢½âÊÍ¡¢·ÖÎö×ܽᣬ»Ø´ð˼¿¼Ì⣬Ìá³öʵÑé½áÂÛ»òÌá³ö×Ô¼ºµÄ¿´·¨µÈ¡£
19
¸½Â¼Ò»£ºVerilog HDLÓïÑÔ»ù±¾ÖªÊ¶
£¨Ò»£©Ñ§Ï°ÒÔÏÂÀý³Ì£º module muxtwo(out, a, b, s1); input a, b, s1; output out; reg out;
always @ (s1 or a or b)
if( !s1 ) out = a;
else out = b;
endmodule
ÒÔÉϳÌÐò¶ÎÍê³ÉÁ˶þѡһÊý¾ÝÑ¡ÔñÆ÷£¬´ÓÒÔÉÏÀý³ÌÀ©Õ¹Ñ§Ï°Verilog HDLÓïÑԵĻù±¾Óï·¨¡£
£¨¶þ£©Verilog HDLÓïÑÔ»ù±¾Óï·¨µÄѧϰ£º
£¨1£©Êý¾Ý³£Á¿
-- Verilog HDLÖй²ÓÐ19ÖÖÊý¾ÝÀàÐÍ¡£ 1 Êý×Ö ÕûÊý
¶þ½øÖÆÊý£¨b»òB£© Ê®½øÖÆÊý£¨d»òD£© Ê®Áù½øÖÆÊý£¨h»òH£© °Ë½øÖÆÊý£¨o»òO£©
Êý×ÖµÄÈýÖÖ±í´ï·½Ê½£º
<λ¿í><½øÖÆ><Êý×Ö> --- È«ÃæµÄÃèÊö·½Ê½ <½øÖÆ><Êý×Ö> --- ĬÈÏλ¿í£¬ÖÁÉÙ32λ <Êý×Ö>--- ĬÈÏλ¿íÓë½øÖÆ£¨Ê®½øÖÆ£© examples:
8'b10101100 8'ha2
20
x Óë z
-- x´ú±í²»¶¨Öµ£»z£¨?£©´ú±í¸ß×èÖµ
examples: ¸ºÊý
-- ÔÚλ¿í±í´ïʽǰ¼ÓÒ»¸ö¼õºÅ£¨-£©£¬¼õºÅ±ØÐë·ÅÔÚÊý×Ö¶¨Òå±í´ïʽµÄ×îÇ°Ãæ¡£
examples£º Ï»®Ïß
-- ÓÃÀ´·Ö¸îÊý×ֵıí´ï£¬Ìá¸ß³ÌÐòµÄ¿É¶ÁÐÔ£¬Ö»ÄÜÓÃÔÚ¾ßÌåµÄÊý×ÖÖ®¼ä¡£
examples:
note£º³£Á¿²»ËµÃ÷λÊýµÄʱºò£¬Ä¬ÈÏΪ32λ£¬Ã¿¸ö×ÖĸÓÃ8λµÄASCIIÂëÖµ±íʾ
2 ²ÎÊýÐÍ£¨parameter£©
-- ÓÃparameterÀ´¶¨Òå³£Á¿£¬³ÆÎª·ûºÅ³£Á¿£¬¿ÉÌá¸ß³ÌÐòµÄ¿É¶ÁÐÔÓë¿Éά»¤ÐÔ¡£
21
4'b10x0 4'b101z 12'dz 12'd? 8'h4x
-8'd5 //ok 8'd-5 //not ok!!!
16'b1010_1111_1001_0001 //OK 8'b_1001_1111 // not ok!!!