基於verilog的分頻器設計(半整數分頻,小數分頻:下)

来源:https://www.cnblogs.com/Gragon/archive/2019/07/12/11174005.html
-Advertisement-
Play Games

第二種方法:對進行奇數倍n分頻時鐘,首先進行n/2分頻(帶小數,即等於(n-1)/2+0.5),然後再進行二分頻得到。得到占空比為50%的奇數倍分頻。下麵講講進行小數分頻的設計方法。 小數分頻:首先講講如何進行n+0.5分頻,這種分頻需要對輸入時鐘進行操作。基本的設計思想:對於進行n+0.5分頻,首 ...


第二種方法:對進行奇數倍n分頻時鐘,首先進行n/2分頻(帶小數,即等於(n-1)/2+0.5),然後再進行二分頻得到。得到占空比為50%的奇數倍分頻。下麵講講進行小數分頻的設計方法。

小數分頻:首先講講如何進行n+0.5分頻,這種分頻需要對輸入時鐘進行操作。基本的設計思想:對於進行n+0.5分頻,首先進行模n的計數,在計數到n-1時,輸出時鐘賦為‘1’,回到計數0時,又賦為0,因此,可以知道,當計數值為n-1時,輸出時鐘才為1,因此,只要保持計數值n-1為半個輸入時鐘周期,即實現了n+0.5分頻時鐘,因此保持n-1為半個時鐘周期即是一個難點。從中可以發現,因為計數器是通過時鐘上升沿計數,因此可以在計數為n-1時對計數觸發時鐘進行翻轉,那麼時鐘的下降沿變成了上升沿。即在計數值為n-1期間的時鐘下降沿變成了上升沿,則計數值n-1只保持了半個時鐘周期,由於時鐘翻轉下降沿變成上升沿,因此計數值變為0。因此,每產生一個n+0.5分頻時鐘的周期,觸發時鐘都是要翻轉一次.

半整數分頻器:計數器是通過上升沿觸發,故在計數為N-1時對計數觸發進行翻轉,時鐘的下降沿變為上升沿,因此計數值為0,所以每產生n+0.5分頻時鐘的周期,觸發時鐘都要翻轉一次。如圖所示,採用異或門和2分頻模塊設計脈衝扣除電路,脈衝扣除是輸入頻率和2分頻輸出相異或的結果。

image

image

複製代碼
module fenpin(clk,rst_n,clk_out);
input clk;
input rst_n;
output clk_out;
reg clk_out2;
wire clk_out1;
reg [1:0] cnt;
reg FB_CLK;
always@(posedge clk_out2,negedge rst_n)
begin if (!rst_n)
FB_CLK<=0;
else
FB_CLK<=~FB_CLK;
end
always@(posedge clk_out1,negedge rst_n)
begin if (!rst_n)
begin
cnt<=0;
clk_out2<=0;
end
else if (cnt==2)
begin
cnt<=0;
clk_out2<=1;
end
else
begin
cnt<=cnt+1'b1;
clk_out2<=0;
end
end
xor xor1(clk_out1,clk,FB_CLK);
wire CLK_OUT_R;
assign CLK_OUT_R=(cnt==1) ? 1'b0:1'b1;
assign clk_out=clk_out2 | CLK_OUT_R;
endmodule

您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 架構雜談《二》 服務化到微服務 1、微服務的產生 隨著互聯網企業的不斷發展,海量用戶發起的大規模、高併發請求是企業不得不面對的,上一篇 架構雜談《一》雜談的SOA服務化系統能夠分解任務,讓每個服務更簡單、職責單一、更易於擴展。但無論是Web Service 還是ESB,都有時代遺留下的問題。 Web ...
  • 一些討論 1. [Python中使用配置文件的最佳實踐][1] 2. [Python中使用配置文件的最好方法][2] 3. [Python符號常量][3] 4. [多種配置文件方案對比][4] [1]: %20%E5%8F%82%E8%A7%81SO%E7%9A%84%E8%AE%A8%E8%AE% ...
  • 1.代碼生成器: [正反雙向](單表、主表、明細表、樹形表,快速開發利器)freemaker模版技術 ,0個代碼不用寫,生成完整的一個模塊,帶頁面、建表sql腳本、處理類、service等完整模塊2.多數據源:(支持同時連接無數個資料庫,可以不同的模塊連接不同數的據庫)支持N個數據源3.阿裡資料庫連 ...
  • 本文為本次系列文章的第一篇,接下來,小編預計用一周的時間,帶大家重新解讀二十三中設計模式。 ...
  • 線程通信的方式 要想實現線程之間的協同, 如: 線程先後執行順序, 獲取某個線程的執行結果等, 涉及線程之間的相互通信, 分為下麵四類 文件共用 網路共用 變數共用 JDK提供的線程協調API 細分為: suspend/resume, wait/notify, park/unpark 文件共用 變數 ...
  • "小菜鳥的個人博客" 模式的起源 模式 起源於建築學。20世紀70年代,哈佛大學建築學博士Christopher Alexander和他的團隊花大約20年,來研究為解決同一個問題而設計出的不同建築結構,從中發現那些高質量設計中的相似性,並且用模式來指代這種相似性; JavaScript是一門 "[1 ...
  • python零基礎系統學習路線圖,Python語言無所不包,能做非常多的事情,適合各類企業的開發工作,學好Python,前途寬廣! python零基礎系統學習路線圖,Python語言無所不包,能做非常多的事情,適合各類企業的開發工作,學好Python,前途寬廣! python零基礎系統學習路線圖,P ...
  • 看過這篇文章,大廠面試你「雙親委派模型」,硬氣的說一句,你怕啥? 讀該文章姿勢 1. 打開手頭的 IDE,按照文章內容及思路進行代碼跟蹤與思考 2. 手頭沒有 IDE,先收藏,回頭看 (萬一哪次面試問了呢) 3. 需要查看和拷貝代碼,點擊文章末尾出「閱讀原文」 文章內容相對較長,所以添加了目錄,如果 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...