安路EG4S20 FPGA开发板学习记录1

这篇具有很好参考价值的文章主要介绍了安路EG4S20 FPGA开发板学习记录1。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

参加集创赛报名了arm的杯赛,用的是安路科技的EG4S20开发板,基于cortex-M0内核。初赛时什么也不会,研究生的方向是做二维材料,但是想着以后找工作往ic方向靠拢,只能硬着头皮自学。没想到初赛随便交了东西上去竟然进了复赛,本来准备放弃的,现在重新开始一点点学习。
没办法,就从最基础的开始,首先复习了一下Verilog的基本语法,刷了一些HDLbits的题目,然后就跟着硬木课堂的教程开始一点点学。
首先是最简单的流水灯程序,使用安路科技的TD软件进行硬件编写。不过这个编辑器确实不好用,最开始写Verilog代码用的是vs code。
最简单的代码考验基本能力。首先要做流水灯,必须知道会用到哪些东西,基本的LED肯定要有,然后就是时钟信号、复位信号等。开发板上的时钟信号由50MHz的晶振产生,复位信号就是按键sw0。
首先编写基本电路代码

module led8_run(
    input CLK,
    input RESTn,
    output [7:0]LED_Out
);

parameter t100ms = 23'd5000000;  //设置常数用以控制流水灯转换速度
reg [22:0]count;  //用于计数
reg [7:0]rLED_Out;  //用于存储LED输出信号

