国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【從零開始のIC學習筆記】-跨時鐘域處理

這篇具有很好參考價值的文章主要介紹了【從零開始のIC學習筆記】-跨時鐘域處理。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

前言:

兩個不同時鐘域需要進行跨時鐘同步處理, 不同情況下的處理方式不同,可分為

慢時鐘域到快時鐘域

? ? ? ??單比特

? ? ? ? 多比特

快時鐘域到慢時鐘域

? ? ? ? 單比特

? ? ? ? 多比特

多bit的跨時鐘域處理,無論是快時鐘域到慢時鐘域,還是慢時鐘域到快時鐘域,都可采用異步FIFO的方式:異步FIFO

異步fifo跨時鐘域處理,數(shù)字IC,Verilog,學習

?本文主要介紹單bit的跨時鐘域方法

無論兩個時鐘域情況如何,再確保能夠采樣到數(shù)據(jù)的情況下,從A時鐘域到B時鐘域的信號都需要首先消除亞穩(wěn)態(tài),最后將A時鐘域一個周期的信號恢復至B時鐘域一個周期

異步fifo跨時鐘域處理,數(shù)字IC,Verilog,學習


消除亞穩(wěn)態(tài)

? ? ? ? 消除亞穩(wěn)態(tài)通常的做法是”打兩拍“-兩級同步,根據(jù)工程經驗,打兩拍后,能夠消除99%以上的亞穩(wěn)態(tài)

異步fifo跨時鐘域處理,數(shù)字IC,Verilog,學習

實現(xiàn)代碼如下,需要注意,由DATA_IN到輸出,中間不能有任何組合邏輯

always@(posedge clk_a or negedge rst_n)
    if(!rst_n)
        Q1 <= 1'b0;
    else
        Q1 <= data_in;

always@(posedge clk_b or negedge rst_n)          //b時鐘域同步兩拍
    if(!rst_n) begin 
        Q2  <= 1'b0;
        out <= 1'b0;
    end
    else begin
        Q2  <= Q1;
        out <= Q2;
    end

慢時鐘域到快時鐘域-單bit:? ? ? ??

????????慢時鐘域到快時鐘域,可能會存在重復采樣的問題,因此需要使用邊沿檢測將慢時鐘域一個周期的數(shù)據(jù)同步至快時鐘域的一個周期

? ? ? ? 邊沿檢測的原理:輸出的信號打一拍,當打拍前信號為高電平,打拍后信號為低電平,表示信號由高電平變化為低電平,此時為下降沿;上升沿同理

異步fifo跨時鐘域處理,數(shù)字IC,Verilog,學習???????

always@(posedge clk_a or negedge rst_n)
    if(!rst_n)
        q1  <= 1'b0;
    else
        q1  <= data_in;

always@(posedge clk_b or negedge rst_n)
    if(!rst_n) begin
        q2  <= 1'b0;
        q3  <= 1'b0;
        out <= 1'b0;     
    end
    else begin
        q2  <= q1;
        q3  <= q2;
        out <= q3;
    end

assign out_data_pos = ~q3 && out ;      //上升沿,前為低,后為高
assign out_data_ndg = q3 && ~out ;      //下降沿,前為高,后為低      

快時鐘域到慢時鐘域-單bit:

? ? ? ? 快時鐘域到慢時鐘域,可能出現(xiàn)漏采,導致數(shù)據(jù)丟失的問題,使用脈沖同步器將快時鐘域的一個脈沖信號轉換為電平信號。

異步fifo跨時鐘域處理,數(shù)字IC,Verilog,學習

? ? ? ?異步fifo跨時鐘域處理,數(shù)字IC,Verilog,學習

always@(posedge clk_fast or negedge rst_n)
	if(!rst_n)
		q1 <= 1'b0;
	else
		q1 <= data_in? ~q1:q1;      //將脈沖信號轉換為電平信號,每來一個脈沖,電平進行翻轉

always@(posedge clk_slow or negedge rst_n)
	if(!rst_n)begin
		q2 <= 1'b0;
		q3 <= 1'b0;
		out <= 1'b0;
	end
	else begin	
		q2  <= q1;
		q3  <= q2;
		out <= q3;
	end

assign dataout = out ^ q3;       //得到慢時鐘域的一個周期脈沖信號

總結

? ? ? ? ?跨時鐘與處理:

? ? ? ? 多比特:異步FIFO

? ? ? ? 單比特

? ? ? ? 快到慢——脈沖同步器

? ? ? ? 慢到快——邊沿檢測器文章來源地址http://www.zghlxwxcb.cn/news/detail-621480.html


到了這里,關于【從零開始のIC學習筆記】-跨時鐘域處理的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!

