自动化将IC代码转化成edf文件并实现Vivado Link design

摘要:本文章主要描述如何自动化将IC code通过synplify生成edf文件后,转入Vivado进行Link design,然后生成dcp文件。本文章仅仅是记录本人的整体实现思想

一、背景以及整体流程介绍

由于IC code全部放在服务器A,vivado在服务器B;所以会有一些额外的操作:

1. 先进入服务器A,git pull ic code

通过服务器B访问A的时候需要做免密操作。

2. 找到需要的Filelist

一般ic designer需要提供fpga版本的filelist,必须和FPGA原型验证相关人员统-filelist格式以及filelist的命名规则;

3.根据filelist生成synplify能够运行的“.prj”文件

一般synplify通过图形化界面生成project的时候会生成脚本prj文件。可以根据这个文件完成py脚本;

4.cd到步骤3的“.prj”文件路径下执行synplify
synplify_pro -batch *.prj&& echo'successfully' echo 'failed

5.cd到步骤3的“.prj”文件路径下执行synplify

6.synplify执行完成之后会生成edf文件,找到edf路径文件

7.生成好需要用到的xilinxip,并指定路径

例如:xilinx phy、xilinx ram ip、xilinx dsp

8.生成vivado所需要的tcl文件并souce

需要注意link design

AMD Technical Information Portal

AMD Customer Community

AMD Customer Community

AMD Technical Information Portal

此步骤最后会生成dcp文件(当成ip使用)

# 远程服务器信息
remote_user="yuyushan"
remote_host="10.0.0.103"ssh $remote_user@$remote_host "bash /home/users/yuyushan/yuyushan_97/python/edf103_2_dcp97/iccode2edf_103.sh"cd /data/yuyushan_97/python/edf103_2_dcp97 || exit 1# 读取文件中的目录路径 
directory_path=$(cat /data/yuyushan_97/python/edf103_2_dcp97/gen_syn_prj_path.txt)
last_part=$(basename "$directory_path")
second_last_part=$(dirname "$directory_path" | xargs basename)edf_dir_path="/data/yuyushan_97/$second_last_part/$last_part"
# echo "$edf_dir_path/rev1"python3 /data/yuyushan_97/python/edf103_2_dcp97/gen_link_design_tcl.py $edf_dir_path/rev_1cd /data/yuyushan_97/link_synplify_vivado/ || exit 1sleep 3spwdvivado -mode tcl -source *.tclsleep 5srm -rf *.tcl
gen_synplify_edf_path="/home/users/yuyushan/yuyushan_97/gen_synplify_edf_103/"rsp_s1_top_filelist_fpga="/prj/chips/pvg/venus/yuyushan/jade_venus_3/vobs/ip/rsp/design/rsp_s1_top/"
rsp_s1_filelist_fpga="/prj/chips/pvg/venus/yuyushan/jade_venus_3/vobs/ip/rsp/design/rsp_s1/"
rsp_transpose="/prj/chips/pvg/venus/yuyushan/jade_venus_3/vobs/ip/rsp/design/rsp_transpose/"
rsp_s3="/prj/chips/pvg/venus/yuyushan/jade_venus_3/vobs/ip/rsp/design/rsp_s3/"
rsp_top="/prj/chips/pvg/venus/yuyushan/jade_venus_3/vobs/ip/rsp/design/rsp_top/"file_list=$rsp_s1_top_filelist_fpgasub="/prj/chips/pvg/venus/yuyushan/jade_venus_3/vobs/ip/rsp/design/rsp_s1/sub"
vobs="/prj/chips/pvg/venus/yuyushan/jade_venus_3/vobs"
input_synplify_folder_path="/home/users/yuyushan/yuyushan_97/gen_synplify_edf_103/"cd $vobs
git pull
cd $sub
git pull# 本地 Python 脚本信息
gen_synplify_project="/home/users/yuyushan/yuyushan_97/python/edf103_2_dcp97/gen_synplify_project.py"#使用python生成路径
python3 $gen_synplify_project $file_list $input_synplify_folder_path > /home/users/yuyushan/yuyushan_97/python/edf103_2_dcp97/gen_syn_prj_path.txt# 读取文件中的目录路径
directory_path=$(cat /home/users/yuyushan/yuyushan_97/python/edf103_2_dcp97/gen_syn_prj_path.txt)
echo $directory_path# 切换到目录
cd "$directory_path" || exit 1########################synplify_pro *.prj &sleep 5spwdsynplify_pro -batch *.prj &&  echo 'successfully' || echo 'failed'sleep 5s

