日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

Verilog数字系统基础设计-数据转换器

發布時間:2024/3/24 windows 48 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Verilog数字系统基础设计-数据转换器 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

緒論

在一些應用中,兩個電路模塊交界處,一個電路模塊的輸出數據位寬大于另一個模塊的輸入數據位寬,此時需要進行數據轉換。例如,在SATA控制器中,內部數據位寬為32比特,但是與外部物理收發器PHY的接口通常為16比特或8比特。同樣的,從PHY接收到的數據也是16比特或8比特,數據交給控制器后,在其內部使用之前轉換為32比特。下面將介紹進行數據寬度轉換的電路,電路中沒有使用FIFO,是通過時鐘分頻與倍頻實現數據位寬轉換和傳輸的。

由寬到窄數據轉換

圖6.30是位寬由寬變窄時的示意圖。6.31是數據轉換波形示意圖。

電路模塊B的工作時鐘為clk2x,在電路模塊A中將其二分頻得到clklX。clk1x與clk2x之間有一個同定的相位 差。根據圖6.30和圖6.31,具體的數據傳輸過程如下:

  • clklx下方的數據datain[31:0]經過clk2x采樣產生datain_sync[31:0],由于clk1x在相位上滯后于clk2x且二者為同步時鐘,因此數據從時鐘域clklx傳遞到時鐘域clk2x時不會存在問題;

  • 在clk2x時鐘域內,當clklx為0時,使用clk2x選擇datain_sync的低16比特,當clklx為1時,選擇datain_sync的高16比特;

  • 完成數據變換,最終輸出dataout_clk2x[15:0]。

代碼及仿真結果如下。

module?wide_to_narrow (clk2x, clklx, datain, dataout_clk2x);input???clk2x; input???clklx; input?[31:?0]???datain; output?[15:?0]???dataout_clk2x; //***************************************reg?[31:0]????datain_sync; reg?[15:0]??dataout_clk2x; wire?[15:0]??dataout_clk2x_nxt;//?Flop?the?data?first?with?clk2x.?Reset?is?not?required?as?it?is?a?datapath?and //?default?(reset)?value?of?the?flops?are?don’t?care. //***************************************always?@(posedge?clk2x) begindatain_sync?<-?datain; end//?Select?the?lower?and?upper?halves?from?datain_sync //***************************************assign?dataout_clk2x_nxt?=?!clk?1?x???datain_sync[15:0]?:datain_sync[31:16];//?Flop?the?selected?16?bit?data?with?clk2x?and?drive?out //***************************************always?@(posedge?clk2x) begindataout_clk2x?<=?dataout_clk2x_nxt; endendmodule

由窄到寬數據轉換

圖6.32和圖6.33是實現由窄到寬數據轉換操作的電路和工作波形。

代碼及仿真結果如下。

module?narrow_to_wide (clk2x, clklx, data16, data32_clk1x);input???clk2x; input???clklx; input?[15:?0]???data16; output?[31:?0]???data32_clk1x; //***************************************reg?[15:0]????data16_tmp; reg?[31:0]??data32_clk1x?data32_clk1x_nxt;/*?store?temporary?data?into?a?register along?with?the?16?bits?of?tmp?data?stored?in?pervious?cycle?to?form?32?bits?of?data. These?32?bits?of?data?is?flopped?with?clklx,?and?this?happens?for?every?two-clock periods?of?clk2x.When?data?is?passed?from?2x?(fast)?to?the?lx?(slow)?domain,?make?sure?that?there?is enough?delay?in?the?data?path?to?avoid?set-up/hold?violation?in?the?immediate?risi edge?of?lx?clock.?The?data?should?have?more?delay?in?the?path?to?pass?beyond immediate?rising?edge?of?1x?clock*///***************************************always?@(posedge?clk2x) begindatal6_tmp?<=?#2?datal?6; end //?Form?the?32-bit?dataassign?data32_clklx_nxt?=?{datal?6[15:0],?data16_tmp[l5:0]}; //?Flop?the?selected?16?bit?data?with?clk2x?and?drive?out always?@(posedge?elklx) begindata32_clklx?<=?data32_clklx_nxt; end endmodule

