FPGA入门 Xilinx暑期学校学习Day2

早上的课程流程
1、SEA开发板简介
这部分没怎么听,自己用的EGO1,听起来SEA好用一些,而且本次课程的实验指导书用的也是那个板子,EGO1要多花点时间了。
2、FPGA开发流程
利用Vivado进行FPGA开发设计的操作流程,比较固定,硬件描述语言设计,写激励仿真,进行引脚绑定,生成BIT流下到板子里调试,网上资料很多。
然后讲了一些案例,Arduino+FPGA案例、ESP32+FPGA案例。这部分没怎么听懂,先把邸志雄老师的PPT放两张在这里,以便日后学习。
FPGA入门 Xilinx暑期学校学习Day2_第1张图片
FPGA入门 Xilinx暑期学校学习Day2_第2张图片
FPGA入门 Xilinx暑期学校学习Day2_第3张图片
3、组合逻辑与时序逻辑
(1)组合:c = a & b
(2)时序:c <= a & b
(时序逻辑多了触发器)
(1)always @(*)
c = a & b
(2)always@(posedge clk)
c <= a & b
(赋值方式,时序逻辑用“<=”,组合逻辑用"=")
(I2C、SPI等接口协议类电路对时序要求严格)

4、可综合Verilog HDL入门
HDL☞硬件描述语言,特点是互连、并发、时间。
FPGA入门 Xilinx暑期学校学习Day2_第4张图片
可综合的四大法宝:if-else\always\case\assign
只能用于Testbench:for\function\fork-join\while

慎用Latch(锁存器):综合器不能过滤毛刺
解决方法:
(1)使用完备的if-else
(2)case设置default
(3)检查综合器报告,Latch会以warning形式报告

最后就是学习FPGA要有硬件思维,即代码不是一行行的代码,而是一块一块的硬件模块。

实验与课后习题
开始的4个实验我没有做完,完成实验应该不难,代码和操作流程都在指导书上,自己要仿写一下Testbench文件,开发板不同要换引脚,个人推荐利用IO planning进行引脚绑定,比新建XDC文件手动输方便多了。

课后习题总结几个犯过的错误吧
1、真的太低级太低级了,这次仿真频率比较低,只有10、20Hz,我跑的时间太短了,半个周期都没有跑完,所以分频一直低电平、全0,检查了好久才发现问题。
2、“complie error”与“elaborate error”
可以试着解决一下

3、等有空了,知识完备了再来整理一下reg、wire的使用。

你可能感兴趣的:(FPGA入门 Xilinx暑期学校学习Day2)