本文來自互聯(lián)網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • FIFO設計筆記(雙口RAM、同步FIFO、異步FIFO)Verilog及仿真

    FIFO設計筆記(雙口RAM、同步FIFO、異步FIFO)Verilog及仿真

    0.1、FIFO FIFO (First-In-First-Out) 是一種先進先出的數(shù)據(jù)緩存器,在數(shù)字ASIC設計中常常被使用。在實際開發(fā)中,多數(shù)都是直接使用公司經過top-out驗證的FIFO IP或者是ISE/Vivado工具自帶的FIFO IP,并不需要自己造輪子。但是,作為設計者,必須要掌握FIFO的設計方法,這樣可以適配于各種

    2023年04月09日
    瀏覽(88)
  • 【從零開始學習JAVA | 第四十六篇】處理請求參數(shù)

    【從零開始學習JAVA | 第四十六篇】處理請求參數(shù)

    ? ? ? ? 在我們之前的學習中,我們已經基本學習完了JAVA的基礎內容,從今天開始我們就逐漸進入到JAVA的時間,在這一大篇章,我們將對前后端有一個基本的認識,并要學習如何成為一名合格的后端工程師。今天我們介紹的內容是:如何在后端處理前端的請求 目錄 前言:

    2024年02月11日
    瀏覽(19)
  • 學習筆記 -- 從零開始學習Android Camera2 -- (1)

    學習一個框架,第一步學習肯定是照著代碼看文檔。 既然要看代碼,就要看最權威的,這里我是代碼是參照https://github.com/android/camera-samples android給的官方示例,結合官方文檔https://developer.android.com/reference/android/hardware/camera2/package-summary來看,所以首先要先看一遍文檔,然后重

    2024年02月03日
    瀏覽(32)
  • 從零開始學習軟件測試-第47天筆記

    yaml yaml是一種所有編程語言都可用的友好的數(shù)據(jù)參數(shù)化標準。 yaml里只能使用字典或列表這兩種數(shù)據(jù)類型。 使用縮進表示層級關系,但只允許使用空格縮進。 縮進時空格的數(shù)量不重要,只要在同一層級數(shù)據(jù)左側對齊即可。 大小寫敏感。 下載yaml模塊 pip install PyYAML yaml的寫法

    2024年02月07日
    瀏覽(42)
  • 從零開始學習軟件測試-第39天筆記

    從零開始學習軟件測試-第39天筆記

    http消息結構 請求報文 請求行 請求方式? url? 協(xié)議版本 請求頭 空行 請求體 響應報文 響應行 協(xié)議版本? 狀態(tài)碼? 狀態(tài)消息 響應頭 空行 響應體 請求參數(shù)類型 path參數(shù) 寫在路徑中的 https://xxx.xxx.com/參數(shù)值 query參數(shù) 寫在url問號后面,以鍵值對形式存在 https://xxx.xxx.com/xx?參數(shù)名

    2024年02月09日
    瀏覽(45)
  • 【Web】從零開始的js逆向學習筆記(上)

    【Web】從零開始的js逆向學習筆記(上)

    目錄 一、逆向基礎 1.1 語法基礎 1.2 作用域 1.3 窗口對象屬性 1.4 事件 二、瀏覽器控制臺 2.1 Network Network-Headers Network-Header-General Network-Header-Response Headers Network-Header-Request Headers 2.2 Sources 2.3 Application 2.4 Console 三、加密參數(shù)的定位方法 3.1 巧用搜索 3.2 堆棧調試 3.3 控制臺調試 3.

    2024年02月21日
    瀏覽(28)
  • 從零開始學ZYNQ(FPGA)筆記二 | 認識學習內容

    從零開始學ZYNQ(FPGA)筆記二 | 認識學習內容

    目錄 1. 認識FPGA 什么是FPGA FPGA的編程過程 ?2. 認識ARM 什么是ARM ARM與FPGA的區(qū)別 ARM與Linux 3. 認識ZYNQ ZYNQ與FPGA的區(qū)別 ZYNQ的\\\"ARM\\\"和\\\"FPGA\\\" 關于PL 關于PS 4. 學習用板載資源 5. 總結 ????????FPGA是一種集成電路,它可以在制造后由客戶或設計者根據(jù)需要配置電路功能 。FPGA的內部由可

    2024年02月08日
    瀏覽(23)
  • C#從零開始的學習筆記(2)運行和開發(fā)環(huán)境

    .NET Framework C#的運行環(huán)境,換句話說就是.NET Framework的運行環(huán)境。Windows7中包含了.NET Framework3.5,windows10中包含了.NET Framework4.6,Windows10 v1703中包含了.NET Framework4.7。安裝visual studio的時候,也會安裝相應版本的.NET Framework。當然,各位讀者也可以自行前往Microsoft官網上下載最新的

    2024年02月08日
    瀏覽(96)
  • 從零開始學習Netty - 學習筆記 - NIO基礎 - ByteBuffer: 簡介和基本操作

    從零開始學習Netty - 學習筆記 - NIO基礎 - ByteBuffer: 簡介和基本操作

    1.1. Channel Buffer Channel 在Java NIO(New I/O)中,“Channel”(通道)是一個重要的概念,用于 在非阻塞I/O操作中進行數(shù)據(jù)的傳輸 。Java NIO提供了一種更為靈活和高效的I/O處理方式,相比于傳統(tǒng)的I/O,它具有更好的性能和可擴展性。 常見的Java NIO中的通道類型: FileChannel(文件通道

    2024年02月20日
    瀏覽(25)
  • 【AI】《動手學-深度學習-PyTorch版》筆記(十二):從零開始實現(xiàn)softmax回歸

    對于圖像算法,每個像素可以視為一個特征,例如圖像的分辨率為28x28,則有784個特征。而且常常將二維的圖像像素矩陣展開為長度為784的向量。 本例中,將使用Fashion-MNIST數(shù)據(jù)集,它是一個服裝分類數(shù)據(jù)集,可以將服裝分為10個類別。 輸入圖像的分辨率為28x28,即特征是長度

    2024年02月13日
    瀏覽(22)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包