步骤:

1、设计定义

2、设计输入(Quartus)

3、分析和综合(Quartus):代码变实际电路

4、功能仿真(modelsim):理想状态,0延迟

5、布局布线(Quartus)

6、时序仿真(modelsim):考虑延迟后电路还能不能实现相应的功能

7、IO分配以及配置文件的生成(Quartus):管脚分配

8、配置:烧写FPGA

9、在线调试

第0章、demo

问题描述:

设计一个二选一多路器

两个输入IO,A、B。

输入按键按下时,led灯与A端口保持一致,输入按键释放时,led等与B端口保持一致。

1、创建工程

Ⅰ、创建文件夹

文件夹名文件夹描述
prj存放Quartus软件的工程文件
rtl存放源码
testbench存放测试代码


 Ⅱ、选择File->New Project Wizard

 如果你这里全是灰色的选择不了请参考这篇博客:添加器件库方法

 1.2、设计输入

 

 输入代码并保存:

# 注意你这mudule的名字要与创建项目时候top的名字相同,不然会报错

module led_test(a,b,key_in,led_out);
	//端口定义
	input a , b;	//输入端口A和B
	input key_in;	//按键输入,实现输入通道的选择
	output led_out;	//led控制端口
	
	//逻辑设计
	//当key_in == 0时候,led_out = 0
	assign led_out = (key_in == 0)? a : b;
	
	
endmodule

 File——>save as 到一开始创建的rtl文件夹中(一定要save as)

分析与综合

 

 1.3 仿真

在new一个新的文件出来

 按照设计输入中的相同步骤,检查无错误将该文件save as 到开始创建的testbench文件夹中去(文件夹名字一定要是(led_test_tb)这个不然又是不知名的错误)

设置脚本

Assingnments——>settings

 

 # 这里也要注意测试module 的名字要与TOP level module的名字相同不然也会仿真失败,图中的test是错误的,应该是led_test_tb。

 

 

 然后一直点ok

然后可以开始仿真

Tools——>Run Simulation Tool——> RTL Simulatuion

然后modelsim会自动打开并且显示波形

 管脚分配

 全编译

 进行全编译

 

 下载

 

更多推荐