0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Efinity软件安装教程与Efinity入门使用教程 大牛手把手教程

XL FPGA技术交流 来源:XL FPGA技术交流 作者: XL FPGA技术交流 2024-05-20 17:10 次阅读

1.软件安装教程

step1:安装Python,注意勾选“Add Python 3.7 to PATH” (2022版本及以后直接跳过该步骤)

注意:从2021.1就不需要单独安装python了,软件安装时会自己安装python3.8,也不需要下载

595d6596-f152-11ee-b759-92fbcf53809c.png

step2:安装efinity。该步骤比较简单,一路选择Next,或者勾选同意。

5973ad9c-f152-11ee-b759-92fbcf53809c.png

stpe3:安装补丁。如果所选择的版本有补丁则安装补丁,如果没有则不必。

如果需要安装补丁,则打开补丁文件夹,运行里面的run.bat文件。

59888fbe-f152-11ee-b759-92fbcf53809c.png

输入y,按任意键退出。

59949d72-f152-11ee-b759-92fbcf53809c.png

如果安装失败,可能是软件没有关闭或者软件没有安装在默认路径下。打开run.bat文件,里面的路径默认是

set DEFAULT_EFINITY_PATH=C:Efinity2022.2。

修改成自己的Efinity软件安装路径即可。

stpe4:安装下载器驱动。注意该步骤要插入下载器才可以检测到相应的下载器信息

(1)打开zadig,

(2)选择Options中list all devices,

(3)勾掉Options中Ignore Hubs or Composite parents

(4)选择相应驱动;

(5)Driver中选择libusbk替换现有驱动;

599bf1a8-f152-11ee-b759-92fbcf53809c.png

另外也可以通过YLS_DL驱动直接安装。这种方式更简单,也是推荐的方式。请参考下载器安装。

注意:zadig的版本使用2.8或者以后的版本,旧的2.5版本会存在更换下载器的USB口需要重新安装驱动的情况。

step5:安装gtkwave

gtkwave的作用是用于在线调试。把gtkwave解压到efinty安装路径下,然后添加环境变量,在变量path中添加gtkwave所在路径,如“C:Efinitygtkwave64bin”保存即可以。

59b4e456-f152-11ee-b759-92fbcf53809c.png

59d87b64-f152-11ee-b759-92fbcf53809c.png

注意:在安装完成Efinity之后,有些电脑在使用软件时可能存在各种问题。请务必按照Efinity Software InstallationUser Guide中的指导安装一些库文件。只要按照下面的要求去安装可以解决大部分问题。

59ebb986-f152-11ee-b759-92fbcf53809c.png

=================================

2、常见问题总结

(1)The installer has encountered an unexpected error installing this package . This may indicate a problem with this package. The error code is 2503

5a889ba2-f152-11ee-b759-92fbcf53809c.png

Python安装过程报错The error code is 2503的解决方案_谷哥的小弟的博客-CSDN博客

网上有一篇 Python安装过程报错The error code is 2503的解决方案 ,原文链接如下:

原文链接:https://blog.csdn.net/lfdfhl/article/details/105639792

(2)zadig安装失败

5a9bae68-f152-11ee-b759-92fbcf53809c.png

5b126cf6-f152-11ee-b759-92fbcf53809c.png

Zadig提示:system policy has been modified to reject unsigned drivers

以管理员身份运行zadig

说明:可能与别的驱动有冲突。

也可能是系统问题。

(3)软件打开时指示IPC 没有连接

安装VC_redist.x64。相应的安装文件可以找FAE或者按照Efinity Software Installation User Guide中提供的链接自行下载。

(4)Efinity软件打不开

可能是安装了自己的字体。

说明(1)完整软件安装过程;

(2)补充软件安装可能存在的问题。

(5)Efinity单独安装programmer报错

报错如下:

Error: could not find USB backend,cannot perfom any USB operations。

5b18c632-f152-11ee-b759-92fbcf53809c.png

最近老是碰到客户单独安装programmer会报错的现象。经过AE提示发现,在efinity-installation.pdf安装文档中也有说明:单独安装programmer时是要安装x86和x64的Microsoft Visual C++

5b318a0a-f152-11ee-b759-92fbcf53809c.png





