Êý×ÖϵͳÉè¼Æ¸´Ï°¸ÙÒª ÏÂÔر¾ÎÄ

ÄÚÈÝ·¢²¼¸üÐÂʱ¼ä : 2024/12/22 23:10:02ÐÇÆÚÒ» ÏÂÃæÊÇÎÄÕµÄÈ«²¿ÄÚÈÝÇëÈÏÕæÔĶÁ¡£

°üÀ¨Èý²¿·Ö£º¿É±à³ÌÂß¼­¿é£¨CLB£¬Configurable Logic Block£©¡¢I/OÄ£¿é£¨IOB£¬I/O Block£©¡¢¿É±à³Ì»¥Á¬×ÊÔ´£¨PIR£¬Programmable Interconnect Resource£© (1)¡¢¿É±à³ÌÂß¼­¿éCLB£º

ÊÇʵÏÖÓû§¹¦ÄܵĻù±¾µ¥Ôª£¬ËüÃÇͨ³£¹æÔòµØÅÅÁгÉÒ»¸öÕóÁÐ Ö÷ÒªÓÉÂß¼­º¯Êý·¢ÉúÆ÷¡¢´¥·¢Æ÷¡¢Êý¾ÝÑ¡ÔñÆ÷µÈ²¿·Ö×é³É¡£

Âß¼­º¯Êý·¢ÉúÆ÷£º CLBÖеÄÂß¼­º¯Êý·¢ÉúÆ÷¶¼ÊÇ»ùÓÚ²éÕÒ±í½á¹¹¡£

²éÕÒ±í½á¹¹£¨LUT£¬Look-up Table£©:LUT±¾ÖÊÉϾÍÊÇÒ»¸öRAM¡£ ÿһ¸öLUT¿ÉÒÔ¿´³ÉÒ»¸öÓÐ4λµØÖ·ÏßµÄ16x1µÄRAM¡£ µ±Óû§Í¨¹ýÃèÊöÁËÒ»¸öÂß¼­µç·ÒÔºó£¬FPGA¿ª·¢Èí¼þ»á×Ô¶¯¼ÆËãÂß¼­µç·µÄËùÓпÉÄܵĽá¹û£¬²¢°Ñ½á¹ûÊÂÏÈдÈëRAM,ÕâÑù£¬Ã¿ÊäÈëÒ»¸öÐźŽøÐÐÂß¼­ÔËËã¾ÍµÈÓÚÊäÈëÒ»¸öµØÖ·½øÐвé±í£¬ÕÒ³öµØÖ·¶ÔÓ¦µÄÄÚÈÝ£¬È»ºóÊä³ö¼´¿É¡£

(2)¡¢IOB£ºÖ÷ÒªÍê³ÉоƬÉÏÂß¼­ÓëÍⲿ·â×°½ÅµÄ½Ó¿Ú£¬Ëüͨ³£ÅÅÁÐÔÚоƬµÄËÄÖÜ£»Ö÷ÒªÓÉÊäÈë´¥·¢Æ÷¡¢ÊäÈ뻺³åÆ÷ºÍÊä³ö´¥·¢Æ÷/Ëø´æÆ÷¡¢Êä³ö»º³åÆ÷×é³É¡£ ÿ¸öIOB¿ØÖÆÒ»¸öÒý½Å£¬ËüÃÇ¿ÉÒÔ±»ÅäÖÃΪÊäÈë¡¢Êä³ö»òË«ÏòI/O¹¦ÄÜ¡£

( 3)¡¢PIR£º ¿É±à³Ì»¥Á¬×ÊÔ´(PIR)°üÀ¨¸÷ÖÖ³¤¶ÈµÄÁ¬ÏßÏ߶κÍһЩ¿É±à³ÌÁ¬½Ó¿ª¹Ø£¬ ËüÃǽ«¸÷¸öCLBÖ®¼ä»òCLB¡¢ IOBÖ®¼äÒÔ¼°IOBÖ®¼äÁ¬½ÓÆðÀ´£¬¹¹³ÉÌض¨¹¦Äܵĵç·¡£ÕâЩ½ðÊôÏ߶δøÓпɱà³Ì¿ª¹Ø£¬Í¨¹ý×Ô¶¯²¼ÏßʵÏÖFPGAÄÚ²¿µÄCLBºÍCLBºÍIOBÖ®¼äµÄÁ¬Ïß¡£ Á¬ÏßÓÐÈýÖÖ»¥Á¬½á¹¹£ºµ¥³¤Ïß¡¢Ë«³¤Ïß¡¢³¤Ïß¡£

