1.Intel FPGA开发流程

1概述

以一个基础的实验——二选一选择器,来介绍完整的 FPGA 设计开发流程。
首先要建立如下模板
在这里插入图片描述
prj 为工程文件存放目录;rtl 为 verilog 可综合代码存放目录;testbench 为测试文件存放目录;img 为设计相关图片存放目录;doc 为设计相关文档存放目录;prj 文件夹下还建立了子文件夹 ip,用于存放 Quartus Prime 中生成的 IP 核文件。

2建立工程

打开安装好的 Quartus Prime 软件,软件启动界面及启动后的主界面如图,新建文件
在这里插入图片描述

2第二步,选择新建工程所在路径、设置工程命名以及顶层设计实体名称。在输入顶层设
计实体时默认与工程名称一致,此处可根据具体情况来自行修改
工程实体名称
在这里插入图片描述
3添加代码,目前没有直接next
在这里插入图片描述
4跟据自己板子选芯片,针,速度等级,选出器件名称为EP4CE10F17C8,这些芯片相同封装相同速度等级,只是逻辑容量不同。
在这里插入图片描述
这两个芯片逻辑容量分别是6k和10k
在这里插入图片描述
5选择EDA工具
在这里插入图片描述
6finish完成创建

3设计输入

工程建立完成后,需要为工程添加新的设计文件,单击 File→New→Verilog HDL File,或者工具栏中的 New
在这里插入图片描述
新的文件建立完成后,输入程序清单所示代码,并以 led_test.v 命名保存到工程对应
的 rtl 文件夹下
在这里插入图片描述

module mux2(
//端口列表
	a,
	b,
	sel,
	out);
//端口类型定义
 input a;//输入端口 A
 input b;//输入端口 B
 
 input sel; //按键输入,实现输入通道的选择
 
 output out; //led 控制端口
 
 //当 sel == 0 :led_out = a
 
 assign out = (sel == 0)? a : b;
 
endmodule

4分析和综合

单击工具栏中的 Start Analysis & Synthesis 来进行分析和综合
如在设计过程有错误的地方,在分析和综合后会提示 Error 或者 Warning,需针对不同情况进行修改。我们汇总了分析和综合过程中常见的问题以及解决方式
在这里插入图片描述
在这里插入图片描述
全编译后可以通过RTL Viewer来查看硬件逻辑电路
在这里插入图片描述

在这里插入图片描述

5仿真

5.1矢量波形进行仿真

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
添加激励进行仿真后结果正确
在这里插入图片描述
加周期效果相同

5.2modelsim进行仿真

1首先确认是否安装modelsim
2设置quartus软件和modelsim关联路径
3设置仿真脚本或仿真激励testbench
4设置nativelink
5运行仿真
关联路径
在这里插入图片描述
在这里插入图片描述

设置激励编写测试脚本
新建一个.v文件以mux_tb保存在testbench文件夹内
在这里插入图片描述
列编辑按住alt 拖动即可

`timescale 1ns/1ps

module mux2_tb;
//激励信号
	reg s1;// a
	reg s2;//  b
	reg s3;//sel
	
	wire Light1;
	mux2 mux2_inst0(
	//端口列表
		.a(s1),
		.b(s2),
		.sel(s3),
		.out(Light1)
		);
		//产生激励
		initial begin
		//仿真开始
		s1=0;s2=0;s3=0;
		//#代表延时步进是单位
		#100;
		s1=1;s2=0;s3=0;
		#100;
		s1=0;s2=1;s3=0;
		#100;
		s1=1;s2=1;s3=0;
		s1=0;s2=0;s3=1;
		#100;
		s1=1;s2=0;s3=1;
		#100;
		s1=0;s2=1;s3=1;
		#100;
		s1=1;s2=1;s3=1;
		#100;
		//验证覆盖率,全验证
		//停下来
		$stop;
		end
endmodule

完成后ctrl+k运行,结果报告
在这里插入图片描述
设置nativelink,设置仿真脚本
单击标题栏的 Assignments→Settings→Simulation,查看仿真工具以及语言是否与之前的设置一致,否则根据实际使用情况进行相应的修改
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
点击add ok

5.2.1RTL

运行仿真
在这里插入图片描述
第一个理想化仿真模型,第二个实际的,打开后会自己运行出现如下图效果。
在这里插入图片描述
独立波形窗口
在这里插入图片描述
点下图点可以打开完整的图
在这里插入图片描述
只有testbench中的信号,如果要看mux2中的信号
在这里插入图片描述
此时新加进来数据没有保存,要restart然后run all 重新运行
在这里插入图片描述
此时状态是一致的
右击可以分组管理
在这里插入图片描述
在这里插入图片描述

5.2.2Gate level simulation

在这里门级电路仿真可以预判线路延时,所以要全编译后才可进行仿真
在这里插入图片描述
有一个延时
在这里插入图片描述

6目标板运行

配置到AC620
在这里插入图片描述
在这里插入图片描述
pin planer分配管脚
在这里插入图片描述

先把电压标准改为3.3LVTTL
将out改为PIN_A2在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
再进行全编译
点击programmer按钮,然后
在这里插入图片描述
点击硬件设置在这里插入图片描述
将主板通过usb进行连接,打开电,选择驱动
在这里插入图片描述
添加编译生成文件
在这里插入图片描述
点击start开始转换

猜你喜欢

转载自blog.csdn.net/weixin_39289876/article/details/109049830