环球电气之家-午夜精彩视频-中国专业电气电子产品行业服务网站!

產品分類

當前位置: 首頁 > 工業電氣產品 > 端子與連接器 > 線路板連接器 > FFC連接器

類型分類:
科普知識
數據分類:
FFC連接器

輕松兼顧 | 定點轉換不再是 FPGA 或 ASIC 部署的必選項

發布日期:2022-04-17 點擊率:62

  MATLAB?和 Simulink?使用基于浮點的建模來確保算法仿真的高精度計算。轉換為定點會降低數學精度,并且轉換期間,在數據類型字長和數學精度之間取得適當的平衡會比較困難。對于需要高動態范圍或高精度的計算(例如具有反饋回路的設計),定點轉換可能會花費數周或數月的工程時間,并且會導致定點字長較大。

  從 R2016b 版本開始,您就可以使用 HDL Coder? 本機浮點庫直接從 Simulink 中的單精度浮點數據生成用于 FPGA 或 ASIC 實現的 HDL 代碼。

  在本文中,我們將以部署到 FPGA 的 IIR 濾波器為例,介紹本機浮點工作流。然后,我們將回顧使用定點的挑戰,并比較使用單精度浮點或定點時面積和頻率之間的取舍。我們還將展示浮點和定點的組合如何減少實際設計中的轉換和實現時間,同時提供更高的精度。您將看到浮點如何在具有高動態范圍要求的實際設計中顯著縮小面積并提高速度。

本機浮點實現:深入解析

  HDL Coder 通過在 FPGA 或 ASIC 資源上仿真基礎數學來實現單精度算法(圖1)。生成的邏輯將輸入的浮點信號解析為符號、指數和尾數,分別為 1、8 和23 位寬的單個整數。然后,生成的 VHDL? 或 Verilog? 邏輯在圖 1 所示的情況下執行浮點計算,即通過計算輸入符號位產生的符號位、幅值乘法運算,以及添加計算結果所需的指數和相應規范化。邏輯的最后一個階段將符號、指數和尾數打包回浮點數據類型。

圖1. HDL Coder 如何將單精度浮點乘法映射到定點硬件資源。

  當您在 HDL Workflow Advisor 中選擇“本機浮點庫”代碼生成選項時,HDL Coder 會自動為您的單精度操作執行所有操作。您還可以設置一些選項,以更好地控制如何在硬件中實現浮點運算,例如針對特定的延遲的選項、針對 FPGA 上特定 DSP 邏輯的選項。HDL Coder 還提供了將反常值清零并有效處理 INF 和 NaN 的選項。

用定點轉換解決動態范圍問題

  對于像 1-a/1+a 這樣的簡單表達式,如果需要在高動態范圍內實現,則可以使用單精度自然地進行轉換(圖2)。

圖2. (1-a)/(1+a) 的單精度實現。

  然而,在定點中實現相同的方程式需要許多步驟和數值方面的考慮(圖 3)。例如,必須將除法分解為乘法和倒數,使用牛頓-拉普森或 LUT 等近似方法進行非線性倒數運算,使用不同的數據類型仔細控制位增長,選擇合適的分子和分母類型,并對加法器和減法器使用特定的輸出類型和累加器類型。

圖3. (1-a)/(1+a) 的定點實現。

探索 IIR 實現選項

  讓我們看一個無限脈沖響應(IIR)濾波器的例子。IIR 濾波器需要高動態范圍計算和反饋環,這使得它很難收斂到定點量化。圖 4a 顯示了一個測試環境,比較了具有噪聲的正弦波輸入的同一個 IIR 濾波器的三個版本。正弦波的振幅為 1,而加性噪聲使振幅略有增加。第一個版本的濾波器是雙精度的(圖 4b)。第二個版本是單精度。第三個版本是定點實現(圖 4c)。這種實現導致數據類型的字長最大為 22 位,其中 1 位分配給符號,21 位分配給小數。這種特殊的數據類型留下 0 位來表示整數值,這是很有意義的,因為對于給定的激勵,它的值的范圍將始終在 -1 和 1 之間。如果設計必須使用不同的輸入值,則在定點量化時需要考慮到這一點。

