Menu Close

紫光国产FPGA开发系列(四):PDS工程常用操作技巧

本文为北京慧众科芯电子技术有限公司和智芯融网络大学联合创作,如需转载,请注明:智芯融网络大学和北京慧众科芯电子技术有限公司原创。

北京慧众科芯电子技术有限公司是紫光同创公司CPLD/FPGA产品分销商和技术合作伙伴,可向客户提供紫光同创全系列、高性价比CPLD/FPGA产品,同时可向客户提供器件选型、License申请、原理图设计和审查等售前售后服务,详情欢迎访问:www.hzkxtech.com

 

在前几篇文章里分别介绍PDS的安装和License配置、源代码工程建立、网表工程的建立,至此已经基本掌握了PDS工程的建立过程,在介绍PDS的高级操作技巧,比如添加约束(位置、管脚、时序约束)、布局布线、产生比特(flash)下载文件等之前,首先介绍一些PDS工程里常用且关键的操作技巧。

 

1、使用三方代码编辑工具

PDS还支持使用第三方文本编辑工具,比如Ultraedit,操作方式为点击PDS主界面的EDIT菜单,选择Preferences->Integrated Tools,然后选择第三方文本编辑器可执行文件的路径。

%title插图%num

图1:使用第三方代码编辑工具

 

输入完成后,点击OK,此时再返回到PDS主界面,点击代码文件将直接启动第三方文本编辑工具进行编辑。

 

2、PDS辅助代码开发工具-语言模板的调用

为了方便用户编程开发,PDS还为用户提供了丰富的语言模板功能。通过PDS主界面Tools->Language Templates,可以打开语言模板(含原语)。

语言模板分4个文件夹,分别是Tcl、UCF、VHDL和Verilog;其中Tcl、UCF目录以及VHDL、Verilog目录中除GTP Templates之外的目录均为PDS常用的脚本、约束和常用编程语言模板。Tcl目录包含了PDS所支持的常用脚本语句,比如添加约束、添加源文件、添加软逻分等;UCF目录下包含添加PCE和UCE常用的约束语句,包括区域定义、位置约束、管脚约束、时钟约束、IO管脚约束等语句的示例。

以时钟约束语句为例,点击UCF->PCE->Timing Constraints->Clocks->Create Clocks,PDS界面右侧将显示时钟约束的语句,将该语句拷贝到用户的物理约束约束.pcf文件中,即可直接使用。

%title插图%num

图2:PCF时钟约束语句

VHDL和Verilog目录下除GTP_Templates之外为两种编程语言的常用语句,以Verilog目录下的Synthesis Constructs为例,点击该目录下的Async & sync High Reset,PDS右侧界面将显示异步高电平复位下的时钟上升沿的Always语句,用户将上述代码拷贝到工程里即可直接使用。

%title插图%num

图3:Verilog的Always语句示例

 

3、调用紫光同创提供的器件原语

对于紫光同创的CPLD/FPGA,厂家还提供了丰富的器件原语,包括IO、时钟、RAM、FIFO、BUF、触发器、查找表等,用户通过调用这些的器件,可以实现诸如全局时钟(GTP_BUFG)、区域时钟(CLK_BUFR)、接口延迟(IO delay)、存储器、LVDS等底层硬件接口和逻辑。

原语的操作路径与语言模板的位置相同,相关的语句都在VHDL和Verilog两个目录中,用户可根据使用的编程语言来选择其中的原语。器件端口和内部逻辑单元相关的原语存方在GTP Templates目录下,比如CLK_BUFG、RAM、FIFO、APM、INBUFG、INBUFGDS、OUTBUFDS、DFF、LUT等;

点击任意一个原语的名字,界面右侧将出现调用该原语的代码,用户可直接将该代码拷贝到工程中使用。以全局时钟为例,点击Verilog->GTP Templates->GTP_CLKBUFG,PDS界面右侧将显示全局输入时钟的调用语句,其中CLKIN为输入时钟信号名称,CLKOUT为连接到全局时钟网络的时钟信号输出,用户可直接将上述语句拷贝到代码中使用。

%title插图%num

图4:全局时钟语句示例

GTP Templates目录几乎包含了器件相关的全部原语,包括ADC,各种时钟输入和控制、触发器、高速接口(HSST)、RAM、ROM、FIFO等功能,后续如果想到和器件相关的操作,均可以尝试着从该目录中查找是否有原语,这样可以加快用户研发的进度,大大提高研发效率。

Posted in FPGA, FPGA, FPGA, FPGA, FPGA习题库, FPGA硬件资源, 国产FPGA, 开发工具, 开发板, 教材与教案, 文章, 紫光同创

发表评论

相关链接