AD9361 Evaluation Software配置脚本转换工具

最近在玩一个开源的AD9361项目,AD9361采用纯逻辑配置,不需要ARM或者MicroBlaze。其中,先是用AD9361 Evaluation Software生成配置脚本,再转换成ad9361_lut.v。

在网上查了一圈,有个转换工具叫bit_converter,也有人用python写了转换脚本,但一点下载,都是要收费的。

好在皇天不负有心人,哈哈,我给《AD9361-FM-Radio-Verilog-CMOS-main》的作者发了封邮件,然后在GITHUB上留言,大佬速度回复,并提供了转换的python脚本。

extract.py代码如下:

import re

# with open('default.txt', 'r') as f:
with open('my_lut.txt', 'r') as f:
    for line in f.readlines():
        scan_line = re.search('ad9361_cmd_data[\s]=[\s]{(.*)};', line)
        if scan_line:
            print(scan_line.group(1).strip().replace('\t', ' '))

main.py代码如下:

import re
from art import *

lut_str = "\t\t13'd{:<4d}:\tad9361_cmd_data\t= {{1'b{}, 10'h{}, 8'h{}}};"

tmp = '=' * 50 + '\n'
# tmp += text2art("SITLINV")
# tmp += '=' * 50 + '\n'
tmp += text2art("BRIANSUNE")
tmp += '=' * 50 + '\n'
tmp += 'File Name: ad9361_lut.v' + '\n'
tmp += '=' * 50 + '\n'
tmp += 'Programed By: BrianSune\n'
tmp += 'Contact: briansune@gmail.com\n'

output_str = ''.join('// {}\n'.format(tps) for tps in tmp.split('\n'))
output_str += '\nfunction [18 : 0] ad9361_cmd_data;\n'
output_str += 'input [12 : 0] index;\n'
output_str += '''
begin
    case(index)
        13'd0   :\tad9361_cmd_data\t= {1'b1, 10'h000, 8'h00};
'''

# print(output_str)

lut_idx = 1
output_str2 = ''

check_list = []
wait_list = []

path = r'E:\资料\AD9361 FM RADIO\AD9361-FM-Radio-Verilog-CMOS-main\adi_tool'
# path = r'C:\Users\briansuneZ\Desktop\golden_ad9361_bist_lvds_rx'
# path = r'C:\Users\briansuneZ\Desktop\golden_ad9361_bist_loop_lvds'
path += r'\ad9361_ini'

with open(path, 'r') as f:
    for line in f.readlines():
        wr_re = re.search(r'SPIWrite[\s]+([0-9A-F]+),([0-9A-F]+)[\s]*[/ ]*(.*)', line)
        rd_re = re.search(r'SPIRead[\s]+([0-9A-F]+)[\s]*[/ ]*(.*)', line)
        cal_re = re.search(r'WAIT_CALDONE[\s]+.*[/]+ (.*0x([0-9A-F]+).*)', line)
        if wr_re:
            # print(wr_re.groups())
            tmp_str = lut_str.format(lut_idx, 1, wr_re.group(1), wr_re.group(2))
            if wr_re.group(3):
                tmp_str += '\t// {}'.format(wr_re.group(3))
            tmp_str += '\n'
            output_str2 += tmp_str
            lut_idx += 1
        if rd_re:
            # print(rd_re.groups())
            tmp_str = lut_str.format(lut_idx, 0, rd_re.group(1), '00')
            if rd_re.group(2):
                tmp_str += '\t// {}'.format(rd_re.group(2))
            tmp_str += '\n'
            output_str2 += tmp_str
            check_list.append('{} {}'.format(lut_idx, rd_re.group(2)))
            lut_idx += 1
        if cal_re:
            # print(cal_re.groups())
            tmp_str = lut_str.format(lut_idx, 0, cal_re.group(2), '00')
            tmp_str += '\t// {}\n'.format(cal_re.group(1))
            output_str2 += tmp_str
            check_list.append('{} {}'.format(lut_idx, cal_re.group(1)))
            lut_idx += 1
        if line.strip() == 'ReadPartNumber':
            output_str2 += lut_str.format(lut_idx, 0, '037', '00') + '\t// ReadPartNumber\n'
            check_list.append('{} {}'.format(lut_idx, 'part num'))
            lut_idx += 1

        if line[0:4] == 'WAIT':
            wait_list.append('{} {}'.format(lut_idx - 1, line.strip()))

