Ò»£¨10·Ö£©£ºx,y,zλ¿íΪ8bit£¬cλ¿íΪ4bit£¬a=1¡¯b1;b=8¡¯h12;Èç¹ûc=~a; x=b+{~a}; y=b+~a; z=b+c;Ôòx,y,zÓÃ2½øÖÆÊý±íʾ·Ö±ðÊǶàÉÙ£¿
¶þ£¨10·Ö£©Óûù±¾Ãŵç·£¨Ó룬»ò£¬·Ç£©»³ö2¸öbitµÄÊý¾ÝÏà¼ÓµÄ¼Ó·¨Æ÷¡£
Èý£¨10·Ö£©Çë²ûÊöÏÂPVTÈýÏîÒòËØ¶ÔÊý×ֵ緵ÄÓ°Ïì ËÄ£º£¨10·Ö£©ÏÂÃæÒ»¶Î×éºÏÂß¼£¬¸Ä´í module select(sel,a,b,c,out); input [1:0] sel; input [1:0] a,b,c; output [2:0] out; reg [2:0] out;
always @(a,b,c) if(sel==2¡¯b00) out=a+b; else if(sel[1]) out=b+c; endmodule Î壺£¨15·Ö£©ÇëÅжÏÒÔϸÅÊöÊÇ·ñÕýÈ·£¬²¢Õë¶Ô´íÎóÃèÊö¼òÊöÔÒò
1£ºÊý×Öµç·Éè¼ÆÖоºÕùºÍðÏÕ»á´øÀ´µç·ÉϵÄë´Ì£¬ÐèÒª¼ÓÈëRCÂ˲¨µç·Â˳ý 2£ºÈç¹ûDFFµÄHoldʱ¼ä²»Âú×㣬ͨ³£¿ÉÒÔͨ¹ý½µµÍʱÖÓÔËÐÐËÙ¶ÈÀ´½â¾ö
3£ºDFFµÄsetupʱ¼äÊǸù¾ÝDFFÓëDFFÖ®¼äµÄʱÐò·¾¶·ÖÎö³öÀ´µÄ£¬°ÑʱÖÓ±äÂý¿ÉÒÔÓÐЧÔö¼ÓDFFµÄsetupʱ¼ä
4£ºÍ¬²½µç·ºÍÒì²½µçÂ·Çø·ÖµÄÖ÷Òª·½Ê½ÊÇ¿´ÊÇ·ñʹÓõÄͬһ¸öʱÖÓ 5.Òì²½resetÐźÅÒòΪºÍʱÖÓÊÇÒì²½µÄ£¬Òò´Ë²»ÐèÒª¼ÓʱÐòÔ¼Êø
Áù£¨15·Ö£©ÏÖÓÐÈçϵ緣¬ÐźÅA£¬B£¬C¶¼ÊÇ1bitÐźţ¬¼ÙÉèÒ»¼¶ÃÅÑÓʱΪ0.5ns£¬×éºÏÂß¼L1¡¢L2µÄÑÓʱ·Ö±ðΪ5¼¶ÃÅÑÓʱ¡¢7¼¶ÃÅÑÓʱ£¨×¢£º²»¿É²ð·Ö£©£»¸÷DFFµÄÑÓʱ£¬SetupºÍHoldʱ¼ä¶¼ÊÇÏ൱ÓÚ1¼¶ÃÅÑÓʱ£»Èç¹ûDºÍEµÈÆäËû·¾¶Îª·Ç¹Ø¼ü·¾¶£¬ÇëÎÊ£º¸Ãµç·×î¸ßËÙ¶ÈΪ¶àÉÙ£¿Èç¹û¸Ãµç·Éè¼ÆÄ¿±ê·Ö±ðÊÇ200MHz£¬¸ÃÈçºÎÐ޸ĵç·£¿
Æß£ºÊ±Ðò±¨¸æ·ÖÎö£º
ÔÀ´ÅĵĿ´²»ÇåÀàËÆÓÚÕâÖÖÀàÐ͵ÄÌâÄ¿£º
ÌâÄ¿£º
£¨1£© ¸Ã·ÖÎö·¾¶µÄʱÖÓÔ¼ÊøÎª¶àÉÙMHz£¿
£¨2£© ¸Ã·¾¶·ÖÎöÊÇ·ñÓÐviolation´æÔÚ£¿Çë¸ø³ö½á¹ûºÍ¼ÆËã¹ý³Ì £¨3£© ¸Ä·ÖÎö·¾¶sign off ×î¿ìÄÜÔËÐÐMhz£¬Çë¸ø³ö¼ÆËã¹ý³Ì
ÕâÊÇÔͼ£º
°Ë£¨15·Ö£©¼ÙÉèijPLLÊäÈëʱÖÓΪ24MHz£¬4bit factor n£¬ÆäÊä³ö¹«Ê½Îª24*£¨n+1£©£¬PLLÔÚ¿ªÆô¼°factor±ä»¯Ê±»á³öÏÖÒ»¶Îʱ¼äµÄÊ§Ëø×´Ì¬£¨Êä³ö²»Îȶ¨£©£¬ÓÃverilogÉè¼ÆÒ»¸ö¼ì²âµç·£¬²úÉúPLLµÄËø¶¨Ðźš£