91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于Vivado的AD9680 FPGA芯片測(cè)試

FPGA設(shè)計(jì)論壇 ? 來源:FPGA設(shè)計(jì)論壇 ? 2026-03-18 11:26 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

基于vivado的ad9680 FPGA芯片測(cè)試1g采樣率lane4 verilog編寫,包括配置ad,配置時(shí)鐘,jesd204b接收

在FPGA開發(fā)領(lǐng)域,與高速ADC芯片如AD9680協(xié)同工作是一項(xiàng)充滿挑戰(zhàn)但又極具樂趣的任務(wù)。今天咱們就聊聊基于Vivado平臺(tái),針對(duì)AD9680芯片,實(shí)現(xiàn)1G采樣率且4通道(lane4)的FPGA測(cè)試程序,并且是用Verilog語言來完成哦。

配置AD

初始化設(shè)置

首先,我們要對(duì)AD9680進(jìn)行配置。AD9680有一系列的寄存器需要我們?nèi)ピO(shè)置,以確保它能按照我們期望的模式工作。下面來看一段簡(jiǎn)單的Verilog代碼示例:

module ad9680_config (

input wire clk,

input wire rst,

output reg [15:0] ad9680_reg_data,

output reg ad9680_reg_wr

);

always @(posedge clk or posedge rst) begin

if (rst) begin

ad9680_reg_data <= 16'h0000;

ad9680_reg_wr <= 1'b0;

end else begin

// 這里開始寫入寄存器配置值

ad9680_reg_data <= 16'h1234; // 示例配置值,實(shí)際根據(jù)需求更改

ad9680_reg_wr <= 1'b1;

end

end

endmodule

在這段代碼里,ad9680config模塊負(fù)責(zé)生成對(duì)AD9680寄存器的寫操作。clk是時(shí)鐘信號(hào),rst用于復(fù)位。當(dāng)復(fù)位信號(hào)有效時(shí),寄存器數(shù)據(jù)和寫信號(hào)都被清零。而在正常工作時(shí),我們會(huì)向ad9680regdata中寫入特定的配置值,并且拉高ad9680reg_wr信號(hào)來完成寄存器寫入。這個(gè)配置值16'h1234只是個(gè)示例,實(shí)際應(yīng)用中,你得根據(jù)AD9680的手冊(cè),設(shè)置正確的寄存器值,比如采樣模式、增益等參數(shù)。

配置時(shí)鐘

生成穩(wěn)定時(shí)鐘

穩(wěn)定的時(shí)鐘對(duì)于AD9680準(zhǔn)確采樣至關(guān)重要。在FPGA中,我們可以使用PLL(鎖相環(huán))來生成所需的時(shí)鐘信號(hào)。以下是一個(gè)簡(jiǎn)單的PLL使用示例代碼(這里假設(shè)使用Xilinx FPGA的原語):

