01使用安路TD开发工具创建FPGA工程

软件版本:Anlogic -TD5.6.1-64bit

操作系统:WIN10 64bit

硬件平台:适用安路(Anlogic)FPGA

登录"米联客"FPGA社区-www.uisrc.com视频课程、答疑解惑!

1.1概述

流水灯以及Helloworld实验是我们首次接触编程必做的实验。我们这里就要完成经典的流水灯实验。通才来说,能够独立完成本实验代表了编程者初步掌握了编程共计的使用和基本的编程能力,已经站在了编程世界的大门口了。

实验目的:

1:掌握基于Anlogic TD开发工具的FPGA工程创建

2:掌握基于Anlogic TD开发工具的FPGA代码新建或添加

3:掌握基于Anlogic TD开发工具的FPGA工程的编译过程

4:掌握基于Anlogic TD开发工具的FPGA PIN脚约束添加方法

5:掌握基于Anlogic TD开发工具的FPGA代码简单时序约束添加方法

6:掌握基于Anlogic TD开发工具的FPGA程序的下载

1.2如何利用TD创建FPGA工程

启动TD软件

创建一个新的空的工程(虽然是国产FPGA厂家,但是目前国内主流FPGA厂家都是采用英文菜单,这个符合FPGA开发的习惯)

Project Name:新建一个fpga工程名,这里米联客的教学类fpga工程统一命名为fpga_prj

Project Path:工程路径设置,这里我们需要根据自己的磁盘和文件管理路径合理设置

Device Family:设置器件的系列,这里设置EG4,因为我们的开发板采用的是EG4D20EG176这颗FPGA芯片

Device Name:设置芯片的名字,这里选择EG4D20EG176

一个空的FPGA工程创建完成后入下图所示

以下是对软件工具的大概介绍更多可以结合具体应用加以理解:

1.3TD创建或者添加代码

首先根据米联客的代码管理规范,在对应的FPGA工程路径下创建uisrc路径,并且创建以下文件夹

01_rtl:放用户编写的rtl代码

02_sim:仿真文件或者工程

03_ip:放使用到的ip文件

04_pin:放fpga的pin脚约束文件或者时序约束文件

05_boot:放编译好的bit或者bin文件(一般为空)

06_doc:放本一些相关文档(一般为空)

1:如何新建FPGA代码文件

右击Hierarchy可以看到弹出的菜单中可以选择新建fpga代码或者添加已经存在的fpga代码

比如新建FPGA代码选择New Source

File Type:如下图所示,可以支持多种编程语言,这里选择verilog

File Name:设置文件名

Location:设置文件路径,这里放到uisrc/01_rtl路径下方便管理

当只有一个文件的时候,默认是Top文件

当有多个文件软件无法确认top文件的时候,可以右击文件名设置

2: 如何移除FPGA代码文件

如果需要移除文件,可以右击文件,选择Remove

3: 如何添加FPGA代码文件

右击Hierarchy可以看到弹出的菜单中可以选择新建fpga代码或者添加已经存在的fpga代码

比如选择Add Source

Source Type:选择添加的程序类型包括:这里选择Design Source

Add files:选择需要添加的文件

Add Directories:选择添加的路径,会把整个路径所有的对应文件添加

添加好后点击OK

添加完成后如下

双击代码,并且编写代码

module run_led#

(

parameter T_INR_CNT_SET = 32'd12_499_999

)

(

 input          sysclk_p,

 input          RSTn_i,

 output [3:0]   LED_o

);

 

reg [3:0]LED_r;

reg[24:0] T_INR_CNT;

 

assign LED_o = LED_r;

 

