¡¶Êý×Öµç·ÓëÂß¼­Éè¼Æ¡· ÏÂÔØ±¾ÎÄ

°Ë¡¢ÊµÑ鱨¸æ

ÒªÇó¼°¸ñʽ¼û±¾ÊÖ²áĩβ˵Ã÷¡£

¾Å¡¢ÆäËü˵Ã÷

¿ª·¢°åÉϵÄ+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!!!