嵌入式环境搭建

1. IAR软件安装

C编译器-IAR Embedded Workbench
嵌入式软件开发工具
安装教程:
https://blog.csdn.net/weixin_42571952/article/details/102685537
安装包:
链接:https://pan.baidu.com/s/1KnBNhWcr9obpst3kCZSArg
提取码:7wna

2.ISE14.7安装

ISE的全称为Integrated Software Environment,即“集成软件环境”,是Xilinx公司的硬件设计工具。
安装教程:
https://blog.csdn.net/weixin_42693097/article/details/91347371
安装包:
链接:https://pan.baidu.com/s/1xsfoDAPBk2XJtPMAAP8yiA
提取码:ro45
使用说明:
1.对于XILINX USB下载器驱动的安装:
如果下载器不能正常使用,请尝试更新驱动程序,驱动程序路径为:ISE_DS\COMMON\BIN\NT64
当下载器的指示灯为黄色时,代表驱动正确;红色则是驱动不正确。
2.完整演示:
如下图,首先创建工程
在这里插入图片描述
在这里插入图片描述
添加verilog文件
在这里插入图片描述
在这里插入图片描述
使用一个LED灯每秒闪烁一次,代码如下:

module led_top(

	input clk_12m,
	output led

);    


//12M   24'd12_000_000;
//1K 分频器
reg [23:0] cnt = 24'd0;
parameter NUM_1MS = 24'd12_000;
always @ (posedge clk_12m)
begin
	if(cnt == NUM_1MS - 1'b1)
		cnt <= 24'd0;
	else
		cnt <= cnt + 1'b1;
end

reg clk_1k = 1'b0;
always @ (posedge clk_12m)
begin
	if(cnt == NUM_1MS/2 - 1'b1)
		clk_1k <= 1'b1;
	else if(cnt == NUM_1MS - 1'b1)
		clk_1k <= 1'b0;
	else
		clk_1k <= clk_1k;
end





//1ms数一个数,数到1000ms切换一下灯的状态
reg led_reg = 1'b0;
reg [9:0] led_cnt = 10'd0;
parameter NUM_LED = 10'd1000;//1000ms

always @ (posedge clk_1k)
begin
	if(led_cnt == NUM_LED - 1'b1)
		led_cnt <= 10'd0;
	else
		led_cnt <= led_cnt + 1'b1;
end

always @ (posedge clk_1k)
begin
	if(led_cnt == NUM_LED - 1'b1)
		led_reg <= ~led_reg;
	else
		led_reg <=  led_reg;
end

assign led = led_reg;


endmodule

运行综合,也可以点击View RTL Schematic
在这里插入图片描述
在这里插入图片描述
编译完成后Consolo窗口出现:
Process “Synthesize - XST” completed successfully 代表代码没有语法错误,但有可能存在逻辑错误
可以使用modelsim进行波形仿真
下面进行IO引脚的指定
在这里插入图片描述
在这里插入图片描述
注意IO电平标准/驱动能力/PULL类型

在这里插入图片描述
运行布局&布线
运行生成bit文件,bit文件可以烧写至FPGA(下电丢失),但是不能烧写至PROM(下电不丢失)
在这里插入图片描述
进入烧写阶段
在这里插入图片描述
双击Initialize Chain ,出现FPGA与PROM,点击NO
在这里插入图片描述
这是选择烧写至FPGA还是PROM中
在这里插入图片描述
点击取消,然后我们先把bit文件烧写到FPGA中,看看效果。
双击FPGA芯片,选择bit文件,会提示是否选择PROM,选择NO,然后右键FPGA芯片,Program

在这里插入图片描述
在这里插入图片描述
烧录成功,但是下电就会消失。
下面将bit文件转换成msc文件,这样可以烧写至PROM,掉电不丢失
如图操作,选择要转换的bit文件即可
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
点击Generate File
转换成功后重新回到烧录界面

在这里插入图片描述
双击PROM,选择MSC文件,然后选择烧录到PROM,右键PROM,Program。

在这里插入图片描述

重新上电后,运行PROM中的程序。

为了检查逻辑上的错误,我们可以对波形进行仿真,在此使用Modelsim软件进行仿真

首先创建工程
在这里插入图片描述
在工程里创建src文件夹,将我们的源文件与仿真使用的tb文件放入src文件夹中,并将他们加入工程。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

tb文件为:

`timescale 10ns/1ps    

module tb_led_sim;


reg clk = 1'b0; 
wire led;


//生成时钟信号
parameter ClockPeriod = 10;    //T = 100ns    10M   0.1us
always #(ClockPeriod/2) clk = ~clk;



initial 
begin
    #0
	clk = 1'b0; 
	
    repeat(40000000)@(posedge clk); // 4000ms


end

led_top u1(

	.clk_12m (clk),
	.led     (led)

);    



endmodule



在这里插入图片描述
Comlile / Comlile All 编译通过
Simulate/Start simulate
在这里插入图片描述
选择要观察的信号右键add wave
在这里插入图片描述
设置时间,运行4s
可以看到999ms的下一个 clk_1k 上升沿来临时,led 从 0 变成了 1
在这里插入图片描述

在这里插入图片描述

符合led_top.v中的代码逻辑:

//1ms数一个数,数到1000ms切换一下灯的状态
reg led_reg = 1'b0;
reg [9:0] led_cnt = 10'd0;
parameter NUM_LED = 10'd1000;//1000ms

always @ (posedge clk_1k)
begin
	if(led_cnt == NUM_LED - 1'b1)
		led_cnt <= 10'd0;
	else
		led_cnt <= led_cnt + 1'b1;
end

always @ (posedge clk_1k)
begin
	if(led_cnt == NUM_LED - 1'b1)
		led_reg <= ~led_reg;
	else
		led_reg <=  led_reg;
end

assign led = led_reg;

3.Vivado2019.1安装

推出Vivado是为了提高设计者的效率,他能显著增加Xilinx的28nm工艺的可编程逻辑期间的设计、综合于实现效率。vivado主要是面向7系列的高端FPGA进行开发,ISE主要是面向低端的FPGA进行开发。
安装包:
链接:https://pan.baidu.com/s/13A6toxUIMg07NBhr4hTmTg
提取码:fr6y

4.AD17安装

安装包:
链接:https://pan.baidu.com/s/1zxoz43Cv3HnufxPRh3VlkA
提取码:vgne

5.Keil安装

安装包:
链接:https://pan.baidu.com/s/1UIdaNE9S24P4JhLGZfANnw
提取码:8lbe

6.ModeleSim

安装包:
链接:https://pan.baidu.com/s/1fcD1pxtJ4baV0RcewwHURw
提取码:bgmj
安装教程:
https://blog.csdn.net/hucc0706/article/details/79273550

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值