平時在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的30個周期。想vitis_hls的優勢有哪些,有沒有必要切換到vitis_hls上。
解釋:還是應該切換到Vitis HLS,最明顯的優勢是更智能化,一些progma不用自己加了.
50
xilinx官網下載vivado等安裝包
解釋:簡單注冊一下,下載速度還是可以的,注冊使用FDM下載。FDM是個軟件,free download manager