2.3.3 CPLDÓëFPGAµÄÒìͬ

(1)¡¢Ïàͬµã£ºÊäÈë/Êä³öµ¥Ôª£» Âß¼­¿éÕóÁУ»»¥Á¬×ÊÔ´ (2)¡¢CPLDÓëFPGAµÄ²î±ð£º

? CPLDÊÇÕóÁÐʽ½á¹¹£¬»ùÓڳ˻ýÏî¼¼Êõ£¬ FPGAÊǵ¥ÔªÊ½½á¹¹£¬»ùÓÚ²éÕÒ±í¼¼Êõ£»

? CPLDÆ÷¼þµÄ¹Ø¼ü¼¼ÊõÊÇE2PROMºÍ¿ìÉÁ´æ´¢Æ÷¹¤ÒÕ £¬ FPGAͨ³£²ÉÓÃCMOS SRAM¹¤ÒÕ£»

? CPLDÓµÓÐÉϵ缴¿É¹¤×÷µÄÌØÐÔ£¬ FPGAÐèÒªÒ»¸ö¼ÓÔعý³Ì

? CPLDµÄÄÚÁ¬ÐøÐԵIJ¼Ï߽ṹʹÆäʱÐòÑÓ³Ù¾ßÓоùÔÈÐԺͿÉÔ¤²âÐÔ£¬ FPGA¾ßÓеķֶÎʽ²¼Ï߽ṹʹÆäʱÐòÑÓ³Ù¾ßÓв»¿ÉÔ¤²âÐÔ£»

? CPLD ±È½ÏÊʺÏÓÚʵÏÖ¸÷ÖÖ×éºÏÂß¼­£¬ FPGA±È½ÏÊʺÏÓÚº¬ÓÐʱÐòÂß¼­½Ï¶àµÄµç·

2.3.4 Altera ¹«Ë¾Éú²úµÄPLDÆ÷¼þ

Ö÷Òª²úÆ··ÖΪCPLDºÍFPGAÁ½´óÀàÐÍ

CPLD »ù±¾½á¹¹µ¥ÔªÊdz˻ýÏÔÚ¹¤ÒÕÉϲÉÓÃE2PROM±à³Ìµ¥Ôª¡£ FPGA ÀàÐÍÆ÷¼þ²ÉÓÃSRAM±à³Ìµ¥Ôª¡£

2.3.5 PLDÆ÷¼þµÄ·¢Õ¹Ç÷ÊÆ

£¨1£©Ïò´ó¹æÄ£¡¢¸ß¼¯³É¶È·½Ïò½øÒ»²½·¢Õ¹ £¨2£©ÏòµÍµçѹ¡¢µÍ¹¦ºÄµÄ·½Ïò·¢Õ¹ £¨3£©Ïò¸ßËÙ¿ÉÔ¤²âÑÓʱµÄ·½Ïò·¢Õ¹ £¨4£©Ïò¹¦ÄܷḻÐÍ·¢Õ¹

£¨5£©ÏòÄ£Êý»ìºÏ¿É±à³Ì·½Ïò·¢Õ¹ ±ß½çɨÃè²âÊÔ¼¼Êõ£º

±ß½çɨÃè²âÊÔ¼¼ÊõÖ÷Òª½â¾öоƬµÄ²âÊÔÎÊÌâ¡£

11 / 16

±ê×¼µÄ±ß½çɨÃè²âÊÔÖ»ÐèÒªËĸùÐźÅÏߣ¬Äܹ»¶Ôµç·°åÉÏËùÓÐÖ§³Ö±ß½çɨÃèµÄоƬÄÚ²¿Âß¼­ºÍ±ß½ç¹Ü½Å½øÐвâÊÔ¡£Ó¦Óñ߽çɨÃè¼¼ÊõÄÜÔöǿоƬ¡¢µç·°åÉõÖÁϵͳµÄ¿É²âÊÔÐÔ¡£

3. Verilog HDL ÓïÑÔ

3.1 Verilog HDL »ù´¡ 3.1.1 ´Ê·¨

