目录
ZYNQ study
1.基础知识
建立时间,保持时间
亚稳态问题
跨时钟域处理
异步FIFO
基础电路
- HDLbits题目
- 牛客网题目
原语
见util_div
FIFO中的block RAM和distributed RAM区别
BRAM是使用FPGA中的整块双口RAM资源,而DRAM则是拼凑起FPGA中的查找表形成。
分布式RAM和 BLOCK RAM的选择遵循以下方法:
- 小于或等于64bit容量的的都用分布式实现
- 深度在64~128之间的,若无额外的block可用分布式RAM。 要求异步读取就使用分布式RAM。数据宽度大于16时用block ram.
- 分布式RAM有比block ram更好的时序性能。 分布式RAM在逻辑资源CLB中。而BLOCK RAM则在专门的存储器列中,会产生较大的布线延迟,布局也受制约。
并不是用BRAM就一定性能好。FPGA中的资源位置是固定的,例如BRAM就是一列一列分布的,这就可能造成用户逻辑和BRAM之间的route延时比较长。举个最简单的例子,在大规模FPGA中,如果用光所有的BRAM,性能一般会下降,甚至出现route不通的情况,就是这个原因。灵活的运用BRAM和distributed RAM可以有效利用FPGA资源,提升性能。如果需要用较多的BRAM,合理规划布局也可以提升性能,可以使用Planahead进行布局规划。
2.上位机通信协议
3.modelism联合vivado仿真
4.AMBA总线
高级微控制器总线体系(Advanced Microcontroller Bus Architecture AMBA )。
根据 AMBA 标准定义了三种不同的总线:
- 高级高性能总线(AHB)
用于高性能、高时钟频率的系统模块。 担当中枢总线。支持处理器,片上存储器,片外存储器以及低功耗外设宏功能单元之间的有效连接。 - 高级系统总线(ASB)
- 高级外设总线(APB)
用于低功耗外设, - 高级可拓展接口(AXI)
2.1.APB
2.2.AHB
2.3.AXI
AXI4
AXI4_stream
AXI4_Lite
5. DDR3/4
- AXI4读写DDR3
- native接口