【每周一练】+盘古1K开发板+环境建立与流水灯 - FPGA开发者技术社区 - 电子技术william hill官网 - 广受欢迎的专业电子william hill官网 - 威廉希尔官方网站
分享 收藏 返回

zealsoft 关注 私信
[文章]

【每周一练】+盘古1K开发板+环境建立与流水灯

感谢发烧友爱好者和小眼睛科技公司提供的FPGA测试机会。

一、环境建立

小眼睛科技公司的官网是www.meyesemi.com,在官网上可以找到一些简单的介绍。不过要搭建开发系统,建议关注“小眼睛FPGA”的公众号,同时微信添加客服17665247134,有关开发工具的下载和License的获取都可以从客服那里获得。产品使用方面的问题也可以联系客服咨询。小眼睛科技为其FPGA开发板提供了很多技术资料,但是这些资料无法从其官网下载,所以最好的获取资料的办法就是找客服索要了。客服会提供1K/2K资料的网盘,其中包括了软件使用说明、硬件设计资料和Demo程序。

要开发盘古的FPGA,首先需要安装Pango Design Suite(PDS),激活所需要的License可以向客服索要。软件安装成功后,就可以参考《PDS快速使用手册》建立工程,并进行编译、烧写等工作了。小眼睛科技公司提供的是三合一下载线,该下载线的连接请参考“小眼睛FPGA”微信视频号中的“#紫光同创盘古系列FPGA开发板@盘古1K2K开发板 烧录器下载器 连接教程”。

二、流水灯测试

要实现流水灯的效果,在FPGA中比较简单,8个LED灯的状态对应8个比特的数据,流水操作实际上就是对8位数据进行移位操作。

程序的主要部分为:

`define UD #1

module water_led(
    input          clk,
    input          rstn,
    output [7:0]   led
);

//==============================================================================
//reg and wire
    reg [25:0] led_light_cnt= 26'd0;
    reg [ 7:0] led_status = 8'b0000_0001;
    // time counter
    always @(posedge clk)
    begin
        if(!rstn)
            led_light_cnt <= `UD 26'd0;
        else if(led_light_cnt == 26'd19_999_999)
            led_light_cnt <= `UD 26'd0;
        else
            led_light_cnt <= `UD led_light_cnt + 26'd1; 
    end

    // led status change
    always @(posedge clk)
    begin
        if(!rstn)
            led_status <= `UD 8'b0000_0001;
        else if(led_light_cnt == 25'd19_999_999)
            led_status <= `UD {led_status[6:0],led_status[7]};
    end
    assign led = led_status;

endmodule

我拿到的开发板是1KG的,所以需要修改芯片类型为PGC1KG-6LPG100。

微信图片_20231127215609.png

编译完成后,使用Configuration工具进行下载即可。

微信图片_20231127215615.png

下面的视频就是流水灯实现的效果。

流水灯

回帖(1)

温暖镜头

2023-11-28 16:30:54
感谢老师分享

更多回帖

×
发帖