Verilog HDL³ÌÐòÊÇÓɸ÷ÖÖ·ûºÅÁ÷¹¹³ÉµÄ£¬ÎÒÃÇ°ÑËüÃdzÆ֮Ϊ´Ê·¨¡£ Verilog HDL ÖеĴʷ¨ÀàÐÍ°üÀ¨£º

(1) ¼ä¸ô·ûÓë×¢ÊÍ·û£» (2) ÊýÖµ£» (3) ×Ö·û´®£»

(4) ±êʶ·û¡¢¹Ø¼ü×Ö£» (5) ÔËËã·û¡£ Ò»¡¢¼ä¸ô·ûÓë×¢ÊÍ·û

¼ä¸ô·û°üÀ¨¿Õ¸ñ·û¡¢ÖƱí·û(tab)¡¢»»ÐÐÒÔ¼°»»Ò³·û¡£

Verilog HDLÓÐÁ½ÖÖ×¢ÊÍÐÎʽ£¬µ¥ÐÐ×¢ÊÍÒÔÁ½¸ö×Ö·û¡°//¡±Æðʼ£¬ÒÔеÄÒ»ÐÐ×÷Ϊ½áÊø£»¶ø¶Î×¢ÊÍÔòÊÇÒÔ/*Æðʼ£¬ÒÔ*/½áÊø¡£ ¶þ¡¢Êý Öµ Verilog HDLµÄÊýÖµÓÉÒÔÏÂËĸö»ù±¾µÄÖµ×é³É£º0¡ª´ú±íÂß¼­0»ò¼Ù״̬

1¡ª´ú±íÂß¼­1»òÕæ״̬ x¡ªÂß¼­²»¶¨Ì¬ z¡ª¸ß×è̬

ÔÚ³ÌÐòÔËÐÐÖУ¬ÆäÖµ²»ÄܸıäµÄÁ¿³ÆΪ³£Á¿¡£ÕûÐÍÊý¡¢ÊµÐÍÊý 1).ÕûÐÍÊý¼°Æä±íʾ£º +/-<λ¿í>' <»ùÊý> <ÊýÖµ>

a¡¢ÊýÖµ³£Á¿²»Äܽ«Ï»®Ïß¡°_¡± Æä·ÅÓÚÊýÖµµÄÊ×λ¡£ b ¡¢ÔÚ¡¯ºÍ½øÖÆÖ®¼ä£¬ÊýÖµÖ®¼ä²»ÔÊÐí³öÏÖ¿Õ¸ñ¡£

c¡¢Èç¹û¶¨ÒåµÄλ¿í±Èʵ¼ÊµÄλÊý³¤£¬Í¨³£ÔÚ×ó±ß²¹0£¬µ«Èç¹ûÊýµÄ×î×ó±ßһλΪx»òz, ¾ÍÏàÓ¦µÄÓÃx»òzÔÚ×ó±ß²¹Î»¡£ d¡¢ÊýÖµ³£Á¿Öеġ°z¡±¿ÉÒÔÓá°£¿¡±À´´úÌæ¡£ 2).ʵÐÍÊý¼°Æä±íʾ£º

VerilogÖеÄʵÊý¿ÉÒÔÓÃÊ®½øÖƱíʾ·¨Óë¿Æѧ¼ÆÊý·¨Á½ÖÖ¸ñʽÀ´±íʾ

Èç¹û²ÉÓÃÊ®½øÖƸñʽ£¬Ð¡ÊýµãÁ½²à¶¼±ØÐëÖÁÉÙÓÐһλÊý×Ö£¬·ñÔòΪ·Ç·¨±íʾÐÎʽ¡£ ¡îʵÊý¿ÉÒÔת»¯ÎªÕûÊý£¬¸ù¾ÝËÄÉáÎåÈëµÄÔ­Ôò¡£ Èý¡¢×Ö·û´®

ÔÚVerilogÖУ¬×Ö·û´®´ó¶àÓÃÓÚÏÔʾÐÅÏ¢µÄÃüÁîÖС£

×Ö·û´®³£Á¿ÊÇÓÃË«ÒýºÅÀ¨ÆðÀ´µÄ×Ö·ûÐòÁд®£¬Ëü±ØÐë°üº¬ÔÚͬһÐÐÖУ¬²»ÄֳܷɶàÐÐÊéд¡£ ×Ö·û´®±äÁ¿ÊǼĴæÆ÷ÐͱäÁ¿¡£ ËÄ¡¢±êʶ·û¡¢¹Ø¼ü×Ö ±êʶ·û£º