always@(posedge CLK or negedge RESTn)
    begin
        if(!RESTn)
            begin
                count <= 23'd0;
                rLED_Out <= 8'b0000_0001;
            end
        else if (count == t100ms - 1'b1) 
            begin
                count <= 23'd0;
                if(rLED_Out == 8'b0000_0000)
                    rLED_Out <= 8'b0000_0001;
                else
                    rLED_Out <= {rLED_Out[0],rLED_Out[7:1]};
            end
        else
            count <= count + 1'b1;
    end

    assign LED_Out = rLED_Out;

endmodule

这个代码就是硬木课堂官网开源的代码。我自己学习的时候从上到下分析了一下,在此记录一下分析过程便于以后学习。

module led8_run(
    input CLK,
    input RESTn,
    output [7:0]LED_Out
);

上面这一块不必多说,就是Verilog的模块的开始,定义了输入和输出。

parameter t100ms = 23'd50000000;
reg [22:0]count;  //用于计数
reg [7:0]rLED_Out;  //用于存储LED输出信号

这三行语句分别定义了一个常数和两个寄存器,常数t100ms设置为23位长的十进制5000_000,因为板子的时钟是50MHz,这个t100ms用来制造一个100ms的时间间隔,0.1秒亮一个灯。(因为50MHz即一秒分为50000000份,现在取5000000为一份即可分为10份,就是0.1s)。寄存器count和rled_out用来计数和存led的输出信号。

always@(posedge CLK or negedge RESTn)
    begin
        if(!RESTn)
            begin
                count <= 23'd0;
                rLED_Out <= 8'b0000_0001;
            end
        else if (count == t100ms - 1'b1) 
            begin
                count <= 23'd0;
                if(rLED_Out == 8'b0000_0000)
                    rLED_Out <= 8'b0000_0001;
                else
                    rLED_Out <= {rLED_Out[0],rLED_Out[7:1]};
            end
        else
            count <= count + 1'b1;
    end

这个是主循环

module top_test1(
    CLK,RESTn,LED_Out
);

    input CLK;
    input RESTn;
    output [7:0]LED_Out;

    led8_run ri(
        .CLK(CLK),
        .RESTn(RESTn),
        .LED_Out(LED_Out)
    );

endmodule

上面是例化模块文章来源地址https://www.toymoban.com/news/detail-853000.html

到了这里,关于安路EG4S20 FPGA开发板学习记录1的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【安路FPGA】联合modelsim仿真

    第一在modelsim安装目录下新建一个文件夹Anlogic用来存放TD库文件: 打开modelsim仿真软件,feil→change Directory,选择刚才新建文件目录,在新建一个Library库如图所示: TD库文件al与common是必须要添加的两个库,我的芯片是ph1系列所以添加ph1 在去到这个路径会发现多了三个文件夹,在

    2024年02月08日
    浏览(46)
  • 基于安路FPGA的Cortex M0移植【FPGA】

    这其实是今年上半年参加集创赛安路科技杯时候做的内容,当时忙着考研复习大概做了个框架参赛,没想到还混到一个分赛区二等奖加一次公费旅游,现在保研后闲着写点博客记录下当时碰上的问题。 硬件平台是硬木课堂的安路 EG4S20BG256 核心板,资源一般够用,在这次赛题

    2024年01月21日
    浏览(43)
  • 安路FPGA的赋值报错——移位处理,加括号

    author daisy.skye的博客_CSDN博客-嵌入式,Qt,Linux领域博主 在使用移位符号用来当作除以号使用时,发现如下问题 其中  cnt_8K 为偶数和奇数时输出的数据不一样 但是在实际赋值过程如下代码的输出如下,其中当奇数时会一直输出0 只需要修改添加括号后,输出就正常了

    2024年02月12日
    浏览(36)
  • 【正点原子FPGA连载】 第二十章 LCD触摸屏实验摘自【正点原子】DFZU2EG/4EV MPSoC 之FPGA开发指南V1.0

    1)实验平台:正点原子MPSoC开发板 2)平台购买地址:https://detail.tmall.com/item.htm?id=692450874670 3)全套实验源码+手册+视频下载地址: http://www.openedv.com/thread-340252-1-1.html 现在几乎所有智能手机,包括平板电脑都是采用电容屏作为触摸屏,电容屏是利用人体感应进行触点检测控制

    2023年04月23日
    浏览(102)
  • 安路Anlogic FPGA下载器的驱动安装教程

    安路FPGA下载器:EN-ALC10,是一款高性能FPGA下载线(编程器),支持安路的开发软件TDS和全系列FPGA芯片下载编程,支持全速USB2.0与电脑进行数据通信,通过JTAG协议与FPGA进行程序下载仿真等操作。 如下图所示: 1.下载器和电脑连接上usb线,如下图显示; 右键选择更新驱动程序;

    2024年02月02日
    浏览(62)
  • 【正点原子FPGA连载】第二十七章 MDIO接口读写测试实验 摘自【正点原子】DFZU2EG/4EV MPSoC 之FPGA开发指南V1.0

    1)实验平台:正点原子MPSoC开发板 2)平台购买地址:https://detail.tmall.com/item.htm?id=692450874670 3)全套实验源码+手册+视频下载地址: http://www.openedv.com/thread-340252-1-1.html 在以太网通信中,设备之间的物理层链路均由PHY芯片(物理层芯片,本文指YT8521)建立。PHY芯片有一个配置接

    2024年02月09日
    浏览(59)
  • FPGA在校学习记录系列---实验4不同状态的LED+开发板(Verilog HDL)

    此系列记录FPGA在学校的学习过程。 FPGA系列 需要用到的软硬件: 软件:Quartus II 15.0 (64-bit) 硬件: 5CEBA4F23C7芯片 链接: FPGA在校学习记录系列—新建一个FPGA工程编写程序并仿真(Verilog HDL) 创建的工程名字为:LED (这次不用仿真,直接用开发板验证) 编译文件 按键资源:

    2024年04月09日
    浏览(46)
  • 【正点原子FPGA连载】第二十八章 以太网ARP测试实验 摘自【正点原子】DFZU2EG/4EV MPSoC 之FPGA开发指南V1.0

    1)实验平台:正点原子MPSoC开发板 2)平台购买地址:https://detail.tmall.com/item.htm?id=692450874670 3)全套实验源码+手册+视频下载地址: http://www.openedv.com/thread-340252-1-1.html 在以太网中,一个主机和另一个主机进行通信,必须要知道目的主机的MAC地址(物理地址),而目的MAC地址的

    2023年04月08日
    浏览(94)
  • 【正点原子FPGA连载】第三十一章DDR4读写测试实验 摘自【正点原子】DFZU2EG/4EV MPSoC 之FPGA开发指南V1.0

    1)实验平台:正点原子MPSoC开发板 2)平台购买地址:https://detail.tmall.com/item.htm?id=692450874670 3)全套实验源码+手册+视频下载地址: http://www.openedv.com/thread-340252-1-1.html DDR4 SDRAM(Double-Data-Rate Fourth Generation Synchronous Dynamic Random Access Memory,简称为DDR4 SDRAM),是一种高速动态随机

    2024年01月16日
    浏览(60)
  • 【正点原子FPGA连载】第三十二章OV5640摄像头RGB-LCD显示实验 摘自【正点原子】DFZU2EG/4EV MPSoC 之FPGA开发指南V1.0

    1)实验平台:正点原子MPSoC开发板 2)平台购买地址:https://detail.tmall.com/item.htm?id=692450874670 3)全套实验源码+手册+视频下载地址: http://www.openedv.com/thread-340252-1-1.html OV5640是OmniVision(豪威科技)公司生产的CMOS图像传感器,该传感器分辨率高、采集速率快,图像处理性能强,

    2023年04月08日
    浏览(50)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包