dz̸FPGAÑ§Ï°Ö®ÆæÝâ·ÖƵÌåÑé
Ò»¿ªÊ¼ÎÒÊÇ6·ÖƵµÄ»ù´¡ÉÏ×öÁË2±¶ Ƶ£¬½á¹ûÃèÊöÄÚÈݹýÓÚ·±Ëö£¬ÒÔÖÂд×Åд×Å¾Í·ÅÆúÕõ´§£¬Ã»¾Àú¹ýµÃ¶«Î÷ÊDZ಻³öÀ´µÄ¡£»ØÀ´ÔÚÍøÉÏÕÒµ½ÁËÐí¶à½â¾öÆæ¡¢Å¼ÊýµÄ·ÖƵʵÏÖ¡£ËµÊµ»°£¬ÀíÂÛ֪ʶ»¹ÊÇ±È ½Ï¶àµÄ£¬¾ÍÊÇ´úÂëʵÏÖÓÐЩÓû¸ÇÃÔÕã¬ÎҳдÏÂÀ´ÑéÖ¤¼¸ºõ¶¼ÊÇ´íµÄ¡£ºÃÔÚÀíÂÛ֪ʶ·ÖÎö͸³¹£¬¶øºóÎÒ×Ô¼º³¢ÊÔ±àдÁËһϣ¬Ð´ÏÂ×÷Ϊ·ÖÏí¡£
żÊý·ÖƵ£¬ÀýÈç¶þ·ÖƵ£¬¼òµ¥½²¾ÍÊÇÒ»¸öʱÖÓÖÜÆÚµÄ¸ßµçÆ½ºÍÒ»¸öʱÖÓÖÜÆÚµÄµÍµçÆ½¡£Éèreg cnt£¬Ä¬ÈÏһλ£¬Ã¿Ò»¸öʱÖÓÉÏÉýÑØ×Ô¼Ó1£¬ÔòcntµÄµçƽ±ä»¯¾Í¿ÉÒÔ×÷Ϊ¶þ·ÖƵÊä³ö¡£ÓÉ´Ë£¬Éèreg [3:0] cnt£¬Ôòcnt[1],cnt[2],cnt[3]¶ÔÓ¦4/8/16·ÖƵ¡£ÕâЩ²Ù×÷£¬ÎÒÃdz£³£ÔÚledÑÓʱ´¦ÀíÉÏÓõ½¡£
ÓïÑÔÃèÊöÈçÏ£º
module test2_1(clk,rst_n,clk_out2,clk_out4,clk_out8);
input clk;
input rst_n;
output clk_out2;
output clk_out4;
output clk_out8;
reg [2:0]cnt;
always@(posedge clk or negedge rst_n)
if(!rst_n)
cnt <= 3'd0;
else
cnt <= cnt +1'b1;
assign clk_out2 = cnt[0];
assign clk_out4 = cnt[1];
assign clk_out8 = cnt[2];
endmodule
ÁíÀàżÊý·ÖƵÈç6/10/12·ÖƵ£¬¿ÉÔÚǰ3/5/6¸öÕûÊýÖÜÆÚ´¦ÀíÊä³ö¸ß/µÍµçƽ£¬ºó3/5/6¸öÕûÊýÖÜÆÚÈ¡·´£¬²Ù×÷Ïà¶Ô¼òµ¥£¬¿ÉʵÏÖÊä³öΪռ¿Õ±ÈΪ1:1µÄ·ÖƵÐźš£Õ¼¿Õ±È²»µÈµÄÇé¿ö¾Í¸ü¼òµ¥¡£
¹Ø¼üÓïÑÔÃèÊöÈçÏ£º £¨N=6£©
if(cnt < N/2-1)begin
cnt <= cnt + 1'b1;
end
else begin
cnt <= 3'd0;
clk_out <= ~clk_out;
End
ÔÚÉè¼ÆÖУ¬ÎÒ´¦ÀíΪcnt < N/2,»òcntСÓÚµÈÓÚ N/2-1£¬½á¹ûʵÏÖ¾ùΪ8·ÖƵ¡£ÎÒ¿ªÊ¼·ÖÎöcnt < 3,ÄÇcnt¾ÍÖ»ÓÐÈ¡0,1£¬2ΪһÖÖ״̬µÄµç룬¼ÇÂúµ½3ʱ£¬µçλȡ·´£¬cntÇåÁã£¬ÖØ¸´Ö´Ðеõ½Ð§¹û¡£¶øÊÂʵÉÏcnt < N/2-1²ÅÕýÈ·¡£ÎÒѰ˼×ÅÕâÑù²»ÊÇÈ¡ÁË0¡¢1Á½´ÎÊýÂ𡣺óÀ´ÔÚÆæÊý·ÖƵÓöµ½ÀàËÆÎÊÌâ¡£
ÆæÊý·ÖƵռ¿Õ±ÈΪ1:1µÄʵÏֱȽϸ´ÔÓ£¬ÒÔ5·ÖƵΪÀý£¬ÎÒ²ÉÓÃÁ½¸ö¼ÆÊýÆ÷£¬Ò»¸ö¼ÆÊýÆ÷ÔÚʱÖÓÉÏÉýÑØ´¥·¢¼ÆÊý£¬ÁíÒ»¸ö¼ÆÊýÆ÷ÔÚʱÖÓϽµÑØ´¥·¢¼ÆÊý£¨»òclk_n = ~clk£©¡£¸÷×Ô¿ØÖƲúÉúÒ»¸ö5·ÖƵÐźţ¬µ÷½ÚÕ¼¿Õ±ÈΪ3£º2£¨ÈÝÒ×£©¡£µÚÒ»¸ö5·ÖƵ±ÈµÚ¶þ¸ö5·ÖƵ¿ì°ë¸öÖÜÆÚ£¬Á½¸öÐźÅÈ¡»ò£¬ÍêÃÀ½«Õ¼¿Õ±È·ÖÅäΪ1:1£¬Í¨Ë×µã˵£¬¾ÍÊÇ3-0.5 = 2+0.5¡£
´Ëʱ£¬ÎÒÒ²Óöµ½ÁËcnt < N-1ºÍcnt2 == (N-1)/2µÄÎÊÌ⣬ÓÈÆäÊÇcnt2 == (N-1)/2£¬±íÃæÉÏÈÃÎÒÎóÒÔΪÊÇÕ¼¿Õ±ÈΪ2:3£¬µ«ÊÂʵÉÏÊÇÐźÅÕ¼¿Õ±ÈΪ3:2¡£ºóÀ´ÔÚ·ÂÕæÖÐÎÒ¶àÌí¼ÓÁËcntµÄ¼ì²â£¬Ð§¹û¾ÍÃ÷ÏÔ¿´³öÀ´ÁË¡£¶ø¾¿Æä¸ùÔ´ÊÇalwaysÖÐclkÉÏÉýÑØ²ÉÑùÓ븳ֵ¸Ä±äÖ®¼äµÄÏȺó¹ØÏµ£¬¶øÕâÔÚºó·ÂÕæÖÐÂß¼ÑÓʱÄÜÌåÏÖ³öÀ´¡£ÓïÑÔÃèÊö½Ï³¤£¬ÔÚ¸½Â¼ÖгÊÏÖ¡£
ÒòΪÉÏÉýÑØºÍ¸³Öµ¼¸ºõÒ»ÌõÏߣ¬ÎÒûÓлìÏýÊÇÏȲɼ¯»¹ÊÇÏȸ³Öµ£¬¶øÊÇ»á¾À½áÓÚ¶àËãÒ»¸öÖÜÆÚ»òÉÙËãÒ»¸öÖÜÆÚ¡£ÎÒ»¹·¢ÏÖ×Ô¼ºµÄÂß¼Éè¼Æ²»ÊìÁ·µ¼ÖÂÓëÀíÏëЧ¹û»¹ÊÇÓвî¾àµÄ¡£µ÷ÊÔʱ£¬»¨ÔÚÂß¼ÓÅ»¯µÄʱ¼ä½Ï³¤£¬ÁíÍâÔÚºó·ÂÕæÖÐcntʼÖÕΪZ̬£¬²»±ãÓÚÎҹ۲죬ÕâÊÇÎÒµÄÒÉ»ó£¬Ò²ÊǽÓÏÂÀ´Òª½â¾öµÄ°É¡£
&
µç×Ó¹¤³ÌʦµÄÁé¸ÐÉè¼ÆÖ®Ô´
µã»÷ÔÎÄ¿´¸ü¶àÎÄÕÂ
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ ²é¿´ÆÀÂÛ »Ø¸´
"dz̸FPGAÑ§Ï°Ö®ÆæÝâ·ÖƵÌåÑé"µÄÏà¹ØÎÄÕÂ
ÈÈÃÅÎÄÕÂ
- Xilinx FPGAÔÚ»ùÒò×é²âÐòÖеÄÓÅÊÆ - FPGA/ASIC¼¼Êõ -
- ×ÔÖÆCPU£¨ËÄ£©³ÌÐò±àд
- ¹ØÓÚFPGAоƬµÄ¹ÊÊ£¬ÄãÖªµÀ¶àÉÙÄØ£¿ - ¿É±à³ÌÂß¼ -
- MellanoxÍø¿¨Ç¶ÈëXilinx FPGA,ÄÜʵÏÖÍøÂ繦ÄÜÌáËÙ -
- ÐÂ˼¿Æ¼¼ÖúÁ¦°üÀ¨Cortex-A76ºÍMali-G76´¦ÀíÆ÷ÔÚÄÚµÄAr
- À³µÏ˼°ëµ¼ÌåÍÆ³öȫеÄÄ£¿é»¯IPºË£¬ÄÜΪ¿Í»§Ìṩ´´½¨
- FPGA²úÆ·Éý¼¶½ø»÷£¬ÈüÁé˼Èý´óÕ½ÂÔÖúÁ¦¼ÓËÙÊг¡Ôö³¤ -
- ¹ØÓÚFPGAÓëÉî¶ÈѧϰµÄ¹ØÏµÌ½ÎöÏê½â - ¿É±à³ÌÂß¼ -
- Ïë³ÉΪAI¶À½ÇÊÞ£¿±ØÐëÒÔFPGAΪ¼¼ÊõÖ§µã - ¿É±à³ÌÂß¼
- SDSocÈëÃÅÀý×Ó-ʹÓÃMIOÇý¶¯LED - ¿É±à³ÌÂß¼ -