Óû§Îª³ÌÐòÃèÊöÖеÄVerilog ¶ÔÏóËùÆðµÄÃû×Ö¡£ Ä£¿éÃû¡¢¶Ë¿ÚÃûºÍʵÀýÃû¶¼ÊDZêʶ·û¡£

12 / 16

? ±êʶ·û±ØÐëÒÔÓ¢Óï×Öĸa-z, A-ZÆðÍ·£¬»òÕßÓÃϺáÏß·û _ ÆðÍ·¡£ÆäÖпÉÒÔ°üº¬Êý×Ö¡¢ $·ûºÍϺáÏß·û¡£

? Verilog ÊÇ´óСдÃô¸ÐµÄ¡£ ¡¾ÌØÊâ±êʶ·û¡¿£º

¡®$¡¯ ·ûºÅ±íʾ Verilog µÄϵͳÈÎÎñºÍº¯Êý ÌØÊâ·ûºÅ ¡°#¡± ³£ÓÃÀ´±íʾÑÓ³Ù

¹Ø¼ü×Ö£ºÊÇVerilogÓïÑÔÄÚ²¿µÄרÓôʣ¬ËùÓеĹؼü´Ê¶¼ÊÇСдµÄ¡£

3.1.2 Êý¾ÝÀàÐÍ

Á¬ÏßÐÍÊý¾ÝÏ൱ÓÚÓ²¼þµç·Öеĸ÷ÖÖÎïÀíÁ¬½Ó£¬´ú±íµÄÊÇÎïÀíÁ¬½ÓÏß¡£

¼Ä´æÆ÷ÐÍÊý¾ÝÒ»°ã¶ÔÓ¦µÄÊǾßÓÐ״̬±£³Ö×÷Óõĵç·£¬Èç´¥·¢Æ÷¡¢¼Ä´æÆ÷¡¢Ëø´æÆ÷¡£ ËüµÄÌصãÊÇÊä³öÄܱ£³ÖÆäÖµ£¬Ö±µ½Ëü±»¸³ÓÚеÄÖµ¡£

