18.07.05 FPGA入门笔记(1)——“二选一多路器”的开发以及入门诸多注意事项

        开始下定决心学习FPGA,在这里记录自己每堂课的收获!留给以后的自己和刚刚入门FPGA的朋友,这是对自己的激励,也是对自己的监督!

        梅老师的教学前面还有两讲,那两讲的课堂笔记别忘了后续补上!

        18.07.05   FPGA开发基本流程

1.工程文件夹的排布参考如下。


(1)doc文件夹存放文档(项目功能描述等)。

(2)img文件夹存放图像文件。

(3)prj文件夹存放工程文件(其下有IP文件夹存放IP核文件)。

(4)rtl存放项目文件。

(5)testbench存放仿真相关文件。

(6)想进行工程文件移植时,只需复制rtl文件夹即可。


2.初步使用Quartus II软件(了解各个工作区的作用以及显示内容)。

(1)菜单栏:所有功能

(2)快捷按钮:常用按钮的功能

(3)工程导航:查询层次结构,包含关系。

(4)文本编辑器:可以关联其他编辑器。

(5)IP库:altera intel 所提供的常用IP核的使用。

(6)任务栏:显示进度和时间,双击可以直接启动任务。

(7)命令行输入窗口:使用TCL脚本和命令行可以提高操作效率。

(8)信息提示窗口:编译警告、编译错误等在此显示,需要特别关注。


3.创建工程的要点。


(1)工程的所有文件都要存放在与此工程相关的文件夹中。

(2)不能使用Quartus ii默认的工程存放目录存放工程文件(Q II安装的根目录下)。

(3)不同的设计项目最好不要放在同一放在同一文件夹下。

(4)文件夹名以及文件夹所在路径不能用中文、空格、括号。

(5)工程名称以及设计文件还不能用数字开头,但是可以使用下划线。

(6)第一栏用于指定路径;第二栏指定工程名,建议直接使用顶层文件的实体名作为工程名;第三栏指定顶层文件实体名。


4.工程顶层的理解

(1)顶层模块将包含整个工程的各个模块,相当于PCB板。

(2)顶层模块实现方式:

 使用原理图文件(.bdf)较为直观但是效率低、可移植性差、不易维护。

 直接使用HDL语言进行例化。(推荐!)


5.二选一多路器

输出out可以等于a,也可以等于b,到底等于谁有sel决定


6.”二选一多路器“开发实战

(不多说,前面都有!)

模板工程可以开发新器件,如:MAX 10


7.Verilog 语法注意事项(写在注释里)


(1)基本书写格式(module和endmodule等)以及注意事项。

(2)两种端口定义方式

(3) Input定义输入类型

(4)Output定义输出类型

(5)Inout定义三态类型(IIC中用到)

(6)组合逻辑中assign语句的使用(将等号后面的赋给前面的)

(7)判断0和1的多种写法

(7)两种注释方式:单行注释和块注释(与C语言相同)

(8)信息提示窗口中出现“i”表示出现了非法字符。


8.FPGA硬件相关

(1)EP4CE6和EP4CE10的管脚完全兼容,可以替换。

(2)M9K存储器的总容量(Bits)除以9216即可得到其数量。


9.Quartus ii 操作

1. 在view里可以控制视窗

2. Ctlr+n快捷创建文件

3. Ctrl+r打开编译报告

4. 按住Alt,再用鼠标拖选可以进行列编辑

5. 管脚分配

10.simulation waveform editor的使用

11.MODELSIM 的使用步骤

FPGA切忌重现象,轻仿真

(1)设置仿真软件

(2)设置仿真软件路径

(3)编写仿真脚本(testbench文件)

(4)设置NATIVELINK

(5)运行仿真

12.编写testbench测试脚本

1. (键盘右上角)`timescale 1ns/1ps 1ns是步进,以1ns为单位一步一步的进行,换算为ps,精度较低时1ps可以省略(1ps为仿真精度,将换算为1ps进行计算)

2. 顶层模块名与 文件名保持一致

3. 管脚加“.”(英文句号)表示例化

4. 激励源用reg定义

5. 输出用wire定义

6. #表示延时,后面的数字代表的时间有步进时间决定

7. Initial begin 表示仿真开始,仿真时间清零,块内语句顺序执行,时间累加,最后同样也要有end

8. $stop;可以使仿真停止

9. 注意:都要有例化名称

10. 编译可以通过不代表仿真就正常




   

猜你喜欢

转载自blog.csdn.net/qq_15099895/article/details/80932019
今日推荐