Efinity入门使用教程

1、 软件预设置 2、新建工程 3、添加源文件 4、添加管脚约束 5、添加GPIO 6、PLL设置 7、添加debug 8、下载 9、仿真 软件预设置。

f8cf483e-f089-11ee-b759-92fbcf53809c.png

f8ea3608-f089-11ee-b759-92fbcf53809c.png

选项 说明
Usereditor 一般软件自带的编辑器功能有限,而外部编辑器功能要强大很多。所以建议大家使用外部编辑器。在User editor中输入编辑器的路径。
Use user editor as default editor for all files。 如果希望每次点击文件时是通过外部编辑器打开的,可以勾选Use user editor as default editor for all files。反之,如果希望使用自带编辑器打开则不用勾选。
Top level project path 指定新建工程目录。
Enable flow data integrity check
Open last project on startup 如果勾选此选择,会打开上次关闭的工程
openfile usingdefault system application
Use lastwindow layoutsetting 使用上次软件关闭时的窗口布局。
Auto-correct Tcl command 在tcl命令窗口中输入命令时可以自动修改存在的错误。
Auto-loadPlace andRoute data 打开软件是自动加载布局布线的数据。建议关闭。
Migrate interfacedesign withdevicechange 修改器件时,interface desiger中的配置也要修改。
EnableIP upgrades prompt on project load 用新版本打开老的软件建的工程时,打开该选项会提示IP需要更新,如果不想更新IP可以关闭这个选项。

点击preference,把Auto-load Place and route data前面的对勾去掉。其目的是为了防止软件打开工程时加载时间太长。 如果需要加载数据可以点击Load Place and Route Data

f9032960-f089-11ee-b759-92fbcf53809c.png

新建工程

Step1:点击设置

Step2:在Top level project path中输入路径

Step3:点击File -> Open Project,路径会指向step2中设置的路径

注意:易灵思的工程名为.xml,而不是.peri.xml,.peri.xml用于存放interface designer中的参数设置。

f91dc536-f089-11ee-b759-92fbcf53809c.png

Stp1:File -->Create Project Stp2:在Project Editor中选择路径并输入工程名 Stp3:选择器件(家族)及速率等级

f9363666-f089-11ee-b759-92fbcf53809c.png

输入top module/Entity 注意:如果没有输入top module名,软件会自己选择top module,编辑结果不正确。

f9450a1a-f089-11ee-b759-92fbcf53809c.png

把retiming和seq_opt设置为0

f96cb894-f089-11ee-b759-92fbcf53809c.png

点击ok,新建工程完成。

添加源文件

方法1:选择Design右击,点击Create 方法2:自己建立文件,添加文件到工程: Stp1:选择Design右击,点击Add

f97ded8a-f089-11ee-b759-92fbcf53809c.png

方法1:选择Design右击,点击Add 方法2:Project Editoràadd file Efinity还可以添加整个文件夹的文件,如图选copy to project

f992762e-f089-11ee-b759-92fbcf53809c.png

管脚约束

这里我们以一个LED点灯为例,代码如下:

f9b7d338-f089-11ee-b759-92fbcf53809c.png

Efinty是通过interface designer工具来设置IO等和外设相关的接口电气属性的。Interface designer操作界面的打开通过下面的Open Interface Desinger来实现。

f9cb931e-f089-11ee-b759-92fbcf53809c.png

Core 与interface的关系

Eifinty采用的把逻辑资源和硬核资源分开的架构,代码部分只针对逻辑资源,也就是我们这里提到的Core,而IO及其他硬核部分的配置在interface Designer工具中。下图是interface与Core的关系,它们之间通过被称作Siganl Interface的连线资源实现互联。

因为习惯问题,使用者在最初一定会存在一些问题,但是习惯之后它也是有不少优势存在的。比如说,在前期的硬件设计中,只需要在Interface Designer中添加已添加的IO及其他需要的硬件接口,并通过一键检测就可以很清楚的知道与外设的连接是否合理,不需要考虑内部因为没有完整的程序而可能被优化的风险。另外有些interface的选项在修改之后可以不需要先编译而直接生成数据流。