? ¶ÔÓڶ˿ÚÐźţ¬ÊäÈë¶Ë¿ÚÖ»ÄÜÊÇnetÀàÐÍ¡£Êä³ö¶Ë¿Ú¿ÉÒÔÊÇnetÀàÐÍ£¬Ò²¿ÉÒÔÊÇregisterÀàÐÍ¡£ÈôÊä³ö¶Ë¿ÚÔÚ¹ý³Ì¿éÖи³ÖµÔòΪregisterÀàÐÍ£»ÈôÔÚ¹ý³Ì¿éÍ⸳ֵ(°üÀ¨ÊµÀý»¯Óï¾ä,assign Á¬Ðø¸³ÖµÓï¾ä£©£¬ÔòΪnetÀàÐÍ¡£

? ÄÚ²¿ÐźÅÀàÐÍÓëÊä³ö¶Ë¿ÚÏàͬ£¬¿ÉÒÔÊÇnet»òregisterÀàÐÍ¡£

parameter ÓÃÀ´¶¨Òå³£Á¿£¬¼´ÓÃÀ´¶¨ÒåÒ»¸ö±êʶ·û´ú±íÒ»¸ö³£Á¿¡£Ö÷ÒªÓÃÓÚ¶¨ÒåÑÓ³Ùʱ¼äºÍ±äÁ¿¿í¶È¡£

3.1.3ÔËËã·û

°´Ëù´ø²Ù×÷ÊýµÄ¸öÊýÇø·Ö£¬ÔËËã·û¿É·ÖΪ3Àࣺµ¥Ä¿ÔËËã·û¡¢Ë«Ä¿ÔËËã·û¡¢ÈýÄ¿ÔËËã·û¡£

°´¹¦ÄÜ·Ö£ºËãÊõÔËËã·û¡¢¹ØϵÔËËã·û¡¢µÈʽÔËËã·û¡¢Âß¼­ÔËËã·û¡¢Î»ÔËËã·û¡¢ ËõλÂß¼­ÔËËã·û¡¢ÒÆλÔËËã·û¡¢²¢½ÓÔËËã·ûµÈ¡£

£¨1£©ËãÊõÔËËã·ûÓÃÓÚ½øÐÐÊýÖµÔËË㣬+¡¢¨C¡¢*¡¢/¡¢%¡£ £¨2£©Âß¼­ÔËËã·û£º &&£¨Âß¼­Ó룩¡¢||£¨Âß¼­»ò£©¡¢!£¨Âß¼­·Ç£© £¨3£©Î»ÔËË㣺½«Á½¸ö²Ù×÷Êý°´¶ÔӦλ·Ö±ð½øÐÐÂß¼­ÔËË㣺 ~£¨·Ç£©£¨°´Î»È¡·´£©£» &£¨Ó룩£» |£¨»ò£©£» ^£¨Òì»ò£©£»^~£¬~^£¨Í¬»ò£©£» ~&£¨Óë·Ç£©£» ~|£¨»ò·Ç£© £¨4£© ¹ØϵÔËËã·û>£¨´óÓÚ£©£»>= £¨´óÓÚµÈÓÚ£© £»< £¨Ð¡ÓÚ£©£»<= £¨Ð¡ÓÚµÈÓÚ£©¡£ £¨5£© µÈʽÔËËã·û£º= =£¨ÏàµÈ£©£»£¡=£¨²»ÏàµÈ£©£»= = =£¨È«µÈ£©£»£¡= =£¨²»È«µÈ£©¡£ £¨6£©ËõλÔËËã·û£ºËõλÔËËã·û½«Ò»¸öʸÁ¿Ëõ¼õΪһ¸ö±êÁ¿¡£ &£¨Ó룩£»|£¨»ò£©£»^£¨Òì»ò£©£»^~£¨Í¬»ò£©£»~&£¨Óë·Ç£©£»~|£¨»ò·Ç£©¡£ £¨7£©ÒÆλÔËËã·ûA<>n £¨ÓÒÒÆλÔËËã·û£© £¨8£©Ìõ¼þÔËËã·ûÌõ¼þÔËËã·û£¨? :£©ÐźÅ=Ìõ¼þ£¿±í´ïʽ1£º±í´ïʽ2£» £¨9£©Æ´½ÓÔËËã·ûÆ´½ÓÔËËã·û{ }

3.2 Verilog HDLÖеÄÄ£¿é 3.2.1 Ä£¿é

13 / 16

Ä£¿éÊÇVerilog HDLÓïÑԵĻù±¾ÃèÊöµ¥Î»£¬ËüÓÃÓÚÃèÊöij¸öµç·µÄ¹¦ÄÜ»ò½á¹¹£¬ÒÔ¼°ËüÓëÆäËüÄ£¿éͨÐŵÄÍⲿ¶Ë¿Ú¡£

module <Ä£¿éÃû> (<¶Ë¿ÚÁбí>) ¶Ë¿Ú˵Ã÷ (input,output,inout) Êý¾ÝÀàÐÍ˵Ã÷£¨wire reg£©

Âß¼­¹¦ÄÜ»ò½á¹¹¹¹³É¶¨Ò壨ÃÅÔª¼þÀý»¯¡¢assignÊý¾ÝÁ÷always¿éÐÐΪÃèÊö¡¢µ÷ÓÃÆäËüÄ£¿é£© endmodule

ÿ¸öÄ£¿éʵÏÖÌض¨µÄ¹¦ÄÜ£»Ä£¿é¿ÉÒÔ½øÐвã´ÎǶÌס£

Verilog HDL³ÌÐòÒ»ÐпÉÒÔд¶àÌõÓï¾ä£¬Ò²¿ÉÒÔÒ»ÌõÓï¾ä·Ö³É¶àÐÐÊéд£¬Ã¿ÌõÓï¾äÒԷֺŽáÊø£¬ endmoduleÓï¾äºóÃæ²»±Øд·ÖºÅ¡£

3.2.2 Verilog HDL Êý×ÖÉè¼ÆÖÐÄ£¿éÖй¦ÄܵĻù±¾ÃèÊö·½Ê½

£¨1£©¡¢½á¹¹ÃèÊö·½Ê½: ÃèÊöµç·ÊÇÓÉÄÄЩ»ù±¾Ôª¼þ×é³É,ÒÔ¼°Ï໥Á¬½Ó¹Øϵ¡£ ÄÚÖÃÃż¶Ôª¼þ£¨12¸öÂß¼­ÃÅand or xor not µÈ £©¡¢Óû§×Ô¼º¶¨ÒåµÄÄ£¿é¡£ ÃÅÔª¼þµÄµ÷Óõ÷Óøñʽ£ºÃÅÔª¼þÃû³Æ ʵÀýÃû £¨¶Ë¿ÚÁÐ±í£© ¶àÊäÈëÃŵĶ˿ÚÁбí: £¨Êä³ö¡¢ÊäÈë1¡¢ÊäÈë2¡¢Êä³ö3¡­¡­.£©£» ¶ÔÓÚÈý̬ÃÅÊäÈë¡¢Êä³ö¶Ë¿Ú£ºÊä³ö£¬ÊäÈ룬ʹÄÜ¿ØÖƶˣ©£» ¶ÔÓÚbufºÍnotÊäÈë¡¢Êä³ö¶Ë£º£¨Êä³ö1£¬Êä³ö2£¬Êä³ö3£¬ÊäÈ룩£» £¨2£©¡¢Êý¾ÝÁ÷ÃèÊö·½Ê½: ÒÔ¡°assign¡±¹Ø¼ü×Ö¿ªÍ·µÄÁ¬Ðø¸³ÖµÓï¾ä ¡£ Á¬Ðø¸³ÖµÓï¾äµÄÓ﷨Ϊ: assign #ÑÓʱÁ¿ ±äÁ¿Ãû = ¸³Öµ±í´ïʽ; £¨3£©¡¢ÐÐΪÃèÊö·½Ê½: ÐÐΪÃèÊöÖ¸µç·ÊäÈëÊä³öÐźżäµÄÂß¼­¹Øϵ¡£ £¨4£©¡¢»ìºÏÉè¼ÆÃèÊö·½Ê½: ÐÐΪ¹¦ÄÜÖ÷ҪʹÓùý³ÌÓï¾äÀ´ÃèÊö¡£

3.3 Verilog HDl ÐÐΪÓï¾ä 3.3.1 ¹ý³ÌÓï¾ä

£¨1£©initial ¹ý³ÌÓï¾ä

×÷ÓÃÓëÌص㣺 initialÓï¾äÖ÷ÒªÓÃÓÚ³õʼ»¯ºÍ²¨ÐÎÉú³É,initial ¹ý³Ì¿éÖеÄÓï¾ä˳ÐòÖ´ÐÐÇÒ½öÖ´ÐÐÒ»´Î¡£ Óï·¨¸ñʽ£º initial begin Óï¾ä1; Óï¾ä2; ..... Óï¾än; end ±äÁ¿Ò»¶¨±»ÉùÃ÷ΪregÐÍ¡£

£¨2£©always ¹ý³ÌÓï¾ä

Ìص㣺alwaysÓï¾äºó¸ú×ŵÄÓï¾äÊÇ·ñÖ´ÐУ¬ÔòÒª¿´ËüµÄ´¥·¢Ìõ¼þÊÇ·ñÂú×㣬ÈçÂú×ãÔòÔËÐиÃÓï¾äÒ»´Î£¬Èç²»¶ÏÂú×ãÔò²»¶ÏµØÑ­»·Ö´ÐС£

Óï·¨¸ñʽ£ºalways @ (Ãô¸ÐÐźűí´ïʽ ) ¿éÓï¾ä

3.3.2 ¿éÓï¾ä

14 / 16

´®Ðпébegin_end

´®Ðп飨˳Ðò¿é£©ÓÐÒÔÏÂÌص㣺

1) ¿éÄÚµÄÓï¾äÊÇ°´Ë³ÐòÖ´Ðеģ¬¼´Ö»ÓÐÉÏÃæÒ»ÌõÓï¾äÖ´ÐÐÍêºóÏÂÃæµÄÓï¾ä²ÅÄÜÖ´ÐС£ 2) ÿÌõÓï¾äµÄÑÓ³Ùʱ¼äÊÇÏà¶ÔÓÚÇ°Ò»ÌõÓï¾äÖ´ÐнáÊøµÄʱ¼ä¶øÑԵġ£ 3) Ö±µ½×îºóÒ»ÌõÓï¾äÖ´ÐÐÍ꣬³ÌÐòÁ÷³Ì¿ØÖƲÅÌø³ö¸ÃÓï¾ä¿é¡£ ˳Ðò¿éµÄ¸ñʽÈçÏ£º begin »ò Óï¾ä1; begin:¿éÃû Óï¾ä2; ¿éÄÚÉùÃ÷Óï¾ä £» ..... Óï¾ä1; Óï¾än; Óï¾ä2; end ......