`timescale 1ns / 1ps

module clk_gen (

input wire clk_in,

output wire clk_out

);

(* DONT_TOUCH = "yes" *)

(* USE_POWER_PIN = "yes" *)

(* XILINX_LEGACY_PRIM = "PLL_BASE" *)

PLLE2_BASE #(

.BANDWIDTH("OPTIMIZED"),

.CLKFBOUT_MULT(10),

.CLKFBOUT_PHASE(0.0),

.CLKIN1_PERIOD(10.0),

.CLKOUT0_DIVIDE(10),

.CLKOUT0_DUTY_CYCLE(0.5),

.CLKOUT0_PHASE(0.0),

.DIVCLK_DIVIDE(1)

)

u_PLL (

.CLKFBIN(clk_fb),

.CLKIN1(clk_in),

.RST(1'b0),

.PWRDWN(1'b0),

.CLKOUT0(clk_out),

.CLKFBTOUT(clk_fb),

.LOCKED(locked)

);

endmodule


這段代碼通過PLLE2BASE原語實(shí)現(xiàn)了一個(gè)PLL。clkin是輸入時(shí)鐘,我們通過設(shè)置CLKFBOUTMULT和CLKOUT0DIVIDE等參數(shù),來調(diào)整輸出時(shí)鐘clkout的頻率。在這個(gè)例子里,假設(shè)輸入時(shí)鐘clkin周期為10ns,經(jīng)過PLL配置后,輸出時(shí)鐘clkout的頻率將根據(jù)我們?cè)O(shè)置的參數(shù)改變。這里CLKFBOUTMULT設(shè)置為10,CLKOUT0_DIVIDE設(shè)置為10,意味著輸出時(shí)鐘頻率與輸入時(shí)鐘頻率相同,但實(shí)際應(yīng)用中,你可能需要根據(jù)AD9680的1G采樣率需求,靈活調(diào)整這些參數(shù),以得到合適的采樣時(shí)鐘。

JESD204B接收

協(xié)議實(shí)現(xiàn)要點(diǎn)

JESD204B是AD9680常用的數(shù)據(jù)傳輸協(xié)議,實(shí)現(xiàn)其接收功能是整個(gè)測(cè)試程序的關(guān)鍵部分。下面是一個(gè)簡(jiǎn)化的JESD204B接收模塊框架代碼:

module jesd204b_rx (

input wire clk,

input wire rst,

input wire [31:0] data_in,

output reg [31:0] data_out

);

// 狀態(tài)機(jī)狀態(tài)定義

typedef enum reg [2:0] {

IDLE,

SYNC,

RECEIVE

} jesd_state;

jesd_state current_state, next_state;

always @(posedge clk or posedge rst) begin

if (rst) begin

current_state <= IDLE;

data_out <= 32'h00000000;

end else begin

current_state <= next_state;

end

end

always @(*) begin

next_state = current_state;

case (current_state)

IDLE: begin

// 檢測(cè)同步信號(hào)

if (data_in == 32'hABCD1234) begin // 假設(shè)同步字

next_state = SYNC;

end

end

SYNC: begin

// 同步后準(zhǔn)備接收數(shù)據(jù)

next_state = RECEIVE;

end

RECEIVE: begin

data_out = data_in;

// 這里可添加數(shù)據(jù)處理邏輯,比如解串等

end

endcase

end

endmodule

在這個(gè)模塊中,我們使用狀態(tài)機(jī)來處理JESD204B數(shù)據(jù)接收。IDLE狀態(tài)下,模塊等待同步信號(hào),這里假設(shè)同步字為32'hABCD1234,當(dāng)檢測(cè)到同步字時(shí),進(jìn)入SYNC狀態(tài),然后很快切換到RECEIVE狀態(tài),在該狀態(tài)下接收并處理數(shù)據(jù)。實(shí)際的JESD204B接收會(huì)更復(fù)雜,比如涉及到8B/10B解碼、多通道數(shù)據(jù)對(duì)齊等操作,但這個(gè)框架代碼為我們提供了一個(gè)基本的思路。你需要根據(jù)具體的JESD204B協(xié)議規(guī)范,在RECEIVE狀態(tài)里進(jìn)一步完善數(shù)據(jù)處理邏輯,確保準(zhǔn)確無誤地接收AD9680傳來的數(shù)據(jù)。

通過以上對(duì)AD9680配置、時(shí)鐘配置以及JESD204B接收的代碼實(shí)現(xiàn)與分析,我們就搭建起了基于Vivado的AD9680 FPGA芯片測(cè)試程序的基礎(chǔ)框架。當(dāng)然,實(shí)際應(yīng)用中還需要根據(jù)具體需求進(jìn)行更多的優(yōu)化和完善,但希望這些內(nèi)容能給你的開發(fā)工作帶來一些啟發(fā)。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • FPGA
    +關(guān)注

    關(guān)注

    1661

    文章

    22434

    瀏覽量

    637151
  • 芯片測(cè)試
    +關(guān)注

    關(guān)注

    6

    文章

    177

    瀏覽量

    21159
  • 時(shí)鐘信號(hào)
    +關(guān)注

    關(guān)注

    4

    文章

    508

    瀏覽量

    30019
  • Vivado
    +關(guān)注

    關(guān)注

    19

    文章

    858

    瀏覽量

    71194

原文標(biāo)題:基于Vivado的AD9680 FPGA芯片測(cè)試

文章出處:【微信號(hào):gh_9d70b445f494,微信公眾號(hào):FPGA設(shè)計(jì)論壇】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    Questions for AD9680

    I want to driver AD9680 with DC couple.I find that it is very difficult to handlethe common mode
    發(fā)表于 08-06 06:07

    國產(chǎn)替代AD9680芯片

    看到國產(chǎn)替代AD9680芯片,分享給大家看看!GM4680_1000_500數(shù)據(jù)手冊(cè) -.rar (6.81 MB )
    發(fā)表于 08-05 23:55

    關(guān)于ad9680的時(shí)鐘等信號(hào)輸入輸出問題

    1.我在查看ad9680的FMC原理圖時(shí),發(fā)現(xiàn)SPI的CSB線只有CSB_FPGA_TO_DUT和CSB_FPGA_TO_AD9526,請(qǐng)問用FPGA控制
    發(fā)表于 09-24 15:10

    ad9680和zcu102的sysref信號(hào)

    sysref_to_DUT(在FMC上)和sysref_to_FPGA(在SMA接頭上)。2.ad9680原理圖上有一個(gè)ad9526的ic,但我百度了一下好像沒有ad9526,不知道是什么東西,不知道有沒有知道的朋友3.我看到一個(gè)CSB_
    發(fā)表于 09-25 10:35

    關(guān)于ad9680外圍電路設(shè)計(jì)

    主要就是ad9680fpga相連就可以,主要是ad9680的外圍電路,不用實(shí)現(xiàn)什么功能。
    發(fā)表于 06-26 15:48

    AD9680 S-Parameters

    AD9680 S-Parameters
    發(fā)表于 01-31 13:15 ?3次下載
    <b class='flag-5'>AD9680</b> S-Parameters

    AD9680 MATLAB Model

    AD9680 MATLAB Model
    發(fā)表于 02-01 10:47 ?2次下載
    <b class='flag-5'>AD9680</b> MATLAB Model

    AD9680 S參數(shù)

    AD9680 S參數(shù)
    發(fā)表于 03-23 10:44 ?1次下載
    <b class='flag-5'>AD9680</b> S參數(shù)

    AD9680 MATLAB模型

    AD9680 MATLAB模型
    發(fā)表于 03-23 12:54 ?7次下載
    <b class='flag-5'>AD9680</b> MATLAB模型

    AD9680 AMI型號(hào)

    AD9680 AMI Model
    發(fā)表于 03-24 16:58 ?3次下載
    <b class='flag-5'>AD9680</b> AMI型號(hào)

    AD9680 MATLAB ADIsimADC

    AD9680 MATLAB ADIsimADC
    發(fā)表于 03-24 18:07 ?8次下載
    <b class='flag-5'>AD9680</b> MATLAB ADIsimADC

    AD9680/AD6674 IBIS型號(hào)

    AD9680 / AD6674 IBIS Model
    發(fā)表于 03-24 21:08 ?1次下載
    <b class='flag-5'>AD9680</b>/AD6674 IBIS型號(hào)

    AD9680 AMI型號(hào)

    AD9680 AMI型號(hào)
    發(fā)表于 06-03 21:01 ?8次下載
    <b class='flag-5'>AD9680</b> AMI型號(hào)

    AD9680德爾福型號(hào)

    AD9680德爾福型號(hào)
    發(fā)表于 06-04 12:53 ?2次下載
    <b class='flag-5'>AD9680</b>德爾福型號(hào)

    AD9680 AD6674 IBIS型號(hào)

    AD9680 AD6674 IBIS型號(hào)
    發(fā)表于 06-06 19:13 ?8次下載
    <b class='flag-5'>AD9680</b> AD6674 IBIS型號(hào)