圖4. a.具有噪聲正弦波輸入的 IIR 濾波器的三種實現。

圖4b. 以雙精度數據類型顯示的 IIR_filter 實現。

圖4c. IIR_filter_fixpt 實現,它使用有符號的 18 位字長定點數據類型,其中 16 位表示小數長度。

  我們建立了測試環境,以比較單精度和定點濾波器與雙精度濾波器的測試結果。在這兩種情況下,精度的損失都會產生一定的誤差。問題是這個誤差是否在我們的應用可接受的公差范圍內。
  當運行 Fixed-Point Designer?進行轉換時,我們指定的容錯度為 1%。圖 5 顯示了比較結果。單精度版本的錯誤約為 10-8,而定點數據類型的錯誤約為 10-5。這在我們指定的容錯范圍內。如果您的應用需要更高的精度,則可能需要增加定點字長。

圖5.將雙精度 IIR 濾波器結果與單精度結果(頂部)和定點結果(底部)進行比較的仿真結果。

  收斂于這種量化需要硬件設計經驗、對可能的系統輸入的全面理解、明確的精度要求以及 Fixed-Point Designer 的一些幫助。如果可以幫助您縮減用于生產部署的算法,那么這項工作是值得的。但是,如果您只需要簡單地部署到原型硬件上,或者由于精度要求而很難減少資源使用,那該怎么辦呢?

  這些情況下的解決方法是使用單精度本機浮點。

使用本機浮點簡化過程

  使用本機浮點有兩個好處:

  ●您不必花時間分析所需的最小位數,以保持各種輸入數據的足夠精度。

  ●單精度浮點運算的動態范圍可通過 32 位的固定字長更有效地進行擴展。

  現在,設計過程變得更加簡單,并且您知道,使用符號、指數和尾數位可以表示很寬的動態數字范圍。圖 6 中的表使用圖 5 中所示的數據類型選擇比較了 IIR 濾波器的浮點和定點實現的資源利用率。

圖6. IIR 濾波器的定點和浮點實現之間的資源使用率比較。

  在比較浮點和定點實現的結果時,請記住,浮點計算比簡單的定點運算需要更多的操作。在部署到 FPGA 或 ASIC 時,使用單精度將導致更高的物理資源使用率。如果電路面積是一個問題,那么您需要在更高的精度和資源使用率之間進行取舍。您還可以使用浮點和定點的組合來減少面積,同時保留單精度,以在數值密集的計算單元中實現高動態范圍。

使用本機浮點管理資源使用情況

  本機浮點是為高動態范圍應用生成代碼的一種簡單方法,可用于對 FPGA 編程或部署到 ASIC。但是,如果本機浮點超出了資源預算,有幾種方法可以減少資源使用:

  使用 HDL Coder 優化。資源共享和其他算法級優化支持本機浮點代碼生成。例如,這些優化可以通過時分多路復用和其他共享和流處理技術來共享消耗大量面積的復雜數學運算(例如 exp、atan2),從而達到縮小面積的目的。

  在適用的情況下使用定點轉換過程。定點轉換對于沒有高動態范圍要求或反饋回路的設計非常簡單,而 Fixed-Point Designer 可幫助實現此過程的自動化。在某些類型的設計中,很難在不增加額外位數的情況下實現收斂。在這種情況下,有選擇地使用本機浮點是更好的選擇。此方法在大多數設計中都使用定點轉換,同時允許您在數據路徑的高動態范圍部分中使用浮點。

  在設計中創建浮點和定點“孤島”。一旦您確定了設計中難以實現收斂的部分,就可以使用數據類型轉換模塊將輸入轉換為單精度,然后將操作的輸出轉換回相應的定點類型來隔離這些部分。圖7 顯示了電機控制設計的一部分,其中增益操作和 sincos 操作被隔離為本機浮點區域,并且輸出被轉換回定點值。

圖7.在同一設計中混合使用定點和本機浮點。

