紫光物联linux登录账号,黑金&紫光,共筑国产FPGA梦——PGL12G 开发板评测(软件篇)…

在上一期jaya小编给大家带来了一款由知名FPGA 开发板厂商黑金出产的,国产FPGA紫光同创PGL12G开发板的硬件部分,在上一期给大家简单的介绍了一下,有兴趣的盆友,可以移步上期硬件部分的测评,这期的测评主要将会对紫光同创的这颗PGL12G进行环境的搭建和Verilog程序例程的综合等等。

OK开始进入正题,作为一款国产的FPGA,肯定是有一个套新的环境,像是Xilinx的开发环境Vivado或者老一些的芯片都是用ISE的,像是Intel的FPGA环境一般Quartus。我们的这颗来自紫光同创的国产FPGA所应用的开环境是Pango Design Suite。当你获取了开发板,自然界就会拿到,板卡对应的环境安装包,如下图。

202cb0e1dc11e780b2c2115496bcc69d.png

然后,小编就遇到了第一个难点,是关于License 配置的问题,License是需要申请的,要得到一个绑定MAC地址的的License文件。License文件有两种Node-locked License(单机版)和Floating License(服务器版)两种,我们个人来用呢,就是用Node-locked License就可以了。

申请的方法,就是在网页申请,网页连接如下:https://www.pangomicro.com/support/License/index.html

66a8887997105468d1636961bd35d536.png

打开软件环境的界面如下图。相对比来说还是比较简洁明了,我们来建立一个project来看看。

883d75853837cc505b165e8dbed2809d.png

然后呢我们要添加Project的Name 根据自己的需求填写就好,Project Type,我们选择RTLProject。

e50a3e771ed2f6cccf597fe489e022cf.png

然后我们要添加Design Source Files,这里呢我们直接创建一个空工程,不添加任何文件。然后是IP部分的选择,Add Existing IP,我们也不会使用到IP,所以直接下一步。

d74bb7041f9fd8955281d9e6b64dd828.png

在之后是让我们来添加约束文件。Add Constraints,一样的,我们现在也没有要添加的约束文件。Part部分这里就是选择我们使用的器件,PGL12G 开发板首先在Family栏里选择Logos系列,Device中选择PGL12G,在 Package栏选择 BG324 ,Speed grade 栏选择-7,这样我们就选中了我们需要的芯片型号。单击NEXT进入下一界面。

4cc25a97b723065956df37b20248d27d.png

OK我们的项目配置已经完成,仔细检查一下我们需要的配置是正确的,没有问题我们Finish。完成我项目的创建。

01b24a9ac3eeec689b88f2f63900b3f1.png

我们来双击Design,来创建我们的工程文件。也就是Verilog代码。

f54a863b79ce18a7fd6bc92dd3abe559.png

完成配置之后,向导会提示您定义I/O 的端口,这里我们可以不定义,后面自己在程序中编写就可以,单击 OK完成。

61959ff5903b9971fd8bff1c4319bab3.png

简单的流水灯,代码如下:

//===========================================================================

// Module name: led_test.v

//===========================================================================

`timescale 1ns / 1ps

module led_test

(

sys_clk, // system clock 50Mhz on board

rst_n, // reset ,low active

led // LED,use for control the LED signal on board

);

//===========================================================================

// PORT declarations

//===========================================================================

input sys_clk;

input rst_n;

output [3:0] led;

//define the time counter

reg [31:0] timer;

reg [3:0] led;

//===========================================================================

// cycle counter:from 0 to 4 sec

//===========================================================================

always @(posedge sys_clk or negedge rst_n)

begin

if (~rst_n)

timer

else if (timer == 32’d199_999_999) //4 seconds count(50M*4-1=199999999)

timer

else

timer

end

//===========================================================================

// LED control

//===========================================================================

always @(posedge sys_clk or negedge rst_n)

begin

if (~rst_n)

led

else if (timer == 32’d49_999_999) //time counter count to 1st sec,LED1 lighten

led

else if (timer == 32’d99_999_999) //time counter count to 2nd sec,LED2 lighten

begin

led

end

else if (timer == 32’d149_999_999) //time counter count to 3nd sec,LED3 lighten

led

else if (timer == 32’d199_999_999) //time counter count to 4nd sec,LED4 lighten

led

end

endmodule

下一步,我们来分配管脚,(PS:这里也是和单片机不同的,一般的话单片机写好C,完成编译就可以download进单片机,而FPGA则是要在固定的工具中进行管脚的指定,才可以进行最后的综合,进而拿到bitfile,烧录进FPGA进行使用),我们打开约束器进行约束,指派管脚。我们选择device,中的IO

2ee776917f5e3bbe3dfff5062ace9608.png

在这里指定好使用的管脚,保存。如下图:

07e8c7579999278bd5a2c122622cc4ee.png

5304381effcbdf1a27227d374bc182bb.png

最后就是下载的过程,单击界面中的“Configuration”按钮,在弹出的对话框中,Boundary Scan的作用是下载程序到 FPGA 中运行;SPI Flash Configuration是将程序固化程序flash 中。

11bded3c73d9fe8888bfa28ac89d4419.png

我们选择下载到FPGA中执行。然后单击Promgram,这样程序就下载到板子中执行了。执行效果见下图:

到这里呢,我们的使用就告一段落,简单来总结下,作为黑金的开发板,配套资源完善,同时PGL12G表现出了国产FPGA的希望,尽管国产FPGA在未来还有好长一段路要走,但是PGL12G也让我们看见国产FPGA的希望,紫光同创于2013年12月正式成立,到20年也仅仅只有7年的发展,与那些FPGA的巨头比较当然是吃亏的,这次紫光同创与黑金合作的开发板,主观感受是面向FPGA的初学者,同时也为我们的FPGA学习之路提供了新的选择。

整体来说PGL12G这块开发板还是很适合初学者入手的,有黑金强大的开发经验和教育背景作为支撑,通过PGL12G开学习FPGA的开发,还是相当不错的。黑金也提供了充足的例程,其中不乏一些高端些的功能,比如透过CMOSSensorOV5640,实现视频数据的采集,再比如通过逻辑单元实现视频数据的边缘检测,通过IP核调用原生的HDMI实现视频的输出等等,整体在学习的角度很全面,基本上由浅入深全部囊括。初学者如果将黑金的资料完整的玩下来,基本上就会对于FPGA会有一个比较深刻的认识。

另外说一些小编自己的感受,整块板卡用下来,无论是板卡的设计,还是开发环境,对于国人习惯来说还是比较友善的。(PS:额除了工程目录不能使用中文名)可以看得出开发环境上紫光同创是上了心的。文档的描述也是十分完善,上手过程会接触到的问题基本都有描述。国产FPGA距离成为FPGA大佬来说,肯定还是有很长的路要走的,但是在走这一段路的路程中,我们可以通过学习了解与紫光同创共同提高进步。

版权声明:本文系电路城原创文章,转载请注明出处!

文章知识点与官方知识档案匹配,可进一步学习相关知识CS入门技能树Linux入门初识Linux24992 人正在系统学习中 相关资源:蓝软件BestRecoveryForOracle碎片级数据恢复软件-Oracle工具类…

来源:孙伟莲

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年4月12日
下一篇 2021年4月12日

相关推荐