f9d83420-f089-11ee-b759-92fbcf53809c.png

interface与core的关系

f9ff5898-f089-11ee-b759-92fbcf53809c.png

interface界面

Bank电压的设置

告诉软件FPGA目前的bank电压,硬件电路的bank电压要和interface中的一致,如果电压设置不一致可能存在长时间运行致使芯片失效。设置位置在Device Setting -->I/O Banks

fa135802-f089-11ee-b759-92fbcf53809c.png

添加GPIO

Step1:右键选择GPIO

Step2:根据选择的是单线还是多线来选择Create Block还是Create Bus

Step3:编辑IO属性,IO属性如下:

选项 选择 说明
Mode Input,
output,
inout,
clkout
Input:把FPGA管脚设置为输入;
Output:把FPGA管脚设置为输出;
Inout:把FPGA管脚设置为双向管脚;
Clkout:把FPGA管脚设置为时钟输出
Connection Type Normal,gclk,pll_clkin,VREF gclk走全局时钟网线,可以驱动PLL也可以直接驱动内部逻辑
用于普通的GPIO;
PLL_CLKIN表示这个IO是用于驱动PLL的;
用于存储器的参考管脚
Register Option None,register 是否添加IO寄存器,推荐添加。
I/O Standard 3.3v,1.8v,1.2V,1.5v 设置IO的电平
Double Data I/O Option None,normal,resync 是否设置IO为双延采样
Clock 当打开IO寄存器时需要添加指定寄存器的时钟
Drive Strength 1,2,3,4 设置输出IO的驱动能力
Enable Slew Rate Yes,no 是否命名能slew rate

fa27f884-f089-11ee-b759-92fbcf53809c.png

右键添加GPIO 针对上面的工程我们的参数设置如下: (1)Mode 设置为input (2) I/O Standard根据所在的Bank来选择电压 Instacne Name: clk Connection Type : pll_clkin

fa4452b8-f089-11ee-b759-92fbcf53809c.png

以arst_n为例 : Mode : input I/O standard :根据所在bank及bank电压设置 Connection Type: normal Register Option: none

fa614198-f089-11ee-b759-92fbcf53809c.png

以4位输出的led为例: (1)Name :o_led (3)位宽从3到0 Mode: output

fa7ffcbe-f089-11ee-b759-92fbcf53809c.png

PLL设置 PLL是FPGA内部常用的配置项。Ti60F225有4个PLL,如下图所示,分别为PLL_BL,PLL_TL,PLL_TR和PLL_BR。

Instance Name 用户定义
PLLResourec
Output ClockInversion on,off 翻转时钟输出
ConnectionType gclk,
rclk
时钟类型
Clock Source External,
Dynamic,Core
External指时钟通过IO驱动;Dynamic:支持多路时钟选择;Core:时钟通参考通过core供给
Automated clock
Calculation
打开时钟计算和设置窗口

fa946ce4-f089-11ee-b759-92fbcf53809c.png

针对上面的工程,我们的参数设置如下: 右击PLL ->add Block Instance Name:根据需要输入 PLL Resource:PL_TR0 Clock Source: external,core,dynamic External Clock :External Clock

fac24fa6-f089-11ee-b759-92fbcf53809c.png

IO分配

fae039c6-f089-11ee-b759-92fbcf53809c.png

点击Show/Hide GPIO Resource Assigner,在Package Pin或者Resoure位置输入管脚。

faef0d0c-f089-11ee-b759-92fbcf53809c.png

检测Interface设计是否存在问题。

fb060426-f089-11ee-b759-92fbcf53809c.png

保存设置,点击Check Design,检查interface是否存在问题。

再点Generate Efinity Constraint Files,我们就可以在Result --> interface下面看到生成一些文件。通过xxx_template.v复制例化接口

fb17a190-f089-11ee-b759-92fbcf53809c.png

添加约束

添加约束的目的是为了告诉FPGA你的设计指标及运行情况。在上面的生成约束之后,在Result àxx.sdc中提供约束参考(请注意该文件不能直接添加到工程中,需要热复制到别的指定目录),对于gclk时钟需要手动添加约束的时钟周期,对于PLL生成的时钟已经约束完整。

