微波EDA网,见证研发工程师的成长! 2025濠电姷鏁告慨鐑藉极閸涘﹥鍙忛柟缁㈠枟閸庡顭块懜闈涘缂佺嫏鍥х閻庢稒蓱鐏忣厼霉濠婂懎浜惧ǎ鍥э躬婵″爼宕熼鐐差瀴闂備礁鎲¢悷銉ф崲濮椻偓瀵鏁愭径濠勵吅闂佹寧绻傚Λ顓炍涢崟顓犵<闁绘劦鍓欓崝銈嗙箾绾绡€鐎殿喖顭烽幃銏ゅ川婵犲嫮肖闂備礁鎲¢幐鍡涘川椤旂瓔鍟呯紓鍌氬€搁崐鐑芥嚄閼搁潧鍨旀い鎾卞灩閸ㄥ倿鏌涢锝嗙闁藉啰鍠栭弻鏇熺箾閻愵剚鐝曢梺绋款儏濡繈寮诲☉姘勃闁告挆鈧Σ鍫濐渻閵堝懘鐛滈柟鍑ゆ嫹04闂傚倸鍊搁崐鎼佸磹閹间礁纾归柟闂寸绾惧綊鏌熼梻瀵割槮缁惧墽鎳撻—鍐偓锝庝簼閹癸綁鏌i鐐搭棞闁靛棙甯掗~婵嬫晲閸涱剙顥氬┑掳鍊楁慨鐑藉磻閻愮儤鍋嬮柣妯荤湽閳ь兛绶氬鎾閳╁啯鐝曢梻浣藉Г閿氭い锔诲枤缁辨棃寮撮姀鈾€鎷绘繛杈剧秬濞咃絿鏁☉銏$厱闁哄啠鍋撴繛鑼枛閻涱噣寮介褎鏅濋梺闈涚墕濞诧絿绮径濠庢富闁靛牆妫涙晶閬嶆煕鐎n剙浠遍柟顕嗙節婵$兘鍩¢崒婊冨箺闂備礁鎼ú銊╁磻濞戙垹鐒垫い鎺嗗亾婵犫偓闁秴鐒垫い鎺嶈兌閸熸煡鏌熼崙銈嗗10闂傚倸鍊搁崐鎼佸磹閹间礁纾归柟闂寸绾惧綊鏌熼梻瀵割槮缁惧墽鎳撻—鍐偓锝庝簼閹癸綁鏌i鐐搭棞闁靛棙甯掗~婵嬫晲閸涱剙顥氬┑掳鍊楁慨鐑藉磻閻愮儤鍋嬮柣妯荤湽閳ь兛绶氬鎾閳╁啯鐝栭梻渚€鈧偛鑻晶鎵磼椤曞棛鍒伴摶鏍归敐鍫燁仩妞ゆ梹娲熷娲偡閹殿喗鎲奸梺鑽ゅ枂閸庣敻骞冨鈧崺锟犲礃椤忓棴绱查梻浣虹帛閻熴垽宕戦幘缁樼厱闁靛ǹ鍎抽崺锝団偓娈垮枛椤攱淇婇幖浣哥厸闁稿本鐭花浠嬫⒒娴e懙褰掑嫉椤掑倻鐭欓柟杈惧瘜閺佸倿鏌ㄩ悤鍌涘 闂傚倸鍊搁崐鎼佸磹閹间礁纾归柟闂寸绾惧綊鏌熼梻瀵割槮缁惧墽鎳撻—鍐偓锝庝簼閹癸綁鏌i鐐搭棞闁靛棙甯掗~婵嬫晲閸涱剙顥氬┑掳鍊楁慨鐑藉磻閻愮儤鍋嬮柣妯荤湽閳ь兛绶氬鎾閻樻爠鍥ㄧ厱閻忕偛澧介悡顖氼熆鐟欏嫭绀€闁宠鍨块、娆戠磼閹惧墎绐楅梻浣告啞椤棝宕橀敐鍡欌偓娲倵楠炲灝鍔氭繛鑼█瀹曟垿骞橀懜闈涙瀭闂佸憡娲﹂崜娑㈡晬濞戙垺鈷戦柛娑樷看濞堟洖鈹戦悙璇ц含闁诡喕鍗抽、姘跺焵椤掆偓閻g兘宕奸弴銊︽櫌婵犮垼娉涢鍡椻枍鐏炶В鏀介柣妯虹仛閺嗏晛鈹戦鑺ュ唉妤犵偛锕ュ鍕箛椤掑偊绱遍梻浣筋潐瀹曟﹢顢氳閺屻劑濡堕崱鏇犵畾闂侀潧鐗嗙€氼垶宕楀畝鍕厱婵炲棗绻戦ˉ銏℃叏婵犲懏顏犵紒杈ㄥ笒铻i柤濮愬€ゅΣ顒勬⒒娴e懙褰掓晝閵堝拑鑰块梺顒€绉撮悞鍨亜閹哄秷鍏岄柛鐔哥叀閺岀喖宕欓妶鍡楊伓闂傚倸鍊搁崐鎼佸磹閹间礁纾归柟闂寸绾惧綊鏌熼梻瀵割槮缁炬儳缍婇弻锝夊箣閿濆憛鎾绘煕婵犲倹鍋ラ柡灞诲姂瀵挳鎮欏ù瀣壕闁告縿鍎虫稉宥夋煛瀹ュ骸骞楅柣鎾存礃閵囧嫰骞囬崜浣荷戠紓浣插亾闁逞屽墰缁辨帡鎮欓鈧崝銈夋煟韫囨梻绠為柛鈺冨仱楠炲鏁傞挊澶夋睏闂佽楠稿﹢杈ㄦ叏閹绢啟澶娾攽閸垻锛濇繛杈剧到閹碱偊顢撳畝鍕厱闁靛ǹ鍎抽崺锝団偓娈垮枛椤攱淇婇幖浣哥厸闁稿本鐭花浠嬫⒒娴e懙褰掑嫉椤掑倻鐭欓柟杈惧瘜閺佸倿鏌ㄩ悤鍌涘
首页 > 硬件设计 > 嵌入式设计 > 将SoC平台设计与DSP系统生成器相集成

