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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > windows >内容正文

windows

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

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

緒論

在一些應(yīng)用中,兩個(gè)電路模塊交界處,一個(gè)電路模塊的輸出數(shù)據(jù)位寬大于另一個(gè)模塊的輸入數(shù)據(jù)位寬,此時(shí)需要進(jìn)行數(shù)據(jù)轉(zhuǎn)換。例如,在SATA控制器中,內(nèi)部數(shù)據(jù)位寬為32比特,但是與外部物理收發(fā)器PHY的接口通常為16比特或8比特。同樣的,從PHY接收到的數(shù)據(jù)也是16比特或8比特,數(shù)據(jù)交給控制器后,在其內(nèi)部使用之前轉(zhuǎn)換為32比特。下面將介紹進(jìn)行數(shù)據(jù)寬度轉(zhuǎn)換的電路,電路中沒有使用FIFO,是通過時(shí)鐘分頻與倍頻實(shí)現(xiàn)數(shù)據(jù)位寬轉(zhuǎn)換和傳輸?shù)摹?/p>

由寬到窄數(shù)據(jù)轉(zhuǎn)換

圖6.30是位寬由寬變窄時(shí)的示意圖。6.31是數(shù)據(jù)轉(zhuǎn)換波形示意圖。

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

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

  • 在clk2x時(shí)鐘域內(nèi),當(dāng)clklx為0時(shí),使用clk2x選擇datain_sync的低16比特,當(dāng)clklx為1時(shí),選擇datain_sync的高16比特;

  • 完成數(shù)據(jù)變換,最終輸出dataout_clk2x[15:0]。

代碼及仿真結(jié)果如下。

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

由窄到寬數(shù)據(jù)轉(zhuǎn)換

圖6.32和圖6.33是實(shí)現(xiàn)由窄到寬數(shù)據(jù)轉(zhuǎn)換操作的電路和工作波形。

代碼及仿真結(jié)果如下。

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現(xiàn)動(dòng)

學(xué)習(xí)Xilinx FPGA最好的資料其實(shí)就是官方手冊(cè),下表總結(jié)了部分手冊(cè)的主要介紹內(nèi)容,關(guān)注我,持續(xù)更新中......

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

推薦閱讀

【Vivado那些事】如何查找官網(wǎng)例程及如何使用官網(wǎng)例程

【Vivado使用誤區(qū)與進(jìn)階】總結(jié)篇

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

SystemVerilog數(shù)字系統(tǒng)設(shè)計(jì)_夏宇聞 PDF

圖書推薦|ARM Cortex-M0 全可編程SoC原理及實(shí)現(xiàn)

簡(jiǎn)談:如何學(xué)習(xí)FPGA

1202年了,還在使用虛擬機(jī)嗎?Win10安裝Ubuntu子系統(tǒng)及圖形化界面詳細(xì)教程

Github 上有哪些優(yōu)秀的 VHDL/Verilog/FPGA 項(xiàng)目

AD936x+ZYNQ搭建收音機(jī)(一)

AD936x+ZYNQ搭建OpenWIFI

無招勝有招-Vivado非工程模式下的詳細(xì)設(shè)計(jì)

面試中經(jīng)常會(huì)遇到的FPGA基本概念,你會(huì)幾個(gè)?

Xilinx FPGA MIPI 接口簡(jiǎn)單說明

Vivado ML(機(jī)器學(xué)習(xí)) 2021嘗鮮

推薦一些可以獲取免費(fèi)的國(guó)外的原版書籍(電子版)網(wǎng)站

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

FPGA 的重構(gòu)

淺析FPGA局部動(dòng)態(tài)可重構(gòu)技術(shù)

ISP(圖像信號(hào)處理)算法概述、工作原理、架構(gòu)、處理流程

國(guó)產(chǎn)CPU概括

從電子游戲歷史看IC發(fā)展的助推劑

80年代電子游戲及電腦游戲的發(fā)展歷史

PCIe總線的基礎(chǔ)知識(shí)

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

FPGA中異步復(fù)位,同步釋放的理解

OpenFPGA系列文章總結(jié)

用Verilog設(shè)計(jì)一個(gè)16 位 RISC 處理器

介紹一些新手入門FPGA的優(yōu)秀網(wǎng)站(新增)

Verilog數(shù)字系統(tǒng)基礎(chǔ)設(shè)計(jì)-CRC

FPGA 的布局規(guī)劃藝術(shù)

Verilog數(shù)字系統(tǒng)基礎(chǔ)設(shè)計(jì)-奇偶校驗(yàn)

建立和保持時(shí)間及時(shí)序簡(jiǎn)單理解

(Xilinx)FPGA中LVDS差分高速傳輸?shù)膶?shí)現(xiàn)

Xilinx Multiboot實(shí)例演示

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

再說System Verilog 與 Verilog 的關(guān)系

圖書推薦|一本圖像/視頻處理的強(qiáng)大工具書

Verilog HDL-同步技術(shù)

再說System Verilog 與 Verilog 的關(guān)系

數(shù)模混合信號(hào)建模語(yǔ)言Verilog-AMS

數(shù)字系統(tǒng)重要指標(biāo)-吞吐率和時(shí)延

總結(jié)

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

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。