具体python代码和脚本代码不会在文章中体现。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/15092.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

HarmonyOs DevEco Studio小技巧29--ArkTS文字如何渐变

这是需求 昨天想了老多方法 一开始以为加上线性渐变这个属性就好了 Entry Component struct TextTest {State message: string 中华人民共和国万岁;build() {RelativeContainer() {Text(this.message).id(TextTestHelloWorld).fontSize(33).fontWeight(FontWeight.Bold).alig…

块设备 - 想进阶的必经之路!

在Linux内核开发的世界中,块设备(Block Device)是一块不可忽视的领域。它承载了文件系统的运行,管理着磁盘存储的核心逻辑,是初学者迈向内核进阶的重要知识点。本篇文章将用通俗易懂的语言,为你揭开块设备的…

高鑫零售实现扭亏为盈,逆市增长的高鑫零售未来何在?

大润发母公司高鑫零售发布截至9月30日的2025财年中期业绩报告:营收347.08亿元人民币,税后溢利1.86亿元,同比增加5.64亿元,实现扭亏为盈,高鑫零售的成绩单我们该如何分析? 首先,整体来看&#x…

AI绘画如何赚钱?分享5个简单,易上手的实用性案例

近年来,人工智能(AI)技术在各个领域都取得了巨大的突破,其中之一就是AI绘画。通过分享一些令人兴奋的应用与变现案例,我们可以深入了解AI绘画的实际应用,以及它如何改变了传统艺术创作和商业模式。 在接下…

如何在 Ubuntu 上安装 RStudio IDE(R语言集成开发环境) ?

RStudio 是一个功能强大的 R 语言集成开发环境(IDE),R 是一种主要用于统计计算和数据分析的编程语言。任何从事数据科学项目或任何其他涉及 R 的类似任务的人,RStudio 都可以使您的工作更轻松。 本指南将引导您完成在 Ubuntu 系统上安装 RStudio 的过程…

C++玩转物联网:认识树莓派Pico

在嵌入式编程的领域中,树莓派Pico、Arduino和ESP32都是广受欢迎的微控制器开发板,但它们在性能、功能和编程语言支持上各有特点。树莓派Pico是树莓派基金会推出的一款高性价比开发板,搭载了RP2040微控制器,支持标准的C库&#xff…

网络基础 - 网段划分篇

我们知道,IP 地址(IPv4 地址)由 “网络标识(网络地址)” 和 “主机标识(主机地址)” 两部分组成,例如 192.168.128.10/24,其中的 “/24” 表示从第 1 位开始到多少位属于网络标识,那么,剩余位就属于主机标识了&#xf…

当微软windows的记事本被AI加持

1985年,微软发布了Windows 1.0,推出了一款革命性的产品:记事本(Notepad)。这款软件旨在鼓励使用一种未来主义的新设备——鼠标,并让人们可以不依赖VI等键盘工具就能书写文本和编写代码。记事本因其简洁和高…

FastGPT + Dify,本地知识库快速部署!

本文主要内容 本地部署 Dify、FastGPT、OllamaDify、FastGPT 对接一些目前免费的 LLM 大语言 AI 模型Dify、FastGPT 对接 Ollama 本地模型 大家好,我是一名喜欢在家折腾本地部署的开发者,这次我来分享如何在本地运行 Ollama,并将它与 FastG…

黄仁勋对话孙正义:日本的AI新饼、Arm的AI野心与英伟达的东亚新机会

2020 年的软银世界大会上,孙正义与黄仁勋围绕「What’s Next for AI」展开了一次围炉对谈。黄仁勋穿着标志性的皮夹克坐在火堆旁,畅谈了将 Arm 纳入麾下的重要价值,孙正义也毫不吝啬赞美之词,称老黄在未来 10 年会达到史蒂夫 乔布…

什么是邻道泄露抑制比(ACLR)

今天和大家一起学习交流下邻道泄露抑制比(ACLR)指标,看看是否 让你产生一些新的灵感。 什么是ACLR? 邻道泄露抑制比是用于衡量下行的发射性能,是主信道的发射功率与测得的相邻信道的功率之比。ACLR值越低,表示相临信道的功率的干扰越小,说明系统的性能越好。一般用dB…

VMware和CentOS 7.6 Linux操作系统的安装使用

1. 安装VMware 安装VMware之前,有些电脑是需要去BIOS里修改设置开启cpu虚拟化设备支持才能安装。如果运气不好在安装过程中安装不了的话就自行百度吧。 打开 VMware 的官网: https://www.vmware.com/ 点击 product,往下滑找到 see desktop hypeerviso…

沈阳乐晟睿浩科技有限公司抖音小店保障

在当今这个数字化时代,电子商务行业以其便捷性、高效性和广泛的覆盖面,成为了推动经济发展的新引擎。沈阳乐晟睿浩科技有限公司,作为这股变革洪流中的佼佼者,凭借其深厚的技术实力、敏锐的市场洞察力和前瞻性的战略布局&#xff0…

学习日志009--面向对象的编程

一、面向对象 面向对象编程(Object-Oriented Programming,简称OOP)是一种编程范式,它使用“对象”来设计应用程序和计算机程序。它利用了抽象、封装、继承和多态这些概念。 一、面向对象编程的核心概念 封装(Encaps…

Sorvall Legend Micro 17 微量离心机产品特性

在科研实验中,微量离心机扮演着至关重要的角色。其中,Thermo Scientific Sorvall Legend MicroCL 17R 微量离心机凭借其出色的性能和紧凑的设计,成为众多科研人员的首选。 这款微量离心机体积小巧,非常适合空间有限的实验室。它支…

Camp4-L2:InternVL 多模态模型部署微调实践

书生浦语大模型实战营第四期:InternVL 多模态模型部署微调实践 教程链接:https://github.com/InternLM/Tutorial/tree/camp4/docs/L2/InternVL视频链接:https://www.bilibili.com/video/BV1nESCYWEnN/任务链接:https://github.co…

Unity内置渲染管线升级URP,使用ShaderGraph

问题描述 在内置渲染管线的工程中,导入之前通过ShaderGraph制作的Shader。 文件不可打开,我们需要升级成URP 过程记录 当前Unity版本 2022.3.49 安装Package 创建配置文件 Assets -> Rendering -> URP Asset 创建成功 修改配置 Edit->P…

MYSQL 修改表的结构

在项目的实际开发中,随着版本的迭代和需求的变更,经常会对表结构进行调整,比如向现有表中添加列,删除列,或者修改某列的列名、数据类型或长度,这时就需要对表进行修改操作。 修改表结构语法 ALTER TABLE t…

夹耳开放式耳机好用吗?夹耳开放式耳机推荐

夹耳式耳机作为开放式耳机的一种,在最近几年里深受大家欢迎。它能够受到大家欢迎的原因主要是其不入耳的特性,既有助于保护听力健康,又能让人尽情享受极致的音乐体验。不过,很多小伙伴不知道夹耳式耳机到底好不好用?夹…

React--》掌握openapi-typescript-codegen快速生成API客户端代码

今天深入探索一个神奇的工具——openapi-typescript-codegen。它不仅能够帮助你快速生成TS代码,还能让你的API请求更加高效、类型安全,让开发者摆脱手动编写冗长请求代码的困扰,专注于实现业务逻辑。接下来让我们一起来了解它的强大功能和使用…