在設計中選擇浮點或定點的快速指南

  在以下情況下,對整個設計使用浮點:


  ●您缺乏定點量化的經驗。

  ●您的算法混合使用非常大和非常小的數字。

  ●您的設計廣泛使用大于 32 位的定點類型。

  ●您的設計包括非線性操作,如 divide、mod、rem、log、exp 和 atan,這些操作很難轉換為定點。

  ●您可以靈活地使用更大的面積和延遲(例如,在電機控制或音頻處理等較低帶寬的應用中)。


  在以下情況下,對整個設計使用定點:


  ●您有定點量化方面的經驗。

  ●將算法轉換為固定點很簡單。

  ●您對面積和延遲有嚴格的要求。

  

  在以下情況下,應混合使用浮點和定點:


  ●您的設計混合使用了控制邏輯和動態范圍較大的數據路徑。

  ●只有一部分設計難以量化到定點。

  ●對于限定使用的浮點算法,您的面積要求中有足夠的余量。

使用本機浮點的實例

  如圖 8 所示,如果您正在處理動態范圍問題并打算使用更長的字長,那么定點實現可能比浮點版本消耗更多的資源。

圖8. Sqrt 函數資源利用率。在更大的字長下,sqrt 將比單精度實現消耗更多的 FPGA 資源,而后者具有固定的成本。

  為了解本機浮點在這種情況下是如何發揮作用,請思考一下電動汽車模型的例子(圖9)。這是一個包含許多組件的復雜模型,包括電池模型、逆變器、PMSM 和車輛模型。

圖9.電動汽車模型。

  圖 10 顯示了用于實現這些組件的數學方程式。

圖10.電動汽車模型中使用的數學方程式。

  由于組件之間的所有反饋回路,通過定點將此模型應用到硬件上可能具有挑戰性。在 PMSM 和逆變器之間具有復雜反饋回路的組件系統中,弄清楚如何減少量化誤差可能需要幾個月的時間。為了減少誤差,您必須使用非常大的字長。但是,有了浮點支持,您可以直接將此模型應用在硬件上,而無需將其轉換為定點。

  如圖 11 所示,對于具有反饋回路的算法,浮點是正確的數據類型選擇,因為浮點實現使用的面積較小,性能更好,而同一算法的定點版本則需要較大的字長。

圖11.電動汽車模型的定點和浮點實現的比較。

結論
  習慣上,定點量化一直是使算法滿足 FPGA 或 ASIC 硬件要求的最具挑戰性的任務之一。本機浮點 HDL 代碼生成允許您生成 VHDL 或 Verilog,以便在硬件中實現浮點,而無需進行定點轉換。如果您要創建FPGA實現,這種方法可以節省大量時間,并且可以更快地將算法應用到 Xilinx? Zynq? SoC 或 Intel?SoC FPGA。


  對于需要兩者兼備的設計——既要使用定點的控制邏輯又要使用浮點的高動態范圍數據路徑,您可以輕松地將兩者結合起來。


下一篇: PLC、DCS、FCS三大控

上一篇: 藝賽旗財務機器人應用

推薦產品