编译完成之后可以查看时序报告,也可以通过routing àxx.timing.rpt来查看路径详细延时信息,如果想查看更可以通过指令来打印或者通过print_critical_path来控制打印的路径数量 。

fb372c2c-f089-11ee-b759-92fbcf53809c.png

fb529e80-f089-11ee-b759-92fbcf53809c.png

编译

点击dashboard中Toggle Automated Flow来设置是单步还是全程编译(暗色是单步),下面是综合,布局,布线,生成数据流,stop的相应按键。软件左下角会的编译进行提示编译进程。

fb694b80-f089-11ee-b759-92fbcf53809c.png

添加debug

点击Open Debugger Wizard

(1)设置Buffer Depth

(2)Input Pipeline Stage

(3)Capture control

(4)JTAG USER TAP

(5)修改时钟域

(6)Probe Type

fb8ba90a-f089-11ee-b759-92fbcf53809c.png

fb9b7c04-f089-11ee-b759-92fbcf53809c.png

触发条件的设置

捕获设置:

•触发位置

•分段数量

•窗口尝试

fba515fc-f089-11ee-b759-92fbcf53809c.png

下载程序 配置方式.易灵思的FPGA支持以下几种配置方式。

主动模式(SPI Active)— AS模式 通过SPI专用插座在线烧写FLASH,FLASH离线烧写好了再焊接,FPGA自己主动通过从非易失性的SPI FLASH读取bit流进行加载,支持X1 X2 X4,x8(不同的FPGA支持的位宽有区别)
被动模式(SPI Passive)— PS模式 上位机或者MCU通过SPI接口向FPGA发送bit流文件,对FPGA进行加载 •支持X1 X2 X8 X16 X32
JTAG模式 上位机通过JTAG口将bit流文件发送到FPGA,对FPGA进行加载
SPI Active using JTAG bridge — Bridge模式 通过FPGA的JTAG口烧写和FPGA连接的SPI FLASH

另外需要注意JTAG配置使用bit文件,Flash配置使用hex文件,配置过程中需要注意读取正常的ID,烧写flash可以勾去VerIfy After Programming节省时间

fbd2a526-f089-11ee-b759-92fbcf53809c.png

fbe63974-f089-11ee-b759-92fbcf53809c.png

仿真

易灵思为所有IP提供了仿真模型

以FIFO为例,在工具栏中选择IP Catalog

Open IP Callog ->Memory ->FIFO->以默认参数生成IP 找到IP生成路径下的Testbench文件夹。把modelsim路径转向该文件夹(注意路径方向“/”) 运行do sim.do

fc9289d6-f089-11ee-b759-92fbcf53809c.png

另外 关于interfce Designer接口的仿真模型在路径C:Efinity2023.1ptsim_modelsVerilog下。

fcabd530-f089-11ee-b759-92fbcf53809c.png

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • python
    +关注

    关注

    56

    文章

    4792

    浏览量

    84628
