【紫光同创国产FPGA教程】【第二章】LED流水灯实验及仿真

本教程详细介绍了使用PDS软件进行FPGA开发的流程,通过LED流水灯实验,涉及Verilog代码编写、PDS工程创建、约束添加、位流文件生成、程序下载和调试、FLASH程序固化以及仿真验证。内容涵盖从环境配置到硬件电路原理,适合初学者学习FPGA开发。
摘要由CSDN通过智能技术生成

原创声明:

本原创教程由芯驿电子科技(上海)有限公司(ALINX)创作,版权归本公司所有,如需转载,需授权并注明出处(http://www.alinx.com)。

适用于板卡型号:

PGL22G/PGL12G

1. 实验简介

通过LED流水灯实验,介绍使用PDS软件开发FPGA的基本流程,器件选择、设置、代码编写、编译、分配管脚、下载、程序FLASH固化、擦除等;同时也检验板上LED灯是否正常。

2. 实验环境

  • Windows 10 64位
  • Pango Design Suite 2020.3

3. 实验原理

3.1 LED硬件电路

开发板 LED部分原理图

从上面的LED部分原理图可以看出,开发板都是将IO经过一个电阻和LED串联接电源端,FPGA的IO输出低电平点亮LED。IO输出高电平LED灯熄灭,其中的串联电阻都是为了限制电流。

3.2程序设计

FPGA的设计中通常使用计数器来计时,对于50Mhz的系统时钟,一个时钟周期是20ns,那么表示一秒需要50000000个时钟周期,如果一个时钟周期计数器累加一次,那么计数器从0到49999999正好是50000000个周期,就是1秒的时钟。

程序中定义了一个32位的计数器:

//Define the time counter 
reg[31:0]      timer;

最大可以表示4294967295,十六进制就是FFFFFFFF,如果计数器到最大值,可以表示85.89934592秒。程序设计中是每隔1秒LED变化一次,一共消耗4秒做一个循环。

always@(posedge sys_clk ornegedge rst_n)
begin
	if(~rst_n)
		timer <=32'd0;
	elseif(timer ==32'd199_999_999)
		timer <=32'd0;
	else
		timer <= timer +1'b1;
end

在第一秒、第二秒、第三秒、第四秒到来的时候分别改变LED的状态,其他时候都保持原来的值不变。

// LED control
always@(posedge sys_clk ornegedge rst_n)
begin
	if(~rst_n)
		led <=4'b0000;
	elseif(timer ==32'd49_999_999)
		led <=4'b0001;
	elseif(timer ==32'd99_999_999)
		led <=4'b0010;
	elseif(timer ==32'd149_999_999)
		led <=4'b0100;
	elseif(timer ==32'd199_999_999)
		led <=4'b1000;
end

4. PDS工程

4.1 创建工程

1)启动Pango Design Suite 2020.3开发环境(在开始菜单中选择pango->Pango Design Suite 2020.3>Pango Design Suite 。Pango Design Suite(简称PDS)或者双击桌面的Pango Design Suite 2020.3的图标直接打开软件。

2)在PDS 开发环境里双击Create Project或File->New Project...这两种方式都可,如下图:

3) 弹出一个PDS的工程向导,点击Next按钮。

4)在弹出的对话框中输入工程名和工程存放的目录,这里取一个led_test的工程名,点击Next;

5) 在下面的对话框中默认选择RTL Project, 因为我们这里使用verilog行为描述语言来编程,单击Next

6) 进入Add Design Source Files界面,这里先不添加任何设计文件。点击Next;

7)这里问是否添加已有的IP,保持默认不添加,单击Next;

8)提示是否添加已有的约束文件,这里约束文件我们也没

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值