ZedBoard+AD9361_FPGA的PL端纯逻辑(verilog)配置控制9361(二)_将寄存器脚本文件转换成Verilog函数

本文主要是介绍ZedBoard+AD9361_FPGA的PL端纯逻辑(verilog)配置控制9361(二)_将寄存器脚本文件转换成Verilog函数,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在上一章节我们用AD936X Evaluation Software 软件生成了寄存器配的脚本文件FDD,具体内容如下:由于配置内容太多,大部分进行了省略。从配置文件中我们可以查看每个寄存器应该配置的参数,但是并不能直接在FPGA工程中调用,需要对文件格式进行修改,改成function函数形式,可以在工程中直接调用。如果人工一行一行修改,基本不可能,太费事,因此需要找出配置文件的规律,依靠自己编写的程序直接自动转换成我们需要的函数形式。

脚本自动转换程序下载: 百度网盘   提取码:hvgk

//************************************************************
// AD9361 R2 Auto Generated Initialization Script:  This script was
// generated using the AD9361 Customer software Version 2.1.3
//************************************************************
// Profile: Custom
// REFCLK_IN: 40.000 MHzRESET_FPGA	
RESET_DUT	BlockWrite	2,6	// Set ADI FPGA SPI to 20Mhz
SPIWrite	3DF,01	// Required for proper operation
ReadPartNumber
SPIWrite	2A6,0E	// Enable Master Bias
SPIWrite	2A8,0E	// Set Bandgap Trim
REFCLK_Scale	40.000000,1,2	// Sets local variables in script engine, user can ignore
SPIWrite	292,08	// Set DCXO Coarse Tune[5:0].  Coarse and Fine nominal values used with eval system.  Other nominal values may be needed in a customer system
SPIWrite	293,80	// Set DCXO Fine Tune [12:5]
SPIWrite	294,00	// Set DCXO Fine Tune [4:0]
SPIWrite	2AB,07	// Set RF PLL reflclk scale to REFCLK * 2
SPIWrite	2AC,FF	// Set RF PLL reflclk scale to REFCLK * 2
SPIWrite	009,07	// Enable Clocks
WAIT	20	// waits 20 ms//
//
//
//此处省略多行内容
//
//
//
SPIWrite	076,00
//************************************************************
// Setup RSSI and Power Measurement Duration Registers
//************************************************************
SPIWrite	150,0B	// RSSI Measurement Duration 0, 1
SPIWrite	151,00	// RSSI Measurement Duration 2, 3
SPIWrite	152,FF	// RSSI Weighted Multiplier 0
SPIWrite	153,00	// RSSI Weighted Multiplier 1
SPIWrite	154,00	// RSSI Weighted Multiplier 2
SPIWrite	155,00	// RSSI Weighted Multiplier 3
SPIWrite	156,00	// RSSI Delay
SPIWrite	157,00	// RSSI Wait
SPIWrite	158,0D	// RSSI Mode Select
SPIWrite	15C,69	// Power Measurement Duration

配置文件中包含三部分:读寄存器,写寄存器,延迟等待。SPIWrite表示写寄存器,下面表格中都读寄存器。

 根据总结的规律,我编写了一个脚本自动转化软件,可以直接将AD936X Evaluation Software 软件生成的脚本转换成FPGA可以直接调用的Verilog的function函数,加快9361的配置过程。

具体方法如下:双击程序图标

 软件打开界面,点击绿色按钮。

 选择AD936X Evaluation Software 软件生成的脚本文件,即可直接得到转换的Verilog的function函数。

 默认在电脑D盘生成ad9361_lut.v文件,可以将该文件直接调用到FPGA工程即可。

 利用这个转换软件轻松得到我们需要的函数格式。下面就是编写SPI和寄存器的读写状态机文件,将转换的ad9361_lut.v文件中的寄存器值写到ad9361中去,请看博客下一章节。

这篇关于ZedBoard+AD9361_FPGA的PL端纯逻辑(verilog)配置控制9361(二)_将寄存器脚本文件转换成Verilog函数的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/388016

相关文章

