FPGA开发流程

 流程

  1. 设计定义
  2. 设计输入
  3. 分析和综合
  4. 功能仿真(modelsim-altera)
  5. 布局布线
  6. 时序仿真(modelsim-altera)
  7. 时序约束
  8. IO分配以及配置文件的生成
  9. 配置(烧写FPGA)
  10. 在线调试(……)

设计定义:

二选一多路器

两个输入IO,a、b。可以是高电平,也可是低电平

输入按键按下时,

LED灯与a端口状态保持一致。

输入按键释放时,

LED灯与b端口状态保持一致

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

	input a;//输入端口A
	input b;//输入端口B
	
	input key_in;	//按键输入,实现输入输入通道的选择
	
	output led_out;	//led 控制端口
	
	//当key_in == 0 :led_out = a
	
	assign led_out = (key_in == 0)? a : b;
	
endmodule



`timescale 1ns/1ps

module led_test_tb;

//激励信号定义,对应连接到待测试模块的输入端口
	reg signal_a;
	reg signal_b;
	reg signal_c;

//待检测信号定义,对应连接到待测试模块的输出端口	
	wire led;

//例化待测试模块
	led_test led_test0(
		.a(signal_a),
		.b(signal_b),
		.key_in(signal_c),
		.led_out(led)
	);

//产生激励	
	initial begin
		signal_a = 0;signal_b = 0;signal_c = 0;
		#100;//延时100ns
		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;
		#200;
		$stop;	
	end

endmodule

添加仿真文件 seting-simulation....

 

 

 

FPGA时序

 Thold <= Tco + Tlogic +Trouting - Tskew.

Tsu <= Tclk +Tskew -Tco - Tlogic -Trouting.

 静态时序分析_一点一点的进步的博客-CSDN博客_插buffer增加时钟延迟

见上链接详细介绍

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值