久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3130|回復: 1
打印 上一主題 下一主題
收起左側

發一個任意數分頻的程序

[復制鏈接]
跳轉到指定樓層
樓主
ID:499649 發表于 2019-3-28 09:35 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
本帖最后由 Mystery0724 于 2019-3-28 09:39 編輯

  1. module divide(
  2.                                         clk,
  3.                                         rst_n,
  4.                                         clkout);

  5. input         clk,rst_n;
  6. output        clkout;   

  7. parameter        WIDTH        = 3;         
  8. parameter        N = 5;            

  9. reg         [WIDTH-1:0]        cnt_p,cnt_n;   //cnt_p為上升沿觸發時的計數器,cnt_n為下降沿觸發時的計數器
  10. reg        clk_p,clk_n;     //clk_p為上升沿觸發時分頻時鐘,clk_n為下降沿觸發時分頻時鐘

  11. //上升沿觸發時計數器的控制
  12. always @ (posedge clk or negedge rst_n )         
  13. begin
  14.         if(!rst_n)
  15.                 cnt_p<=0;
  16.         else if (cnt_p==(N-1))
  17.                 cnt_p<=0;
  18.         else cnt_p<=cnt_p+1;            
  19. end
  20.                
  21. always @ (posedge clk or negedge rst_n)
  22. begin
  23.         if(!rst_n)
  24.                 clk_p<=0;
  25.         else if (cnt_p<(N>>1))          //N>>1表示右移一位,相當于除以2去掉余數
  26.                 clk_p<=0;
  27.         else
  28.                 clk_p<=1;               //得到的分頻時鐘正周期比負周期多一個clk時鐘
  29. end

  30.           //下降沿觸發時計數器的控制               
  31. always @ (negedge clk or negedge rst_n)
  32.         begin
  33.                 if(!rst_n)
  34.                         cnt_n<=0;
  35.                 else if (cnt_n==(N-1))
  36.                         cnt_n<=0;
  37.                 else cnt_n<=cnt_n+1;
  38.         end

  39.           //下降沿觸發的分頻時鐘輸出,和clk_p相差半個時鐘
  40. always @ (negedge clk)
  41.         begin
  42.                 if(!rst_n)
  43.                         clk_n<=0;
  44.                 else if (cnt_n<(N>>1))  
  45.                         clk_n<=0;
  46.                 else
  47.                         clk_n<=1;                //得到的分頻時鐘正周期比負周期多一個clk時鐘
  48.         end

  49.           assign clkout = (N==1)?clk:(N[0])?(clk_p&clk_n):clk_p;      //條件判斷表達式
  50.                                                                                                                                                                           //當N=1時,直接輸出clk
  51.                                                                                                                                                                           //當N為偶數也就是N的最低位為0,N(0)=0,輸出clk_p
  52.                                                                                                                                                                           //當N為奇數也就是N最低位為1,N(0)=1,輸出clk_p&clk_n。正周期多所以是相與
  53. endmodule
復制代碼


評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:478456 發表于 2019-7-25 15:06 | 只看該作者
記號一下
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 精品久久一区二区三区 | 特级毛片爽www免费版 | 激情 一区 | 国产精品视频播放 | 久久国产婷婷国产香蕉 | 日本精品一区 | 国产免费色 | 日韩精品三区 | 国产一伦一伦一伦 | 手机在线不卡av | 亚洲在线免费 | 九九热国产精品视频 | 水蜜桃久久夜色精品一区 | 日韩久久综合网 | 91精品国产综合久久久动漫日韩 | 亚洲一区影院 | aaa大片免费观看 | 精品一区二区久久久久久久网站 | 这里只有精品999 | 成人做爰9片免费看网站 | 成人av高清在线观看 | 午夜视频在线视频 | 中文字幕乱码一区二区三区 | 精品国产一级 | 免费一区二区三区 | 国产成人精品免费 | 午夜视频在线免费观看 | 高清18麻豆 | 日韩在线小视频 | 在线观看免费av网站 | 国产精品一区二区三区在线 | 大香网伊人 | 日本不卡高清视频 | 国产精品99久久久久久久vr | 一区二区三区在线观看视频 | 99精品国产一区二区青青牛奶 | 日本成人在线免费视频 | 精品国产一区二区三区久久久四川 | 亚洲国产欧美国产综合一区 | 91精品国产91久久久久久 | 久久这里有精品 |