平时在FPGA群聊等积累的FPGA知识点,第10期:
41
ZYNQ系列芯片的PL中使用PS端送过来的时钟,这些时钟名字是自动生成的吗?
解释:是的。PS端设置的是ps_clk,用report_clocks查出来的时钟名变成了clk_fpga_0,要看看BD里跟端口FCLK_CLK0连接的net的名字什么。PS配置中的时钟信号名,在BD里面的输出端口可以再改。
42
在dsp48e2的数据手册里面,写明了USE_MULT=Multiply的时候,USE_SIMD一定要设置成ONE48。这应该是因为乘法器出来的U,V要在ONE48下相加的原因。但是如果想在SIMD和乘法两个模式之间动态切换,我能否在USE_MULT=Multiply的时候,设置USE_SIMD为TWO24,再在dsp外部把CarryOut[1]的信号用lut把输出的P的高24位的结果加上呢?
解释:不能,xilinx官方是这么规定的。
43
跑完工程,TPWS是-5,这是什么问题?
解释:ug906搜索pulse width area,这个违例跟时钟本身相关。
44
create generated_clock -name 12c_dri_clk_400k -source [get_pins cfg_top/clk_200m] -divide_by
500 [get_pins cfg_top/u1_cfg_sub/u1_i2c_dri/dri_clk]
这个约束报no pins matched警告是为什么?
解释:这个约束最后一个中括号里的pin是指你的生成时钟对应的pin,比如你是计数器分频生成的,最后是触发器输出,那么这个pin应该是Q端口,而不是其他端口,如果是LUT输出应该是O端口,你这显然都不是,所以不匹配。
45
如何把一个工程的BD直接挪用到另一个工程里使用,器件型号和软件版本都是一样的。
解释:可以,挪过去的方法是在图形界面add source file,选择.bd文件
46
有群友提到一本书叫《锁相环技术原理及FPGA实现》
搜索结果:这是2016年电子工业出版社出版的图书,作者是杜勇。主要内容是锁相环技术的FPGA实现原理、结构、方法,以及仿真测试过程和具体技术细节,主要包括设计平台及开发环境介绍、锁相环跟踪相位的原理、FPGA实现数字信号处理基础、锁相环路模型、一阶环路的FPGA实现、环路滤波器与锁相环特性、二阶环路的FPGA实现、锁相环路性能分析、锁相测速测距的FPGA实现。
网上能查到目录,感觉关键的内容有以下:
第3章 锁相环为什么能够跟踪相位 613.1 锁相环的组成 623.1.1 关注信号的相位分量 623.1.2 VCO是一个积分器件 633.1.3 正弦鉴相器还是余弦鉴相器 653.1.4 环路滤波器的作用 683.2 从负反馈电路理解锁相环 693.2.1 反馈电路的概念 693.2.2 负反馈电路的控制作用 703.2.3 锁相环与基本负反馈电路的区别 713.2.4 分析锁相环的工作状态 723.3 最简单的锁相环 733.3.1 一阶锁相环的SystemView模型 733.3.2 确定VCO输出的同相支路 743.4 锁相环的基本性能参数 773.4.1 捕获及跟踪过程 773.4.2 环路的基本性能要求 783.5 分析一阶环的基本参数 793.5.1 数学方法求解一阶环 793.5.2 图解法分析一阶环工作过程 813.5.3 工程设计与理论分析的差异 823.5.4 遗忘的参数——鉴相滤波器截止频率 853.6 小结——千条路与磨豆腐 87
第4章 一阶锁相环的FPGA实现 89
4.1 一阶环的数字化模型 90
4.1.1 工程实例需求 90
4.1.2 数字鉴相器 91
4.1.3 数控振荡器 92
4.1.4 计算环路增益 94
4.2 数字鉴相滤波器设计 95
4.2.1 FIR与IIR滤波器 95
4.2.2 MATLAB滤波器函数 97
4.2.3 FIR滤波器的MATLAB设计 100
4.2.4 量化滤服务器托管网波器系数 102
4.5 一阶环的ModelSim仿真测试 119
4.5.1 MATLAB生成测试数据 119
4.5.2 编写测试激励文件 120
4.5.3 环路为什么不能锁定 122
4.5.4 继续仿真分析环路性能 125
4.6 小结—科学的方法 127
第5章 从线性方程到环路模型 129
5.1 线性时不变系统 130
5.1.1 线性系统的概念 130
5.1.2 时不变系统的概念 132
5.1.3 为什么研究线性时不变系统 132
5.2 信号的线性分解 133
5.2.1 信号的常用分解方法 133
5.2.2 分析的化身—欧拉 135
5.2.3 “e”是一个函数的极限 137
5.2.4 泰勒、麦克劳林与牛顿 139
5.2.5 上帝创造的公式—欧拉公式 141
5.3 从傅里叶级数到Z变换 142
5.3.1 温室效应的发现者—傅里叶 142
5.3.2 傅里叶级数是一篇美妙的乐章 143
5.3.3 负频率信号是什么信号?147
5.3.4 傅氏变换与拉氏变换 151
5.3.5 Z变换—离散时间系统分析工具 153
5.3.6 如何判断系统是否稳定 156
5.4 锁相环路的模型 158
5.5 小结—乔布斯的演讲 160
47
衍生时钟约束这里的Master clock是什么?
解释:是源时钟的名字。
比如用400MHZ做反相180度衍生时钟约束,
通过vivado平台的向导,可以用边沿延时约束可以直接反相,用不同的方式都可以约束同一个时钟。
48
时序报告满足要求, 但是功能有问题,怀疑是组合逻辑导致的,如何排查?
解释:一种可能的方式,把组合逻辑换成时序的,对比测一下,看看可否找到这段组合逻辑在系统中的影响。
49
有一个很在乎延迟的模块,vivado_hls的延迟是20个周期,vitis_hls的3服务器托管网0个周期。想vitis_hls的优势有哪些,有没有必要切换到vitis_hls上。
解释:还是应该切换到Vitis HLS,最明显的优势是更智能化,一些progma不用自己加了.
50
xilinx官网下载vivado等安装包
解释:简单注册一下,下载速度还是可以的,注册使用FDM下载。FDM是个软件,free download manager
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net
命令模式: 命令模式(Command Pattern)是属于行为型的设计模式,它将请求封装为一个对象,使用户可以参数化其他对象的方法调用、队列或记录请求日志,以及支持可撤销的操作。这种模式把发出请求的责任和执行请求的对象分离开来。 角色与结构: 1 Comma…