Óï¾än;

3.3.3 ¸³ÖµÓï¾ä end

£¨1£© Á¬Ðø¸³ÖµÓï¾ä

ÒԹؼü×Öassign ¿ªÍ·µÄΪÁ¬Ðø¸³ÖµÓï¾ä£¬Ö÷ÒªÓÃÓÚ¶ÔwireÐͱäÁ¿½øÐи³Öµ¡£ £¨2£© ¹ý³Ì¸³ÖµÓï¾ä

ÓÃÔÚ¹ý³ÌÓï¾äµ±ÖÐ,Ò»°ãÓÃÓÚ¶ÔregÐͱäÁ¿½øÐи³Öµ¡£ ¹ý³Ì¸³ÖµÓÐ×èÈû¸³ÖµºÍ·Ç×èÈû¸³ÖµÁ½ÖÖ·½Ê½¡£ ×èÈû¸³Öµ·½Ê½ ¸³Öµ·ûºÅΪ¡°=¡±¡£ ×èÈû¸³ÖµÓï¾äÖ´ÐеĹý³ÌÊÇ£ºÊ×ÏȼÆËãÓҶ˸³Öµ±í´ïʽµÄÈ¡Öµ£¬È»ºóÁ¢¼´½«¼ÆËã½á¹û¸³Öµ¸ø¡°=¡±×ó¶ËµÄ±»¸³Öµ±äÁ¿¡£Èç¹ûÔÚÒ»¸ö¿éÓï¾äÖУ¬ÓжàÌõ×èÈû¸³ÖµÓï¾ä£¬ÔÚÇ°ÃæµÄ¸³ÖµÓï¾äûÓÐÍê³É֮ǰ£¬ºóÃæµÄÓï¾ä¾Í²»Äܱ»Ö´ÐС£

