伦伦影院久久影视,天天操天天干天天射,ririsao久久精品一区 ,一本大道香蕉大久在红桃,999久久久免费精品国产色夜,色悠悠久久综合88,亚洲国产精品久久无套麻豆,亚洲香蕉毛片久久网站,一本一道久久综合狠狠老

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

基于Vivado的AD9680 FPGA芯片測試

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

掃碼添加小助手

加入工程師交流群

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

在FPGA開發領域,與高速ADC芯片如AD9680協同工作是一項充滿挑戰但又極具樂趣的任務。今天咱們就聊聊基于Vivado平臺,針對AD9680芯片,實現1G采樣率且4通道(lane4)的FPGA測試程序,并且是用Verilog語言來完成哦。

配置AD

初始化設置

首先,我們要對AD9680進行配置。AD9680有一系列的寄存器需要我們去設置,以確保它能按照我們期望的模式工作。下面來看一段簡單的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; // 示例配置值,實際根據需求更改

ad9680_reg_wr <= 1'b1;

end

end

endmodule

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

配置時鐘

生成穩定時鐘

穩定的時鐘對于AD9680準確采樣至關重要。在FPGA中,我們可以使用PLL(鎖相環)來生成所需的時鐘信號。以下是一個簡單的PLL使用示例代碼(這里假設使用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原語實現了一個PLL。clkin是輸入時鐘,我們通過設置CLKFBOUTMULT和CLKOUT0DIVIDE等參數,來調整輸出時鐘clkout的頻率。在這個例子里,假設輸入時鐘clkin周期為10ns,經過PLL配置后,輸出時鐘clkout的頻率將根據我們設置的參數改變。這里CLKFBOUTMULT設置為10,CLKOUT0_DIVIDE設置為10,意味著輸出時鐘頻率與輸入時鐘頻率相同,但實際應用中,你可能需要根據AD9680的1G采樣率需求,靈活調整這些參數,以得到合適的采樣時鐘。

JESD204B接收

協議實現要點

JESD204B是AD9680常用的數據傳輸協議,實現其接收功能是整個測試程序的關鍵部分。下面是一個簡化的JESD204B接收模塊框架代碼:

module jesd204b_rx (

input wire clk,

input wire rst,

input wire [31:0] data_in,

output reg [31:0] data_out

);

// 狀態機狀態定義

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

// 檢測同步信號

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

next_state = SYNC;

end

end

SYNC: begin

// 同步后準備接收數據

next_state = RECEIVE;

end

RECEIVE: begin

data_out = data_in;

// 這里可添加數據處理邏輯,比如解串等

end

endcase

end

endmodule

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

通過以上對AD9680配置、時鐘配置以及JESD204B接收的代碼實現與分析,我們就搭建起了基于Vivado的AD9680 FPGA芯片測試程序的基礎框架。當然,實際應用中還需要根據具體需求進行更多的優化和完善,但希望這些內容能給你的開發工作帶來一些啟發。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • FPGA
    +關注

    關注

    1661

    文章

    22439

    瀏覽量

    637249
  • 芯片測試
    +關注

    關注

    6

    文章

    178

    瀏覽量

    21163
  • 時鐘信號
    +關注

    關注

    4

    文章

    508

    瀏覽量

    30019
  • Vivado
    +關注

    關注

    19

    文章

    858

    瀏覽量

    71208

原文標題:基于Vivado的AD9680 FPGA芯片測試

文章出處:【微信號:gh_9d70b445f494,微信公眾號:FPGA設計論壇】歡迎添加關注!文章轉載請注明出處。

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    Questions for AD9680

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

    國產替代AD9680芯片

    看到國產替代AD9680芯片,分享給大家看看!GM4680_1000_500數據手冊 -.rar (6.81 MB )
    發表于 08-05 23:55

    關于ad9680的時鐘等信號輸入輸出問題

    1.我在查看ad9680的FMC原理圖時,發現SPI的CSB線只有CSB_FPGA_TO_DUT和CSB_FPGA_TO_AD9526,請問用FPGA控制
    發表于 09-24 15:10

    ad9680和zcu102的sysref信號

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

    關于ad9680外圍電路設計

    主要就是ad9680fpga相連就可以,主要是ad9680的外圍電路,不用實現什么功能。
    發表于 06-26 15:48

    AD9680 S-Parameters

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

    AD9680 MATLAB Model

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

    AD9680 S參數

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

    AD9680 MATLAB模型

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

    AD9680 AMI型號

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

    AD9680 MATLAB ADIsimADC

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

    AD9680/AD6674 IBIS型號

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

    AD9680 AMI型號

    AD9680 AMI型號
    發表于 06-03 21:01 ?8次下載
    <b class='flag-5'>AD9680</b> AMI型號

    AD9680德爾福型號

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

    AD9680 AD6674 IBIS型號

    AD9680 AD6674 IBIS型號
    發表于 06-06 19:13 ?8次下載
    <b class='flag-5'>AD9680</b> AD6674 IBIS型號