output_str += output_str2
output_str += lut_str.format(lut_idx, 1, '014', '68')
output_str += '''
    endcase
end
endfunction
'''

# print(output_str)
with open('ad9361_lut.v', 'w') as wf:
    wf.write(output_str)

[print(ck) for ck in check_list]
print('\n\n')
[print(wi) for wi in wait_list]

如果运行报错,要安装一下art,命令如下:

pip install art

最后,向briansune大佬致敬,还是国际友人有开源精神!

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
### 回答1: 要下载AD9361评估软件,你可以按照以下步骤进行操作: 1. 首先,打开ADI(Analog Devices Inc.)官方网站。在网站的搜索栏中输入"AD9361 evaluation software",点击搜索按钮。 2. 在搜索结果中,找到官方提供的AD9361评估软件的下载页面。点击该页面的链接。 3. 在下载页面上,你可能需要先登录你的ADI账户。如果没有账户,你可以在网站上进行注册。 4. 登录后,你将可以看到AD9361评估软件的详细信息。阅读软件描述以及兼容的操作系统和硬件要求。 5. 一旦确认满足软件要求,点击下载按钮。可能需要选择具体的操作系统版本和压缩格式。 6. 下载完成后,你可以解压缩软件文件,并按照软件提供的安装指南进行安装。 7. 安装完成后,打开软件,并按照软件的用户手册或指南进行操作和配置。 需要注意的是,下载和安装AD9361评估软件之前,确保你的计算机满足软件要求,并且先注册ADI账户或登录已有账户。此外,最好提前阅读软件的相关文档,以便更好地理解和使用软件。 ### 回答2: ad9361 evaluation software是一款用于对AD9361芯片进行评估和调试的软件。该芯片是一款高性能、低功耗的射频收发器芯片,广泛应用于无线通信系统中。 要下载ad9361 evaluation software,首先需要访问ADI(Analog Devices Inc.)官方网站。在该网站上,可以找到与AD9361相关的产品页面。然后,找到与AD9361 evaluation software相关的下载页面。 在AD9361 evaluation software下载页面上,可以选择下载适合自己操作系统的版本。一般来说,该软件支持多种操作系统,例如Windows、Linux等。 下载完成后,可以打开安装程序并按照软件安装向导的提示进行安装。安装过程比较简单,只需要选择安装路径和一些其他设置即可。 安装完成后,可以打开ad9361 evaluation software,并连接AD9361评估板到计算机上。该软件提供了丰富的功能,可以通过图形界面进行芯片的配置和调试,包括频率、增益、滤波器等参数的设置。同时,软件也提供了一些示例代码和实验指导,帮助用户更好地理解和使用AD9361芯片。 总的来说,ad9361 evaluation software是一款非常重要的工具,可以帮助用户进行AD9361芯片的评估和调试工作。通过下载并使用该软件,用户可以更好地利用AD9361芯片,推动无线通信系统的发展。 ### 回答3: 想要下载ad9361 evaluation software,首先你需要访问ADI(Analog Devices, Inc.)官方网站。在主页上可以找到一个“产品与技术”或类似的选项,在下拉菜单中选择“无线与射频”,然后找到AD9361产品系列。 在AD9361产品页面上,你会找到关于这款产品的详细信息。在页面的底部通常会有一个“支持与资源”或类似的选项,点击它以进入支持页面。 在支持页面上,你会找到许多有关产品的支持材料,包括datasheet、应用手册和评估工具等。你需要找到适用于你的系统和操作系统的评估软件版本,并确保它与你的开发板兼容。 一旦你找到了合适的评估软件版本,你可以点击下载按钮将其下载到你的计算机。下载完成后,你需要按照安装指南的步骤进行安装。 安装完成后,你可以打开AD9361评估软件,并按照用户手册或使用指南中的说明进行操作和配置。根据你的需求,软件提供了一系列功能和选项,可以帮助你进行AD9361芯片的评估和调试。 总之,如果你想要下载AD9361评估软件,可以通过ADI官方网站找到并下载相关的评估软件版本,然后按照安装指南进行安装,并根据用户手册进行操作和配置。这将帮助你进行AD9361芯片的评估和调试。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值