·Ç×èÈû¸³Öµ·½Ê½ ¸³Öµ·ûºÅΪ¡° < =¡±¡£

·Ç×èÈû¸³Öµ·½Ê½µÄÌصãÊÇ£ºÔÚÕû¸ö¹ý³Ì¿é½áÊøʱ²ÅÍê³É¸³Öµ²Ù×÷¡£Ò»Æ븳ֵ¡£

3.3.4 Ìõ¼þÓï¾ä

£¨1£©If£­elseÓï¾ä (1) if(±í´ïʽ) Óï¾ä;

(2) if(±í´ïʽ) Óï¾ä1 ; else £¨2£©case Óï¾ä Óï¾ä2;

case Óï¾äÓÐÈýÖÖ±íʾ·½Ê½£º 1) case(±í´ïʽ) endcase 2) casez(±í´ïʽ) endcase 3) casex(±í´ïʽ) endcase case·ÖÖ§ÏîµÄÒ»°ã¸ñʽÈçÏÂ: ·ÖÖ§±í´ïʽ: Óï¾ä; ȱʡÏî(defaultÏî): Óï¾ä£»

1£©ÔÚcaseÓï¾äÖУ¬¿ØÖƱí´ïʽÓë·ÖÖ§±í´ïʽµÄÖµÖ®¼äµÄ±È½ÏÊÇÒ»ÖÖÈ«µÈ±È½Ï£¨===£©£¬±ØÐë±£Ö¤Á½ÕߵĶÔӦλȫµÈ¡£

2) casezÓëcasexÓï¾äÊÇcaseÓï¾äµÄÁ½ÖÖ±äÌ壬ÔÚcasezÓï¾äÖУ¬z±»ÈÏΪÊÇÎÞ¹ØÖµ¡£ÔÚcasexÓï¾äÖУ¬ÖµxºÍz¶¼±»ÈÏΪÊÇÎÞ¹Øλ¡£

3£©¿ÉÒÔÓÃ? ×Ö·ûÀ´´úÌæ×Ö·ûx»òz,±íʾÎÞ¹Øλ¡£

15 / 16

(3) if(±í´ïʽ1) Óï¾ä1;

else if(±í´ïʽ2) Óï¾ä2; else if(±í´ïʽ3) Óï¾ä3; ........

else if (±í´ïʽm) Óï¾äm; else Óï¾än;