Java使用ANTLR4对Lua脚本语法校验详解

《Java使用ANTLR4对Lua脚本语法校验详解》ANTLR是一个强大的解析器生成器,用于读取、处理、执行或翻译结构化文本或二进制文件,下面就跟随小编一起看看Java如何使用ANTLR4对Lua脚本... 目录什么是ANTLR?第一个例子ANTLR4 的工作流程Lua脚本语法校验准备一个Lua Gramm

Linux内核参数配置与验证详细指南

《Linux内核参数配置与验证详细指南》在Linux系统运维和性能优化中,内核参数(sysctl)的配置至关重要,本文主要来聊聊如何配置与验证这些Linux内核参数,希望对大家有一定的帮助... 目录1. 引言2. 内核参数的作用3. 如何设置内核参数3.1 临时设置(重启失效)3.2 永久设置(重启仍生效

IDEA自动生成注释模板的配置教程

《IDEA自动生成注释模板的配置教程》本文介绍了如何在IntelliJIDEA中配置类和方法的注释模板,包括自动生成项目名称、包名、日期和时间等内容,以及如何定制参数和返回值的注释格式,需要的朋友可以... 目录项目场景配置方法类注释模板定义类开头的注释步骤类注释效果方法注释模板定义方法开头的注释步骤方法注

如何在Mac上安装并配置JDK环境变量详细步骤

《如何在Mac上安装并配置JDK环境变量详细步骤》:本文主要介绍如何在Mac上安装并配置JDK环境变量详细步骤,包括下载JDK、安装JDK、配置环境变量、验证JDK配置以及可选地设置PowerSh... 目录步骤 1:下载JDK步骤 2:安装JDK步骤 3:配置环境变量1. 编辑~/.zshrc(对于zsh

售价599元起! 华为路由器X1/Pro发布 配置与区别一览

《售价599元起!华为路由器X1/Pro发布配置与区别一览》华为路由器X1/Pro发布,有朋友留言问华为路由X1和X1Pro怎么选择,关于这个问题,本期图文将对这二款路由器做了期参数对比,大家看... 华为路由 X1 系列已经正式发布并开启预售,将在 4 月 25 日 10:08 正式开售,两款产品分别为华

SQL server配置管理器找不到如何打开它

《SQLserver配置管理器找不到如何打开它》最近遇到了SQLserver配置管理器打不开的问题,尝试在开始菜单栏搜SQLServerManager无果,于是将自己找到的方法总结分享给大家,对SQ... 目录方法一:桌面图标进入方法二:运行窗口进入方法三:查找文件路径方法四:检查 SQL Server 安

shell编程之函数与数组的使用详解

《shell编程之函数与数组的使用详解》:本文主要介绍shell编程之函数与数组的使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录shell函数函数的用法俩个数求和系统资源监控并报警函数函数变量的作用范围函数的参数递归函数shell数组获取数组的长度读取某下的

Python Transformer 库安装配置及使用方法

《PythonTransformer库安装配置及使用方法》HuggingFaceTransformers是自然语言处理(NLP)领域最流行的开源库之一,支持基于Transformer架构的预训练模... 目录python 中的 Transformer 库及使用方法一、库的概述二、安装与配置三、基础使用:Pi

MySQL高级查询之JOIN、子查询、窗口函数实际案例

《MySQL高级查询之JOIN、子查询、窗口函数实际案例》:本文主要介绍MySQL高级查询之JOIN、子查询、窗口函数实际案例的相关资料,JOIN用于多表关联查询,子查询用于数据筛选和过滤,窗口函... 目录前言1. JOIN(连接查询)1.1 内连接(INNER JOIN)1.2 左连接(LEFT JOI

SpringQuartz定时任务核心组件JobDetail与Trigger配置

《SpringQuartz定时任务核心组件JobDetail与Trigger配置》Spring框架与Quartz调度器的集成提供了强大而灵活的定时任务解决方案,本文主要介绍了SpringQuartz定... 目录引言一、Spring Quartz基础架构1.1 核心组件概述1.2 Spring集成优势二、J