更多
主站蜘蛛池模板: 酒瓶_酒杯_玻璃瓶生产厂家_徐州明政玻璃制品有限公司 | 蓝鹏测控平台 - 智慧车间系统 - 车间生产数据采集与分析系统 | Honsberg流量计-Greisinger真空表-气压计-上海欧臻机电设备有限公司 | 天津力值检测-天津管道检测-天津天诚工程检测技术有限公司 | 东莞爱加真空科技有限公司-进口真空镀膜机|真空镀膜设备|Polycold维修厂家 | PC构件-PC预制构件-构件设计-建筑预制构件-PC构件厂-锦萧新材料科技(浙江)股份有限公司 | 微水泥_硅藻泥_艺术涂料_艺术漆_艺术漆加盟-青岛泥之韵环保壁材 武汉EPS线条_EPS装饰线条_EPS构件_湖北博欧EPS线条厂家 | 展厅设计公司,展厅公司,展厅设计,展厅施工,展厅装修,企业展厅,展馆设计公司-深圳广州展厅设计公司 | 浙江华锤电器有限公司_地磅称重设备_防作弊地磅_浙江地磅售后维修_无人值守扫码过磅系统_浙江源头地磅厂家_浙江工厂直营地磅 | 谈股票-今日股票行情走势分析-牛股推荐排行榜 | 政府回应:200块在义乌小巷能买到爱情吗?——揭秘打工族省钱约会的生存智慧 | 元拓建材集团官方网站| 充气膜专家-气膜馆-PTFE膜结构-ETFE膜结构-商业街膜结构-奥克金鼎 | 连续密炼机_双转子连续密炼机_连续式密炼机-南京永睿机械制造有限公司 | 电抗器-能曼电气-电抗器专业制造商 | 电动高压冲洗车_价格-江苏速利达机车有限公司 | 工控机-工业平板电脑-研华工控机-研越无风扇嵌入式box工控机 | 减速机三参数组合探头|TSM803|壁挂式氧化锆分析仪探头-安徽鹏宸电气有限公司 | 诸城网站建设-网络推广-网站优化-阿里巴巴托管-诸城恒泰互联 | 流量卡中心-流量卡套餐查询系统_移动电信联通流量卡套餐大全 | 芝麻黑-芝麻黑石材厂家-永峰石业 | 中国产业发展研究网 - 提供行业研究报告 可行性研究报告 投资咨询 市场调研服务 | 偏心半球阀-电动偏心半球阀-调流调压阀-旋球阀-上欧阀门有限公司 | 交通信号灯生产厂家_红绿灯厂家_电子警察监控杆_标志杆厂家-沃霖电子科技 | 登车桥动力单元-非标液压泵站-非标液压系统-深圳市三好科技有限公司 | 视频教程导航网_视频教程之家_视频教程大全_最新视频教程分享发布平台 | 扫地车厂家-山西洗地机-太原电动扫地车「大同朔州吕梁晋中忻州长治晋城洗地机」山西锦力环保科技有限公司 | 咖啡加盟,咖啡店加盟连锁品牌-卡小逗 | 胜为光纤光缆_光纤跳线_单模尾纤_光纤收发器_ODF光纤配线架厂家直销_北京睿创胜为科技有限公司 - 北京睿创胜为科技有限公司 | 亳州网络公司 - 亳州网站制作 - 亳州网站建设 - 亳州易天科技 | 外贮压-柜式-悬挂式-七氟丙烷-灭火器-灭火系统-药剂-价格-厂家-IG541-混合气体-贮压-非贮压-超细干粉-自动-灭火装置-气体灭火设备-探火管灭火厂家-东莞汇建消防科技有限公司 | 宏源科技-房地产售楼系统|线上开盘系统|售楼管理系统|线上开盘软件 | 泥浆在线密度计厂家-防爆数字压力表-膜盒-远传压力表厂家-江苏大亚自控设备有限公司 | 考勤系统_考勤管理系统_网络考勤软件_政企|集团|工厂复杂考勤工时统计排班管理系统_天时考勤 | 防爆暖风机_防爆电暖器_防爆电暖风机_防爆电热油汀_南阳市中通智能科技集团有限公司 | 智成电子深圳tdk一级代理-提供TDK电容电感贴片蜂鸣器磁芯lambda电源代理经销,TDK代理商有哪些TDK一级代理商排名查询。-深圳tdk一级代理 | 天津试验仪器-电液伺服万能材料试验机,恒温恒湿标准养护箱,水泥恒应力压力试验机-天津鑫高伟业科技有限公司 | 铝机箱_铝外壳加工_铝外壳厂家_CNC散热器加工-惠州市铂源五金制品有限公司 | 焊锡丝|焊锡条|无铅锡条|无铅锡丝|无铅焊锡线|低温锡膏-深圳市川崎锡业科技有限公司 | 齿轮减速机电机一体机_齿轮减速箱加电机一体化-德国BOSERL蜗轮蜗杆减速机电机生产厂家 | 硫化罐-电加热蒸汽硫化罐生产厂家-山东鑫泰鑫智能装备有限公司 |