收藏 人收藏

    评论

    相关推荐

    Air780E模组LuatOS开发实战 —— 手把手教你搞定数据打包解包

    本文要说的是低功耗4G模组Air780E的LuatOS开发实战,我将手把手教你搞定数据打包解包。
    的头像 发表于 12-03 11:17 154次阅读
    Air780E模组LuatOS开发实战 —— <b class='flag-5'>手把手</b>教你搞定数据打包解包

    Efinity入门使用-v2

    。 原文标题:Efinity入门使用-v2 文章出处:【微信公众号:易灵思FPG
    的头像 发表于 11-06 15:56 209次阅读

    Efinity入门使用-v3

    Please rerun the flow start from placement"的指示框。如果没有出现则没关关闭成功,需要重启Efinity软件再次关闭一次。八 配置FPGA配置方式.易灵思的FPGA
    的头像 发表于 11-06 15:56 128次阅读

    Efinity入门使用-v4

    was disabled. Please rerun the flow start from placement"的指示框。如果没有出现则没关关闭成功,需要重启Efinity软件再次关闭一次。九 配置FPGA配置方式.易灵思
    的头像 发表于 11-06 15:56 263次阅读

    Efinity软件安装-v5

    DEFAULT_EFINITY_PATH=C:\Efinity\2022.2。修改成自己的Efinity软件安装路径即可。stpe4:
    的头像 发表于 11-01 11:06 240次阅读

    FPGA软件Efinity入门使用-v7

      一、 软件预设置 二、新建工程 三、添加源文件 四、添加管脚约束 五、添加GPIO 六、 PLL设置 七、IPM添加IP 八、 添加debug 九、下载 十、仿真 十一、查看软件版本   一
    的头像 发表于 10-21 18:55 829次阅读
    FPGA<b class='flag-5'>软件</b><b class='flag-5'>Efinity</b><b class='flag-5'>入门</b>使用-v7

    Efinity编译生成文件使用指导-v1

    接上篇: (6)查看Unassigned Core Pins。 在placement下面的palce.rpt文件中搜索 Unassigned C ore Pins就可以看到。它说明这些管脚没有用于内部连接。 大家可以点击这个链接查看上文 Efinity编译生成文件使用指导
    的头像 发表于 08-13 14:22 752次阅读
    <b class='flag-5'>Efinity</b>编译生成文件使用指导-v1

    Efinity debuger常见问题总结-v2

    Efinity在Debug时会出现UUID mismatch错误。很多刚开始使用的人经常遇到。下面我们做一个总结。欢迎遇到案例时共同分享。
    的头像 发表于 07-11 11:39 2159次阅读
    <b class='flag-5'>Efinity</b> debuger常见问题总结-v2

    Efinity RISC-V IDE入门使用-3

    自从新版本的Efinity RISC-V IDE发布之后,这直没有时间操作一下,它为RISC-V ' C '和' c++ '软件开发提供了一个完整、无缝的环境;今天终于安装了,但安装
    的头像 发表于 07-09 08:46 1153次阅读
    <b class='flag-5'>Efinity</b> RISC-V IDE<b class='flag-5'>入门</b>使用-3

    手把手教你排序算法怎么写

    今天以直接插入排序算法,给大家分享一下排序算法的实现思路,主要包含以下部分内容:插入排序介绍插入排序算法实现手把手教你排序算法怎么写在添加新的记录时,使用顺序查找的方式找到其要插入的位置,然后将
    的头像 发表于 06-04 08:03 683次阅读
    <b class='flag-5'>手把手</b>教你排序算法怎么写

    手把手带你移植HAL库函数

    开发者更高效地进行嵌入式开发。手把手带你移植HAL库函数HAL库提供了一套抽象接口,使开发者无需直接操作底层硬件寄存器,就能实现对硬件的控制。这种抽象使得代码能够更
    的头像 发表于 05-18 08:04 1865次阅读
    <b class='flag-5'>手把手</b>带你移植HAL库函数

    国产FPGA应用专题--易灵思Efinity软件使用心得

    并不像大厂,显得差异更大一些。但经过一段时间的使用,我个人认为并不需要因为差异大些就过于排斥,Efinity在使用上并不会麻烦。 接下来我们来聊一下Efinity的一些功能及个人使用感受。主要包括以下几个方面: (1)软件
    的头像 发表于 04-23 15:38 2104次阅读
    国产FPGA应用专题--易灵思<b class='flag-5'>Efinity</b><b class='flag-5'>软件</b>使用心得

    Efinity Interface Designer报错案例-v2

    to efx_pnr... 原因:(1)有些客户使用Win7版本,目前Efinity对Win7的支持不好。建议升级成win10。     (2)杀毒软件删除了文件,实际interface生成约束是没有问题的,客户pnr
    的头像 发表于 04-07 08:41 1336次阅读
    <b class='flag-5'>Efinity</b> Interface Designer报错案例-v2

    Efinity软件安装-v3

    安装python了,软件安装时会自己安装python3.8,也不需要下载。 step2 :安装efini
    的头像 发表于 03-29 08:38 388次阅读

    工程送样!手把手教你用好广和通RedCap模组FG131&amp;amp;FG132系列

    工程送样!手把手教你用好广和通RedCap模组FG131&FG132系列
    的头像 发表于 01-11 18:22 695次阅读
    工程送样!<b class='flag-5'>手把手</b>教你用好广和通RedCap模组FG131&amp;amp;FG132系列