将SoC平台设计与DSP系统生成器相集成

时间:07-01 来源:互联网 点击:
手把手课堂:FPGA 101 将SoC平台设计与DSP系统生成器相集成

作者:Daniel E. Michek,赛灵思公司系统级产品营销高级经理,daniel.michek@xilinx.com

Vivado系统生成器工具能方便地接入平台设计,从而可充分利用开发板接口和处理系统。

FPGA的应用不断拓展,同时FPGA设计流程也随之不断演进。我们不再将FPGA用作简单的胶合逻辑,甚至不再作为信号处理链的核心,用以将IP与专有后端接口集成。相反,FPGA正在转变为可编程片上系统,其中包含作为处理器外设的硬件以及在强大APU上运行的高级软件。这种架构就是我们所说的赛灵思全可编程SoC。

为了充分发挥这种全新流程的优势,我们需要将设计方法从FPGA早期的自上而下RTL转变为以IP开发和标准化连接(例如ARM的高级可扩展接口 (AXI))为中心的自下而上流程。随着接口从定制接口发展为通用接口,我们就可以花更少的精力来验证数据路径与平台设计之间的交互。

赛灵思DSP系统生成器(System Generator for DSP)同样也得到了发展。该工具是Vivado®设计套件的一部分,其通过将DSP数据路径整合到用Vivado IP Integrator工具构建的平台设计中,打造出全新的自下而上设计方法。我们仔细看看系统生成器(System Generator)实现的设计自动化如何帮助高性能设计充分利用平台连接功能。

构建全可编程平台框架

