小梅哥FPGA视频学习笔记——开发流程

FPGA开发流程

  1. 设计定义
  2. 设计输入
  3. 分析和综合
  4. 功能仿真(理想仿真,实际存在逻辑延迟等)
    modelsim-altera软件
  5. 布局布线
  6. 时序仿真(时序约束,保证时序要求)
    modelsim-altera软件
  7. IO分配以及配置文件的生成
  8. 配置(烧写FPGA)
  9. 在线调试

二选一案例

1、设计定义:
两个按键输入I/O(a,b)
输入按键按下时,LED灯与a端口状态保持一致;否则,LED灯与b端口状态保持一致

2、设计输入:

module led_test(a,b,sel,led_out);

	input a,b;//input port a and b
	input sel;//input port sel
	
	output led_out;//output port led_out
	
	assign key_out = (sel == 0)? a:b; //if sel logic low, key_out<=a ,else  b
	
endmodule

3、仿真综合
在这里插入图片描述
4、功能仿真
rtl视图:
在这里插入图片描述
编写testbench文件

`timescale 1ns/1ps
//  #100.1 //delay 1ns*100, accuracy 1ps   0.1ns = 1ps
module led_test_tb;

//激励
	reg signal_a;
	reg signal_b;
	reg signal_c;
//待检测信号定义,连接到待测试模块输出	
	wire led;

//例化	
	led_test led_test_0(
		.a(signal_a),
		.b(signal_b),
		.sel(signal_c),
		.led_out(led)
	);

//产生激励	
	initial begin
		signal_a = 0; signal_b = 0;signal_c = 0;#100;
		signal_a = 0; signal_b = 0;signal_c = 1;#100;
		signal_a = 0; signal_b = 1;signal_c = 0;#100;
		signal_a = 0; signal_b = 1;signal_c = 1;#100;
		signal_a = 1; signal_b = 0;signal_c = 0;#100;
		signal_a = 1; signal_b = 0;signal_c = 1;#100;
		signal_a = 1; signal_b = 1;signal_c = 0;#100;
		signal_a = 1; signal_b = 1;signal_c = 1;#100;
		$stop;
	end

设置好仿真环境以及联络testbench文件
在这里插入图片描述
在这里插入图片描述
进行仿真
在这里插入图片描述
5、布局布线
直接编译

6、后仿真
在这里插入图片描述
7、引脚分配
在这里插入图片描述
8、配置烧写

9、在线调试

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值