一、DDS相关
1. DDS调幅,想到了两个方案:①改变DAC的参考电压②改变DAC的电流,哪个好些?
答:A.能用数字电路直接调制解决的,就不用到模拟域去做了。 B.只要DAC速率够高,可以数字生成任意波形发出去。有很多任意波形发生器的设计,可以实现调幅、调频或调相。
C.对于AM,是要求载波幅度大于基带的,过大的基带信号会发生过调幅。所以不能对任意幅度信号进行AM调制。
D.对于调幅,需要考虑调制指数。设基带最大幅度为1,基带乘以调制指数,然后加加上1,之后再乘以幅值为1的载波,就是AM了。
E.对于调幅精度,考虑幅度的定点化,在高精度的ADC下,可以实现略有精度损失的信号调幅。
二、国产FPGA相关
1请教大家一个问题,外面买安路的FPGA开发版的商家有哪些?
答:最好联系原厂。
2.谁知道复旦微的开发板哪里有卖?问过原厂,他们说都没有板子了(型号JFMK50T4)。
答:一般只有原厂有,实在没有,就自己画,若能找到一个demo板验证,可以降低风险。
3. 国产器件有zynq这种的吗?
答:有,但是ARM核还是有差异。例如:复旦微的7045。管脚有差异,Vivado里需要打补丁,用GT,MIG这些的时候不同组合的步骤还有区别。
4. 国产并行flash目前大家主要用过哪些家的?最后可pin2pin镁光的。
答:暂无回答,读者中有了解的,可以在评论区留言。
1. 在设计中用了个localparam,定义某个参数,想在tb中修改这个localparam的值,除了就是例化的时候引入进去,还有啥办法可以修改这个值?force这个语句只能对信号起作用。
答:A.localparam是局部常量,没法外部修改。可以做成宏定义,或者将该参数做成输入端口信号。
B.如果是vcs工具的话,可以通过-pvalue+parameter_hierarchical_value=value,可以修改某个指定参数到特定的值。具体用法,可参考《Synopsys VCSUser Guide》。
四、FPGA逻辑运算和时序相关
1. 实现多信号输入有符号数据加法,调用IP方便还是自己编程方便?
答:若是有符号数,声明signed类型直接+就行,同时注意是否存在进位,必要时进行位宽扩展。
2. 现在fpga做抠图都用什么算法?
答:对于抠图,比较简单的方法是图像分割,这是很老的方法,但这其实算不上真正意义的抠图,因为他的主要目的是用于图像之间块与块的分割。典型的就是grabcut算法,opencv上面有相应的优化好的算法。还有一种就是对于前后景的分割,叫做Alpha Matting,这是抠图的主要实现方法,好的算法对头发丝也能处理得很好。(摘自网络SCDN博客) FPGA基本上能实现所有应用算法,关键要分析出算法的处理过程,从架构和资源消耗等角度考虑怎么去进行逻辑实现。
3.有没有可以推荐的讲解FPGA基础知识的书和视频啊,像Verilog语言会对应什么样子的电路结构这种的?遇到过大的slack会导致问题,但是查找原因根本不会往这方面去想。
答:FPGA底层逻辑是LUT、CLB单元、BRAM等,门级或寄存器级就是时序分析的基础。时序违例问题,可以去看一下静态时序分析的资料,例如《Static Timing Analysis for Nanometer Designs A Practical Approach》、《Constraining Designs for Synthesis andTiming Analysis》,对于Vivado开发环境,可以参考Xilinx的UG903、UG602。
4. 请教一下大家IP及IO口的输出电流强度应该怎么选择?现在用的都是默认值。
答:IO驱动电流默认是12,最大可以选24。一般默认就可以,若有时序问题,可以微调。另外,温度会影响晶体管的静态工作点,PN结特性对温度敏感。
5. VIVADO资源统计里没有LUT和FF 意思就是完全没有用到吗?
答:一般情况下,有逻辑设计,LUT会有消耗的,如果综合后查看资源报告,没有消耗LUT资源,可能是该模块信号由于没有连接到端口引脚,被优化掉了。可以加上“keep ture”属性或者将信号接到vio、ILA上,再查看资源消耗。
五、卫星互联网相关
1. 中国某网是新成立的大型央企,马斯克的Starlink成为商业卫星最为成功的代表,国内的卫星商业化道路还很漫长。
2. 抢占近地轨道和频率,是比较关心的两个领域。
3. NTN与DVB哪个有前途?
答:NTN是最近几年基于5G技术标准提出来的,3GPP协议38.811比较全面地介绍了NTN的应用前景,也是目前除了DVB外最为热门的卫星通信应用技术。国内和国际上众多手机厂商和设备商,都在积极研发支持NTN的终端和基站等。就目前看来,NTN的商业化过程还比较长,相关的技术标准和协议,都属于探索和逐步落地阶段。
DVB协议经过十几年的发展,技术路线比较成熟,商业化,应用广泛。2020年,DVB-RCS2等新一代DVB协议发布,支持高带宽卫星通信。两个标准,互相借鉴,考虑专利和技术壁垒,不同的企业可能采用不同的技术路线。
六、接口相关
1. SPI接口怎么通过修改逻辑代码来提高SPI读写的速率呢?
答:一般是提高时钟频率,做好接口约束,把FPGA端的IO的驱动能力设高一些。
2. 大家对于GT口传输AXIS,转成AXI有什么好想法?
答:DMA接口。
七、GTX时钟相关
1. 有个高精度的10MHz时钟,怎么提供给FPGA的GTX使用呢,GTX的时钟不支持这么低的时钟输入,如果经过时钟芯片精度就损失了。要用这个高精度时钟进行码环相位测量。
答:一般可以用MMCM进行时钟倍频,GTX的参考时钟一般在手册中也会有要求。特殊情况,可能需要特殊设计。
八、DDR相关
1. DDR原理图设计里 DQ不按顺序有什么影响吗?
答:一般没影响,只要综合约束过,就算开始按顺序,PCB走线不过也要调线序。不放心的话可以预先弄个MIG约束下引脚,看能不能校验过。
2.请问ADC DDR输出进ddio,而input-pad到ddio-in有10ns的延迟,造成setup时间违例5.6ns,这种怎么解决?程序是只写了关于ADC芯片采集接口,然后约束了ADC的数据输入接口和pll,还需要其他的吗,还是ADC数据输入接口约束错了?
答:应该是没约束对,看样子应该是lvds接口的,input-pad到ddio-in的延迟不单单是数据线,时钟线也一样,这个setup时间应该是由input delay决定的。
九、vivado综合问题
1. Vivado综合着就不动了,半个小时过去了,之前都是综合10几分钟,布局布线3个多小时?
答:综合一般不会很长时间,如果出现综合过程中一直卡着,大概率是代码设计有缺陷,或者XDC约束有不合理的地方。此外,可以看一下log文件,一般来说,会有打印,执行到哪一步了。通常情况下,在布局布线阶段更容易出现一直卡住的情况,查看log打印,会有提示,例如因为时序太差,布线走不通,导致拥塞。或者停止综合,复位一下综合过程,关掉vivado,重来一次。
十、电机控制
1. 想请教一下,电机的速度环,大概多长时间对电机控制一次?
答:一般10KHz以下。
2. 24xx的DSP能够达到这种控制速度吗?
答:DSP普遍带计数器的,能脉冲计数,也能输出带死区的PWM波,用中断计数基本做不了电机控制。记得今年TI出了一个超强的片子,把MOS和FOC全部集成到一个片子上,6块钱的片子,不用写代码,不用驱动板,就能实现电机调速,实在强。
十一、时序约束相关
1. 请问如果时序约束不满足上板一定会有问题吗?
答:看一下最差路径是属于哪个时钟域,最差裕量不超过时钟频率的15%,应该能跑。有个评估能跑最高时钟的公式,好像是1/(T-WNS),T是目标时钟周期,WNS是最差负时序裕量,可以故意约束紧一点,跑出时序报告,看时序裕量。
余量为正不一定跑出来就对,为负也不见得跑出来就不对,先有正确的约束才能有正确的时序分析。
编辑:黄飞
评论
查看更多