通过定义用来存放数据路径的平台框架,我们可以启动全新的设计流程。Vivado工具套件能识别开发板;我们将利用开发板自动化功能构建新的平台设计。

如图1所示,平台设计或平台框架的基本组成包括:处理器级和开发板级接口,以及将其组合在一起的逻辑。我们将平台框架作为系统级设计的基础(即外壳),这给我们的数据路径提供了空间。模块和连接功能自动化通过IP外设将处理系统连接到板级接口。封装在IP Catalog中的DSP数据路径或软件加速器利用赛灵思Designer Assistance自动化功能方便地连接到我们的处理器平台框架中,进而连接到外部器件接口。

创建作为可输入IP的数据路径

我们的最终目标是让数据路径能进入全可编程平台框架。如果要从头开始,我们可以用标准化接口创建数据路径。如图2所示,只需将网关端口迅速标记为AXI4-Lite接口,或者对端口进行命名以匹配标准连接(如Simulink®图上的AXI4-Stream),这样,System Generator为Vivado IP Catalog打包设计时就会为设计添加额外逻辑并将通用信号收集到接口内。

不过,我们利用一种新设计方法,使用平台框架定制一个可集成到全可编程设计的插件。我们使用自动化功能确定平台设计中现有哪些接口,哪些接口与开发板关联,以及哪些接口可为DSP数据路径创建插件。既然我们的目标是将数据路径转换为可连接至平台框架的IP,因此我们不需要关注板级接口,而是关注标准化AXI接口。开发板上的每个不关联接口转变为System Generator网关。这些网关在System Generator中充当简单信号,当我们将平台设计导出到IP Catalog时,这些网关会生成用以连接平台设计的AXI 接口。

闂傚倸鍊搁崐鎼佸磹閹间礁纾归柟闂寸绾惧綊鏌熼梻瀵割槮缁惧墽鎳撻—鍐偓锝庝簼閹癸綁鏌i鐐搭棞闁靛棙甯掗~婵嬫晲閸涱剙顥氬┑掳鍊楁慨鐑藉磻濞戔懞鍥偨缁嬪灝鐎俊銈忕到閸燁偆绮诲☉妯忓綊鏁愰崨顔跨缂備礁顑勯懗鍓佹閹捐纾兼慨姗嗗厴閸嬫捇鎮滈懞銉モ偓鍧楁煥閺囨氨鍔嶉柟鍐茬焸濮婄粯鎷呴崨濠傛殘闂佽崵鍠嗛崕鎶藉箲閵忕媭娼ㄩ柍褜鍓欓锝嗙節濮橆厼浜滅紒鐐妞存悂寮查鍕拺闁圭ǹ娴风粻鎾寸箾鐠囇呭埌閺佸牊淇婇妶鍛櫤闁稿鍓濈换婵囩節閸屾稑娅e銈忕到閵堟悂骞冩禒瀣垫晬婵炴垶蓱鐠囩偤姊虹拠鈥虫灍闁荤噦濡囬幑銏犫攽鐎n亞鍊為梺闈浤涢崘銊ヮ洭濠电姷鏁告慨鐑藉极閹间礁纾规い鏍仜閻掑灚銇勯幒鎴濐仼缁炬儳顭烽弻鐔煎礈瑜忕敮娑㈡煟閹惧娲撮柟顔筋殜閺佹劖鎯旈垾鑼晼濠电姭鎷冮崘顏冪驳闂侀€涚┒閸斿秶鎹㈠┑瀣窛妞ゆ洖鎳嶉崫妤呮⒒娴e憡璐¢柟铏尵閳ь剚姘ㄦ晶妤佺┍婵犲洤绠瑰ù锝堝€介妸鈺傜叆闁哄啠鍋撻柛搴$-缁辩偤骞掑Δ浣叉嫽闂佺ǹ鏈悷銊╁礂瀹€鍕厵闁惧浚鍋呭畷宀€鈧娲滈弫璇差嚕娴犲鏁囬柣鎰問閸炵敻姊绘担鑺ョ《闁革綇绠撻獮蹇涙晸閿燂拷...
图1 –将处理系统连接到板级接口的平台框架实例