NOW

學習Xilinx FPGA最好的資料其實就是官方手冊,下表總結了部分手冊的主要介紹內容,關注我,持續更新中......

文件名主標題內容簡單介紹是否有中文版
UG4767 Series FPGAs GTX/GTH ?TransceiversGTX和GTH介紹,PCIe、serdes等學習必備
UG4717 Series FPGAs SelectIO Resources描述 7 系列 FPGA 中可用的 SelectIO資源。
UG1114PetaLinux Tools DocumentatonPetaLinux 工具文檔 參考指南是,V2019.2
UG949UltraFAST 設計方法指南(適用于 Vivado ?Design Suite)賽靈思? UltraFast? ?設計方法是用于為當今器件優化設計進程的一套最佳實踐。這些設計的規模與復雜性需要執行特定的步驟與設計任務,從而確保設計每一個階段的成功開展。依照這些步驟,并遵循最佳實踐,將幫助您以最快的速度和最高的效率實現期望的設計目標是,V2018.1
IP手冊pg057FIFO GeneratorFIFO生成器IP使用手冊
pg104Complex Multiplier復數乘法器IP使用手冊
pg122RAM-Based Shift Register?移位寄存器IP使用手冊

推薦閱讀

【Vivado那些事】如何查找官網例程及如何使用官網例程

【Vivado使用誤區與進階】總結篇

【Vivado那些事】Vivado中常用的快捷鍵(二)其他常用快捷鍵

SystemVerilog數字系統設計_夏宇聞 PDF

圖書推薦|ARM Cortex-M0 全可編程SoC原理及實現

簡談:如何學習FPGA

1202年了,還在使用虛擬機嗎?Win10安裝Ubuntu子系統及圖形化界面詳細教程

Github 上有哪些優秀的 VHDL/Verilog/FPGA 項目

AD936x+ZYNQ搭建收音機(一)

AD936x+ZYNQ搭建OpenWIFI

無招勝有招-Vivado非工程模式下的詳細設計

面試中經常會遇到的FPGA基本概念,你會幾個?

Xilinx FPGA MIPI 接口簡單說明

Vivado ML(機器學習) 2021嘗鮮

推薦一些可以獲取免費的國外的原版書籍(電子版)網站

【Vivado那些事】FPGA的配置方式

FPGA 的重構

淺析FPGA局部動態可重構技術

ISP(圖像信號處理)算法概述、工作原理、架構、處理流程

國產CPU概括

從電子游戲歷史看IC發展的助推劑

80年代電子游戲及電腦游戲的發展歷史

PCIe總線的基礎知識

萬字長文帶你回顧電子游戲的七十多年歷史(完整版)

FPGA中異步復位,同步釋放的理解

OpenFPGA系列文章總結

用Verilog設計一個16 位 RISC 處理器

介紹一些新手入門FPGA的優秀網站(新增)

Verilog數字系統基礎設計-CRC

FPGA 的布局規劃藝術

Verilog數字系統基礎設計-奇偶校驗

建立和保持時間及時序簡單理解

(Xilinx)FPGA中LVDS差分高速傳輸的實現

Xilinx Multiboot實例演示

高速串行通信常用的編碼方式-8b/10b編碼/解碼
Verilog計時(微秒、毫秒和秒)脈沖的產生及同步整形電路

再說System Verilog 與 Verilog 的關系

圖書推薦|一本圖像/視頻處理的強大工具書

Verilog HDL-同步技術

再說System Verilog 與 Verilog 的關系

數模混合信號建模語言Verilog-AMS

數字系統重要指標-吞吐率和時延

總結

以上是生活随笔為你收集整理的Verilog数字系统基础设计-数据转换器的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。