always @(posedge sysclk_p or negedge RSTn_i)begin

    if(RSTn_i==1'b0)

        T_INR_CNT <= 0;

    else if(T_INR_CNT == T_INR_CNT_SET)

        T_INR_CNT <= 0;

    else

        T_INR_CNT <= T_INR_CNT + 1'b1;  

end

 

always @(posedge sysclk_p or negedge RSTn_i)begin

    if(RSTn_i==1'b0)

        LED_r <= 4'b0111;

    else if(T_INR_CNT == 0)

        LED_r <= {LED_r[0],LED_r[3:1]};

end

   

endmodule  

编写完成后,注意单击保存,扩展快捷键ctrl+s

1.4添加约束文件

TD软件可以通过多种方式添加约束文件

为了可以通过向导定义约束,需要线综合下,双击综合


综合完成后,对应的符合上打了

1:如何通过向导添加

1.1:添加IO约束

利用向导方式,一定要先完成综合,这样软件才能识别出来端口

根据原理图中的定义,正确填写IO号,如下所示:

我们根据原理图填写好Location 以及IOStandard其他默认,对于一些高速应用我们可能还要设置输出输出延迟

Name:信号名字

Direction:IO输入输出方向

Bank:FPGA的IO所在的BANK(FPGA的IO会分布在多个BANK)

Location:IO的具体位置,这也是我们重点需要约束的,这里需要看原理图找到PIN脚定义

IOStandard:IO的电平模式,需要正确设置,一般单端的有LVCMOS33\ LVCMOS25\ LVCMOS18等

DriverStrength:驱动能力,数值越大,驱动能力越强

PullType:上拉下来类型

SlewRate:转换速度,对于低速场合选择SLOW高速场合选择FAST

InDelay:可以手动设置IO输入延迟

OutDelay: 可以手动设置IO输出延迟

DifferentioalPair:差分对

其他一些设置暂时都用不到

设置好后,单击保存,一般选择single Line方式,阅读起来比较简洁

保存Pin脚约束到文件路径uisrc/04_pin,命名为fpga_pin.adc

之后会提示是否添加到本工程,单击YES

可以看到现在已经添加进来了

双击查看文件

1.2:添加时序约束

由于刚刚添加完成PIN脚约束,所以会有以下警告提示单击Continue,由于我们确认代码没修改,因此继续添加

本方案比较简单,我们只添加周期约束

单击Finish完成工程的创建

如果之前没有定义过时序约束文件,会提示保存文件

我们不使用默认的命名,我们修改到路径uisrc/04_pin路径下,并且命名为timing.sdc

最后点击save

可以双击查看约束

2:如何移除约束文件

单击需要移除的约束文件,然后右击

分别移除fpga_pin.adc和timing.sdc文件

3:如何添加已有约束文件

有2个位置都可以添加已经存在的约束文件,一个是project Hierarchy中右击constraint添加,另外一个是在FPGA Flow中双击User Constraints中的Add ADC file和Add SDC File

右击constraint添加PIN脚约束文件

右击constraint添加时序约束文件

1.5工程编译

1:一键编译

完成编译后如下

2:查看控制台报告

3:查看Log Tree报告

4:查看资源利用报告

5:查看时序分析报告

1.6下载演示

1:硬件连接

请确保下载器和开发板已经正确连接,并且开发板已经上电(注意JTAG端子不支持热插拔,而USB接口支持,所以在不通电的情况下接通好JTAG后,再插入USB到电脑,之后再上电,以免造成JTAG IO损坏)

 

2:程序下载

单击下载按钮

可以看到已经识别到芯片,但是请注意,实际芯片是EG4D20EG176,而识别出来的变成了EAGLE_S20_EG176,但是这个不影响我们下载,所以继续。

2.1:下载bit

选择bit文件

选中后单击Run

下载成功

可以看到流水灯开始运行。

2.2:固化到FLASH

在Mode中选择 PROGRAM_FLASH,之后单击RUN

3:运行结果

 

附录:常见问题

1联系方式

米联客官方社区:www.uisrc.com

 

米联客社区FPGA/SOC QQ群:

群1:516869816         群2:543731097

群3:86730608         群4:34215299

 

技术微信:18951232035

技术电话:18951232035

 

官方微信公众号(新微信公众号):

2售后

1、7天无理由退货(人为原因除外)

2、质保期限:本司产品自快递签收之日起,提供一年质保服务(主芯片,比如FPGA 或者CPU等除外)。

3、维修换货,需提供淘宝订单编号或合同编号,联系销售/技术支持安排退回事宜。

售后维修请登录工单系统:https://www.uisrc.com/plugin.php?id=x7ree_service

4、以下情形不属于质保范畴。

A:由于用户使用不当造成板子的损坏:比如电压过高造成的开发板短路,自行焊接造成的焊盘脱落、铜线起皮 等

B:用户日常维护不当造成板子的损坏:比如放置不当导致线路板腐蚀、基板出现裂纹等

5、质保范畴外(上方第4条)及质保期限以外的产品,本司提供有偿维修服务。维修仅收取器件材料成本,往返运 费全部由客户承担。

6、寄回地址,登录网页获取最新的售后地址:https://www.uisrc.com/t-1982.html

3销售

天猫米联客旗舰店:https://milianke.tmall.com

京东米联客旗舰店:https://milianke.jd.com/

官方淘宝1店:https://milianke.taobao.com

官方淘宝2店:https://osrc.taobao.com

 

销售电话:18921033576

 

公司地址:常州溧阳总部:常州溧阳市中关村吴潭渡路雅创高科智造谷10-1幢楼

南京研发基地:南京市栖霞区仙林大道181号5幢1820室

4在线视频

https://www.uisrc.com/video.html

5软件下载

https://www.uisrc.com/f-download.html

6经验分享

https://www.uisrc.com/f-390.html

7官方博文

https://www.uisrc.com/portal.php?mod=list&catid=35

posted @ 2022-06-30 16:25  米联客(milianke)  阅读(4712)  评论(0编辑  收藏  举报