一两周没有写博客了,年底了比较忙,没有太多时间,明天就是2022年1月1日。明年准备在高云FPGA平台上加大投入,发一个简单示例。
我使用的平台是高云的开发板,DK-START-GW2A18 V2.0的板子,外观如下图
准备在这个板子上实现一个简单的呼吸灯,顺便测试以下逻辑分析仪使用,打开高云软件
界面比较清爽,从这个软件带的库,可以看出它使用Qt-4.8.7开发,其中这两个库都占了300M空间
废话不多说,直接开始创建工程,选择文件-->新建-->FPGA Design Project-->确定
输入工程名字,这里叫fpga_bled,选中工程存放路径,还是要注意不要存放中文路径
选择器件,更具芯片进行选择,这里和quartus差不多
点击下一步完成后,工程创建完毕,下一步创建verilog文件
重新新建文件,新建文件过程和新建工程一样,不过要选Verilog文件选项
输入创建的文件名
输入如下代码
module fpga_bled(
sys_clk ,
sys_reset_n ,
led
);
input sys_clk ;
input sys_reset_n ;
output led ;
//LED 简易呼吸灯
reg [12:0] led_cnt;
reg [13:0] led_pwm;
always @(posedge sys_clk or negedge sys_reset_n)
if(~sys_reset_n) begin
led_pwm <= 0;
led_cnt <= 0;
end else begin
if(~(|led_cnt))
led_pwm <= led_pwm + 1;
led_cnt <= led_cnt + 1;
end
assign led = (led_pwm[12:0] < led_cnt ) ? led_pwm[13] : ~led_pwm[13];
endmodule
非常简单代码,保存后综合,右击synthesize,如下图
接着分配管脚,双击FloorPlanner,会出现新建cst文件,点击确定后,打开管脚分配页面,根据原理图,填入管脚序号
保存后,接着开始布局布线,右击 Place & Router
在DK-START这个板子上,SSPI作为特殊管脚如果要做普通IO需要配置,如果不配值就会如下错误
ERROR (PR2028) : The constrainted location is useless in current package
ERROR (PR2017) : 'sys_reset_n' cannot be placed according to constraint, for the location is a dedicated pin (SSPI)
配置SSPI为普通IO,如下图,右击 Place & Router,选择Configuration
在弹出的Configuration菜单中,选中Dual_Purpose Pin,勾选Use SSPI as regular IO即可
重新布线,成功后,双击Progarm Device打开下载界面
选中正确文件后,点击下载即可,工具栏带绿色三角即为下载按钮
下载完毕后,既可以看到灯在闪烁