如实例所示,AXI4-Lite接口创建独立的读/写信号,在导出到Vivado工具套件时共享通用的可寻址寄存器接口。简单的复制-粘贴使我们在地址偏移位置通过相同接口获得更多用于处理器的直接寄存器。同时,我们可自动生成软件驱动API以读/写寄存器。

闂傚倸鍊搁崐鎼佸磹閹间礁纾归柟闂寸绾惧綊鏌熼梻瀵割槮缁惧墽鎳撻—鍐偓锝庝簼閹癸綁鏌i鐐搭棞闁靛棙甯掗~婵嬫晲閸涱剙顥氬┑掳鍊楁慨鐑藉磻濞戔懞鍥偨缁嬪灝鐎俊銈忕到閸燁偆绮诲☉妯忓綊鏁愰崨顔跨缂備礁顑勯懗鍓佹閹捐纾兼慨姗嗗厴閸嬫捇鎮滈懞銉モ偓鍧楁煥閺囨氨鍔嶉柟鍐茬焸濮婄粯鎷呴崨濠傛殘闂佽崵鍠嗛崕鎶藉箲閵忕媭娼ㄩ柍褜鍓欓锝嗙節濮橆厼浜滅紒鐐妞存悂寮查鍕拺闁圭ǹ娴风粻鎾寸箾鐠囇呭埌閺佸牊淇婇妶鍛櫤闁稿鍓濈换婵囩節閸屾稑娅e銈忕到閵堟悂骞冩禒瀣垫晬婵炴垶蓱鐠囩偤姊虹拠鈥虫灍闁荤噦濡囬幑銏犫攽鐎n亞鍊為梺闈浤涢崘銊ヮ洭濠电姷鏁告慨鐑藉极閹间礁纾规い鏍仜閻掑灚銇勯幒鎴濐仼缁炬儳顭烽弻鐔煎礈瑜忕敮娑㈡煟閹惧娲撮柟顔筋殜閺佹劖鎯旈垾鑼晼濠电姭鎷冮崘顏冪驳闂侀€涚┒閸斿秶鎹㈠┑瀣窛妞ゆ洖鎳嶉崫妤呮⒒娴e憡璐¢柟铏尵閳ь剚姘ㄦ晶妤佺┍婵犲洤绠瑰ù锝堝€介妸鈺傜叆闁哄啠鍋撻柛搴$-缁辩偤骞掑Δ浣叉嫽闂佺ǹ鏈悷銊╁礂瀹€鍕厵闁惧浚鍋呭畷宀€鈧娲滈弫璇差嚕娴犲鏁囬柣鎰問閸炵敻姊绘担鑺ョ《闁革綇绠撻獮蹇涙晸閿燂拷...
图2 – 自动将网关导入AXI4-Lite和AXI4-Stream接口

