您好,歡迎來電子發(fā)燒友網(wǎng)! ,新用戶?[免費(fèi)注冊(cè)]

您的位置:電子發(fā)燒友網(wǎng)>電子百科>主機(jī)配件>軟驅(qū)>

基于模型的Zynq SoC軟硬件協(xié)同設(shè)計(jì)工作流程及其案例研究

2017年11月17日 09:43 MathWorks 公司 作者:Eric Cigan,Noam Levin 用戶評(píng)論(0
關(guān)鍵字:matlab(227703)仿真(130856)

基于模型的設(shè)計(jì)工作流程讓工程師不必進(jìn)入實(shí)驗(yàn)室,在桌面上就能完成設(shè)計(jì)權(quán)衡。

2011 年賽靈思 Zynq?-7000 All Programmable SoC 的推出為 FPGA 行業(yè)帶來了突破性創(chuàng)新。這些器件通過將雙核 ARM?CortexTM-A9MPCoreTM 處理器和豐富的可編程邏輯完美結(jié)合在一起,為大量應(yīng)用提供了諸多優(yōu)勢(shì)。采用 Zynq SoC,設(shè)計(jì)人員既可享受在行業(yè)最常用的處理器上開發(fā)軟件應(yīng)用的好處,還能獲得通過高速可編程邏輯架構(gòu)上的硬件加速所提供的靈活性和吞吐量。

借助MathWorks ? 提供的 MATLAB? 和Simulink?,今天的創(chuàng)新者能夠運(yùn)用高度集成的軟硬件工作流程創(chuàng)建高度優(yōu)化的系統(tǒng)。本文提供的案例研究將講述這一基于模型的工作流程。

賽靈思于 2011 年 12 月推出業(yè)界首款Zynq SoC時(shí),設(shè)計(jì)人員就意識(shí)到他們可以將其傳統(tǒng)的用分立處理器和 FPGA 構(gòu)建的多芯片解決方案移植到單芯片平臺(tái)上。他們可以在新平臺(tái)上創(chuàng)建基于 FPGA 的加速器,掃除軟件執(zhí)行障礙,利用賽靈思及其 IP 合作伙伴提供的一系列的現(xiàn)成的生產(chǎn)就緒型 IP,滿足數(shù)字信號(hào)處理、網(wǎng)絡(luò)、通信等應(yīng)用需求。
?

尚待解決的問題是他們?nèi)绾螢檫@款新器件編程。憧憬軟硬件聯(lián)合設(shè)計(jì)潛力的設(shè)計(jì)人員尋求的是能夠在 ARM 處理器和可編程邏輯間對(duì)設(shè)計(jì)進(jìn)行智能分區(qū)的集成工作流程。但他們找到的卻是各自為陣的軟硬件工作流程:一面是針對(duì) ARM 內(nèi)核的常規(guī)嵌入式軟件開發(fā)流程;另一面是針對(duì)可編程邏輯的IP 組裝、傳統(tǒng)RTL 和新興高層次綜合工具組合在一起的硬件工作流程。

集成工作流程

2013 年 9 月,MathWorks 使用基于模型的設(shè)計(jì)推出了一種 Zynq-7000 SoC 軟硬件工作流程。在這個(gè)工作流程(圖 1)中,設(shè)計(jì)人員可在 Simulink 中創(chuàng)建用于表達(dá)完整動(dòng)態(tài)系統(tǒng)的模型(含用于針對(duì) ZynqSoC 的算法的 Simulink 模型),還可直接從算法迅速創(chuàng)建針對(duì) Zynq SoC 的軟硬件設(shè)計(jì)。

