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开发流程_第1张图片 

 FPGA开发流程_第2张图片

 

FPGA时序FPGA开发流程_第3张图片

FPGA开发流程_第4张图片

FPGA开发流程_第5张图片

FPGA开发流程_第6张图片

 Thold <= Tco + Tlogic +Trouting - Tskew.

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

FPGA开发流程_第7张图片

FPGA开发流程_第8张图片

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

见上链接详细介绍

你可能感兴趣的:(FPGA,fpga开发,嵌入式硬件)