闂傚倸鍊搁崐鎼佸磹閹间礁纾归柟闂寸绾惧綊鏌熼梻瀵割槮缁惧墽鎳撻—鍐偓锝庝簼閹癸綁鏌i鐐搭棞闁靛棙甯掗~婵嬫晲閸涱剙顥氬┑掳鍊楁慨鐑藉磻濞戔懞鍥偨缁嬪灝鐎俊銈忕到閸燁偆绮诲☉妯忓綊鏁愰崨顔跨缂備礁顑勯懗鍓佹閹捐纾兼慨姗嗗厴閸嬫捇鎮滈懞銉モ偓鍧楁煥閺囨氨鍔嶉柟鍐茬焸濮婄粯鎷呴崨濠傛殘闂佽崵鍠嗛崕鎶藉箲閵忕媭娼ㄩ柍褜鍓欓锝嗙節濮橆厼浜滅紒鐐妞存悂寮查鍕拺闁圭ǹ娴风粻鎾寸箾鐠囇呭埌閺佸牊淇婇妶鍛櫤闁稿鍓濈换婵囩節閸屾稑娅e銈忕到閵堟悂骞冩禒瀣垫晬婵炴垶蓱鐠囩偤姊虹拠鈥虫灍闁荤噦濡囬幑銏犫攽鐎n亞鍊為梺闈浤涢崘銊ヮ洭濠电姷鏁告慨鐑藉极閹间礁纾规い鏍仜閻掑灚銇勯幒鎴濐仼缁炬儳顭烽弻鐔煎礈瑜忕敮娑㈡煟閹惧娲撮柟顔筋殜閺佹劖鎯旈垾鑼晼濠电姭鎷冮崘顏冪驳闂侀€涚┒閸斿秶鎹㈠┑瀣窛妞ゆ洖鎳嶉崫妤呮⒒娴e憡璐¢柟铏尵閳ь剚姘ㄦ晶妤佺┍婵犲洤绠瑰ù锝堝€介妸鈺傜叆闁哄啠鍋撻柛搴$-缁辩偤骞掑Δ浣叉嫽闂佺ǹ鏈悷銊╁礂瀹€鍕厵闁惧浚鍋呭畷宀€鈧娲滈弫璇差嚕娴犲鏁囬柣鎰問閸炵敻姊绘担鑺ョ《闁革綇绠撻獮蹇涙晸閿燂拷...
图3 – 将DSP数据路径连接到平台框架的平台系统

如果平台设计中提供AXI4-Stream接口,System Generator会向模型添加正确匹配的网关。AXI4- Stream接口极其灵活并包含很多信号。ACLK时钟源与该接口相关联,但该信号直接作为这部分数据路径的抽象系统时钟。TVALID信号表示接口有效。其他信号为可选信号。System Generator会将初始流接口中的信号添加到我们的模型,不过我们可以通过删除或添加信号来满足内部要求。

在图2所示的模型中,我们的数据路径只关心TDATA(经接口发送的数据)和S_AXIS接口上的TVALID。为删除不必要的信号,我们针对该模型对没用的网关添加注释,因为默认值将会驱动IP Integrator中的信号连接。

AXI4-Lite和AXI4-Stream信号能利用自下而上方法轻松进行仿真和验证。AXI4-Lite接口建模为用于访问大量Simulink模块的简单网关,实现网关一侧到另一侧数据传送的抽象。同样,AXI4-Stream接口只是一系列遵循简单握手规则的信号,以将数据从一个IP核传递到另一个。

仿真建模的唯一挑战在于接口上所用的可选端口。如果我们每个周期都接收数据并通过数据路径无中断地进行处理,我们就不需要TREADY握手信号。简化模型通过TDATA 网关将矢量的每个元素从Simulink的信号发送到Workspace令牌。当需要完整握手时,我们用AXI4-Stream FIFO进行建模以缓冲数据,如图2中的M_AXIS接口所示。

这种定制的自动化功能可作为创建连接平台框架的IP的起点。不过,System Generator很灵活,允许我们添加或删除部分甚至整个AXI接口。最终可将数据路径转换为可在多个系统级设计中重用的IP。

添加逻辑后,最后一步是将使用DSP系统生成器构建的数据路径导出到Vivado IP Catalog。这种操作能实现接口的简单连接,无论使用RTL还是在IP Integrator中都是如此。此外,我们还生成在SDK中使用的驱动器,并将具有最佳测试向量数据的仿真模型连接到IP。由于我们在创建DSP数据路径时事先知道平台框架的情况,因此能自动组合模型和平台设计,如图3中的完整系统所示。

鐏忓嫰顣舵稉鎾茬瑹閸╃顔勯弫娆戔柤閹恒劏宕�

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top