系統(tǒng)設(shè)計(jì)人員和算法開發(fā)人員在 Simulink 中使用仿真為完整系統(tǒng)(通信、機(jī)電組件等)創(chuàng)建模型,以評(píng)估設(shè)計(jì)概念、進(jìn)行高層權(quán)衡并將算法分配給軟硬件。從 Simulink 生成 HDL 代碼便于在 Zynq SoC架構(gòu)上創(chuàng)建 IP 核和高速 I/O 處理。從 Simulink 生成C/C++ 代碼便于為 Zynq SoC 的 Cortex-A9 內(nèi)核編程,從而支持快速嵌入式軟件迭代。

這種方法能夠自動(dòng)生成鏈接 ARM 處理系統(tǒng)和可編程邏輯的 AMBA? AXI4 接口,為 Zynq SoC 提供支持。通過與 C/C++ 編譯、為 ARM 處理系統(tǒng)構(gòu)建可執(zhí)行文件、使用賽靈思設(shè)計(jì)工具生成比特流、下載到 Zynq 開發(fā)板等下游任務(wù)集成,實(shí)現(xiàn)了高速原型設(shè)計(jì)流程。

該工作流程的兩大核心分別是:Embedded Coder? 和 HDL CoderTM 技術(shù)。Embedded Coder 負(fù)責(zé)從 MATLAB、Simulink 和 Stateflow 生成量產(chǎn)質(zhì)量級(jí)的 C 和 C++ 代碼,并對(duì)嵌入式系統(tǒng)進(jìn)行針對(duì)性的優(yōu)化。Embedded Coder 的應(yīng)用已經(jīng)相當(dāng)廣泛,當(dāng)您駕駛現(xiàn)代乘用車、乘坐高速列車或搭乘商業(yè)航班時(shí),這些交通工具極有可能就處于 Embedded Coder 實(shí)時(shí)生成的代碼的控制之下。HDL Coder 與 Embedded Coder 對(duì)應(yīng),負(fù)責(zé)為 FPGA 和 ASIC 生成 VHDL 或 Verilog 并已緊密集成到賽靈思工作流程中。這種成熟的 C 和 HDL 代碼生成技術(shù)是可編程 SoC 的基于模型的設(shè)計(jì)工作流程的基礎(chǔ)。在通信、圖像處理、智能電源和電機(jī)控制等領(lǐng)域中使用基于模型的設(shè)計(jì)的設(shè)計(jì)團(tuán)隊(duì)已經(jīng)采用這一工作流程。

它是算法開發(fā)人員與硬件設(shè)計(jì)人員和嵌入式開發(fā)人員密切協(xié)作,加快算法在可編程 SoC 上實(shí)現(xiàn)的途徑。當(dāng)生成的 HDL 和 C 語言代碼在硬件中完成原型設(shè)計(jì),設(shè)計(jì)團(tuán)隊(duì)就可以使用賽靈思 Vivado? IP 集成器把該代碼與其他生產(chǎn)所需的設(shè)計(jì)組件集成在一起。

案例研究:三相電機(jī)控制

出于多種原因,具有高效電源轉(zhuǎn)換能力的定制電機(jī)控制器是可編程 SoC 領(lǐng)域最常見的應(yīng)用之一。更高性能、更高效率的方案是一個(gè)因素。在電機(jī)驅(qū)動(dòng)系統(tǒng)占全球耗電總量 46% 的情況下,運(yùn)用新穎控制算法實(shí)現(xiàn)更高效率是一個(gè)電機(jī)驅(qū)動(dòng)設(shè)計(jì)追求的永無止境的共同目標(biāo)。賽靈思 Zynq 可編程邏輯能實(shí)現(xiàn)精確的時(shí)序,是設(shè)計(jì)低時(shí)延高效率驅(qū)動(dòng)器的理想平臺(tái)。

非常好我支持^.^

(0) 0%

不好我反對(duì)

(0) 0%

( 發(fā)表人:黃昊宇 )

      發(fā)表評(píng)論

      用戶評(píng)論
      評(píng)價(jià):好評(píng)中評(píng)差評(píng)

      發(fā)表評(píng)論,獲取積分! 請(qǐng)遵守相關(guān)規(guī)定!

      ?