陶 丹,何 賓
(1.北京交通大學(xué)電子信息工程學(xué)院,電工電子實(shí)驗(yàn)教學(xué)中心,北京 1000442.北京化工大學(xué)信息科學(xué)與技術(shù)學(xué)院,北京 100029)
全國(guó)大學(xué)生電子設(shè)計(jì)競(jìng)賽是教育部倡導(dǎo)的大學(xué)生學(xué)科競(jìng)賽之一,是面向大學(xué)生的具有權(quán)威性和影響力的群眾性科技活動(dòng)[1]。
基于可編程邏輯器件的新型數(shù)字系統(tǒng)設(shè)計(jì)方法是全國(guó)大學(xué)生電子設(shè)計(jì)競(jìng)賽所要掌握的內(nèi)容之一。目前,國(guó)內(nèi)各高校信息類專業(yè)教師對(duì)該知識(shí)點(diǎn)的掌握程度參差不齊,一些高校仍停留在傳統(tǒng)數(shù)字電路教學(xué)水平。因此,2011年全國(guó)大學(xué)生電子設(shè)計(jì)競(jìng)賽各賽區(qū)組委會(huì)在競(jìng)賽前,組織了一些省級(jí)賽區(qū)信息類教師進(jìn)行使用可編程邏輯器件設(shè)計(jì)復(fù)雜數(shù)字系統(tǒng)P-SoC專題的集中培訓(xùn)。以電子信息課程的基礎(chǔ)理念知識(shí)和最新的業(yè)界動(dòng)態(tài)有機(jī)結(jié)合的形式,促進(jìn)國(guó)內(nèi)電子信息教學(xué)水平的整體提高。
2011年全國(guó)大學(xué)生電子設(shè)計(jì)競(jìng)賽北京賽區(qū)、陜西賽區(qū)和山東賽區(qū)開(kāi)展了SoC專題培訓(xùn)工作。在兩天的集中培訓(xùn)期間,這些賽區(qū)幾乎100%的信息類專業(yè)本科和高職院校的教師都會(huì)全程參與培訓(xùn)。培訓(xùn)采用理論講解和工程實(shí)際操作相結(jié)合的方式:①理論講解注重將傳統(tǒng)的電子課程和最新的SoC技術(shù)相結(jié)合;②工程實(shí)踐側(cè)重于專業(yè)知識(shí)及新技術(shù)在工程設(shè)計(jì)中的靈活運(yùn)用和具體實(shí)現(xiàn)。
這種集體培訓(xùn)形式為高校教師之間互相交流創(chuàng)新人才培養(yǎng)體會(huì)和輔導(dǎo)學(xué)生競(jìng)賽經(jīng)驗(yàn)等方面提供了寶貴的機(jī)會(huì)。培訓(xùn)資源的全面共享使得高校教師可以在第一時(shí)間,將最新的SoC設(shè)計(jì)技術(shù)應(yīng)用于電子類課堂的理論教學(xué)和實(shí)踐教學(xué)環(huán)節(jié)中。
業(yè)界廠商積極地參與到電子競(jìng)賽前的專題培訓(xùn),有利地推動(dòng)了新技術(shù)的推廣普及和應(yīng)用。美國(guó)Xilinx公司對(duì)這次全國(guó)大學(xué)生電子設(shè)計(jì)競(jìng)賽大賽區(qū)的P-SoC專題培訓(xùn)給予了全程的支持。在培訓(xùn)期間,他們向各個(gè)參加培訓(xùn)的學(xué)校免費(fèi)捐贈(zèng)了最新的ISE13.1設(shè)計(jì)套件、基于Spartan-6器件的Nexys3板卡以及相關(guān)配套的教學(xué)資源,這些軟件和硬件平臺(tái)充分反映了FPGA設(shè)計(jì)技術(shù)的最新發(fā)展方向,使教師可以更全面地了解相關(guān)領(lǐng)域的發(fā)展動(dòng)態(tài)和最新的設(shè)計(jì)方法。
這種競(jìng)賽前教師集中培訓(xùn)的形式使得教師可以有針對(duì)性的指導(dǎo)學(xué)生,讓學(xué)生在競(jìng)賽的準(zhǔn)備過(guò)程中得到系統(tǒng)工程化的訓(xùn)練。這次多省區(qū)的專題培訓(xùn)內(nèi)容主要涉及:基于FPGA的數(shù)模混合系統(tǒng)的設(shè)計(jì)和基于FPGA的片上可編程系統(tǒng)設(shè)計(jì)兩方面內(nèi)容。這些內(nèi)容貫穿了電子類課程的公共基本知識(shí)點(diǎn)和相關(guān)專業(yè)課程的內(nèi)容。學(xué)生在教師的指導(dǎo)下運(yùn)用所學(xué)的知識(shí)以及掌握的新技術(shù)和設(shè)計(jì)平臺(tái),基于系統(tǒng)建模的方法,實(shí)現(xiàn)一個(gè)具有創(chuàng)意的設(shè)計(jì)。通過(guò)這個(gè)過(guò)程,學(xué)生能夠充分地掌握建模這一重要的方法,明白系統(tǒng)建模和具體實(shí)現(xiàn)之間的有機(jī)聯(lián)系。
“北化Xilinx學(xué)習(xí)社區(qū)”(網(wǎng)址:http://bucteda.eefocus.com)主要目的即配合大學(xué)生電子設(shè)計(jì)競(jìng)賽開(kāi)展相關(guān)網(wǎng)絡(luò)輔導(dǎo)工作。該開(kāi)放式平臺(tái)將原有的課堂教學(xué)和課外實(shí)踐教學(xué)模式,改變成集課堂教學(xué)、科學(xué)研究和創(chuàng)新實(shí)踐相結(jié)合的全程化教學(xué)模式[2],對(duì)學(xué)校相關(guān)課程的課堂教學(xué)和學(xué)生創(chuàng)新實(shí)踐活動(dòng)以及相關(guān)電子競(jìng)賽起到良好的支撐作用。自該社區(qū)創(chuàng)建以來(lái),訪問(wèn)量已經(jīng)突破12萬(wàn)人次,成為重要的免費(fèi)教學(xué)資源平臺(tái)。該平臺(tái)提供了論壇、問(wèn)答、郵件群發(fā)和個(gè)人博客等開(kāi)放式交流互動(dòng)模式。學(xué)生在競(jìng)賽設(shè)計(jì)中通過(guò)組織學(xué)習(xí)素材、參與討論話題、分享經(jīng)驗(yàn)心得和形成競(jìng)賽成果等,培養(yǎng)自主學(xué)習(xí)、團(tuán)隊(duì)協(xié)作意識(shí)以及實(shí)踐創(chuàng)新能力。網(wǎng)站所有競(jìng)賽培訓(xùn)的資料面向高校師生免費(fèi)下載使用,并在線解答師生在學(xué)習(xí)使用過(guò)程中所遇到的各種問(wèn)題。
1)SoC設(shè)計(jì)技術(shù)實(shí)際上是軟件和硬件的協(xié)同設(shè)計(jì),即在硅片上通過(guò)布局和布線在FPGA內(nèi)實(shí)現(xiàn)硬件平臺(tái)。這個(gè)芯片內(nèi)的硬件平臺(tái)包含:軟核處理器、塊存儲(chǔ)器、外設(shè)控制器知識(shí)產(chǎn)權(quán)核(IP)等資源。這些IP核資源通過(guò)互連線資源,在FPGA芯片內(nèi)進(jìn)行互聯(lián)。SoC實(shí)質(zhì)上就是若干IP核在硅片上的互聯(lián)。
2)在基于FPGA實(shí)現(xiàn)P-SoC的設(shè)計(jì)階段,是以C語(yǔ)言為代表的高級(jí)語(yǔ)言為中心的軟件設(shè)計(jì),而傳統(tǒng)數(shù)字邏輯使用的HDL在這里處于配角地位。這是由于在該設(shè)計(jì)階段,HDL語(yǔ)言用于構(gòu)建各種IP核資源,而最終的目的是通過(guò)軟件來(lái)驅(qū)動(dòng)硬件平臺(tái)工作。
3)P-SoC的最大特點(diǎn)是硬件加速,即將一些非常耗時(shí)的軟件算法,比如FFT、MP4等,轉(zhuǎn)換成使用HDL語(yǔ)言構(gòu)建的硬件IP核來(lái)實(shí)現(xiàn)。這樣在P-SoC內(nèi)就實(shí)現(xiàn)了微處理器的串行處理和硬件IP邏輯并行處理的完美結(jié)合,提高了嵌入式系統(tǒng)的整體性能。
在理論講解同時(shí),通過(guò)具體的設(shè)計(jì)案例說(shuō)明軟件和硬件協(xié)同工作、并行處理和串行處理的設(shè)計(jì)思想。該驅(qū)動(dòng)顯示案例包含硬件IP設(shè)計(jì)和軟件程序設(shè)計(jì)兩個(gè)部分:①使用HDL語(yǔ)言在P-SoC內(nèi)構(gòu)建7段數(shù)碼管的硬件驅(qū)動(dòng)IP核;②用軟件程序?qū)⑿枰@示的數(shù)據(jù)寫入到硬件驅(qū)動(dòng)IP核的寄存器中。該設(shè)計(jì)案例的重點(diǎn)在于說(shuō)明在P-SoC內(nèi)實(shí)現(xiàn)軟件和硬件的協(xié)同設(shè)計(jì)的方法,即劃分實(shí)現(xiàn)該設(shè)計(jì)的軟件和硬件邊界。
通過(guò)這個(gè)案例,也將P-SoC技術(shù)與傳統(tǒng)的單片機(jī)和純數(shù)字邏輯實(shí)現(xiàn)方式進(jìn)行比較,來(lái)說(shuō)明SoC的優(yōu)勢(shì)和特點(diǎn)。傳統(tǒng)單片機(jī)使用軟件通過(guò)控制外設(shè)端口實(shí)現(xiàn)對(duì)7段數(shù)碼管的顯示控制,數(shù)字邏輯使用HDL通過(guò)數(shù)字邏輯電路實(shí)現(xiàn)7段數(shù)碼管的顯示控制。這兩種傳統(tǒng)的方式遠(yuǎn)遠(yuǎn)不能滿足嵌入式系統(tǒng)對(duì)系統(tǒng)設(shè)計(jì)靈活性的要求?;谧钚碌腜-SoC平臺(tái),可以根據(jù)性能要求,通過(guò)硬件IP核和軟件的協(xié)同工作來(lái)實(shí)現(xiàn)。該設(shè)計(jì)案例中,通過(guò)HDL定制IP核實(shí)現(xiàn)對(duì)7段數(shù)碼管的精確的時(shí)序控制,用軟件實(shí)現(xiàn)將需要顯示的數(shù)據(jù)寫入7段數(shù)碼管控制器IP核內(nèi)的控制寄存器中。
本文通過(guò)具體實(shí)現(xiàn)過(guò)程,來(lái)說(shuō)明軟件的使用方法,以及設(shè)計(jì)過(guò)程所滲透的先進(jìn)設(shè)計(jì)理念。我們?cè)赬PS開(kāi)發(fā)環(huán)境中采用如下方法實(shí)現(xiàn)片上嵌入式系統(tǒng)的構(gòu)建。
1)這個(gè)設(shè)計(jì)通過(guò)使用基本系統(tǒng)設(shè)計(jì)向?qū)?shí)現(xiàn)最小的嵌入式系統(tǒng)的設(shè)計(jì),這個(gè)實(shí)現(xiàn)過(guò)程包括:目標(biāo)板的選擇,CPU頻率的設(shè)定、塊存儲(chǔ)器容量的選擇和外設(shè)控制器的選擇等步驟。
當(dāng)最小系統(tǒng)構(gòu)建完成后,通過(guò)實(shí)現(xiàn)細(xì)節(jié)來(lái)說(shuō)明P-SoC系統(tǒng)和微機(jī)原理課堂教學(xué)之間的有機(jī)聯(lián)系。這樣教師就理解為什么P-SoC實(shí)質(zhì)就是在硅片上實(shí)現(xiàn)微機(jī)原理。通過(guò)介紹說(shuō)明這個(gè)實(shí)現(xiàn)過(guò)程是強(qiáng)調(diào)系統(tǒng)級(jí)設(shè)計(jì),而“微機(jī)原理”課程的教學(xué)強(qiáng)調(diào)具體實(shí)現(xiàn)細(xì)節(jié)。這種基于P-SoC的系統(tǒng)級(jí)設(shè)計(jì),可以使教師和學(xué)生更好的從系統(tǒng)上把握嵌入式系統(tǒng)實(shí)現(xiàn)結(jié)構(gòu)。
2)通過(guò)創(chuàng)建和導(dǎo)入外設(shè)向?qū)?,介紹IP核生成技術(shù)。從微機(jī)原理的角度來(lái)說(shuō),定制IP實(shí)際上就是通過(guò)HDL語(yǔ)言來(lái)設(shè)計(jì)一個(gè)專用的外設(shè)控制器。而在“微機(jī)原理”課程中,只是介紹如何寫控制命令字,而不涉及芯片內(nèi)將這些控制命令轉(zhuǎn)換成具體的邏輯行為的方法。從這個(gè)角度來(lái)說(shuō),基于P-SoC的系統(tǒng)設(shè)計(jì)比微機(jī)原理課程能“看到”更多系統(tǒng)實(shí)現(xiàn)的細(xì)節(jié)問(wèn)題。
3)在生成的IP核模板內(nèi),使用HDL語(yǔ)言添加用戶端口和7段數(shù)碼管的硬件驅(qū)動(dòng)邏輯,目的是將寄存器保存的軟件給出的數(shù)據(jù),正確地顯示在7段數(shù)碼管上。在此設(shè)計(jì)過(guò)程中,教師,尤其是學(xué)生,能夠更好地理解軟件和硬件用于實(shí)現(xiàn)系統(tǒng)設(shè)計(jì)的邊界問(wèn)題。
4)驗(yàn)證IP功能正確后,將其添加到最小系統(tǒng)中,并使用XPS軟件自動(dòng)完成總線連接、地址分配等。此過(guò)程使教師清楚P-SoC系統(tǒng)的優(yōu)勢(shì)在于定制,即可以根據(jù)應(yīng)用的要求設(shè)計(jì)特殊的外設(shè)控制器來(lái)滿足應(yīng)用的要求,這也是P-SoC技術(shù)比單片機(jī)和其它實(shí)現(xiàn)方式更具有優(yōu)勢(shì)的地方。
5)Xilinx的EDK軟件套件,體現(xiàn)著“生態(tài)系統(tǒng)”的重要思想,即設(shè)計(jì)重用,設(shè)計(jì)復(fù)用和節(jié)約設(shè)計(jì)資源。同時(shí)還體現(xiàn)著軟件和硬件協(xié)同設(shè)計(jì)的思想,即在XPS中實(shí)現(xiàn)硬件平臺(tái)的設(shè)計(jì),SDK軟件實(shí)現(xiàn)軟件應(yīng)用程序的設(shè)計(jì),大大提高了設(shè)計(jì)效率。
當(dāng)完成片上硬件平臺(tái)的設(shè)計(jì)后,將生成的硬件平臺(tái)比特流文件導(dǎo)入到SDK軟件中,SDK軟件自動(dòng)生成板極支持包和應(yīng)用程序模板,根據(jù)需要可以修改應(yīng)用程序模板。最后,將生成的硬件和軟件比特流一起下載代碼到FPGA芯片中。
在嵌入式系統(tǒng)設(shè)計(jì)中,除關(guān)注設(shè)計(jì)的細(xì)節(jié)外,更重要的是通過(guò)教師的指導(dǎo),讓學(xué)生能夠獨(dú)立完成系統(tǒng)調(diào)試,發(fā)現(xiàn)并解決問(wèn)題。對(duì)學(xué)生來(lái)說(shuō),既可以鞏固所學(xué)的理論知識(shí),又可以提升自身解決工程問(wèn)題的能力。通過(guò)使用這些典型案例的集中培訓(xùn)和對(duì)教師的指導(dǎo),使教師很容易地將基礎(chǔ)知識(shí)和新技術(shù)之間聯(lián)系起來(lái),能深刻地體會(huì)到使用新技術(shù)所帶來(lái)的工程設(shè)計(jì)效率和系統(tǒng)可靠性的提高。這樣,就可以對(duì)不同層次的學(xué)生因材施教,在理論和實(shí)踐教學(xué)環(huán)節(jié)中,使用新技術(shù)來(lái)激發(fā)學(xué)生學(xué)習(xí)基礎(chǔ)理論知識(shí)的熱情和發(fā)揮學(xué)習(xí)的主觀能動(dòng)性。
在全國(guó)大學(xué)生電子設(shè)計(jì)競(jìng)賽前,組織如此大規(guī)模的教師集中專題培訓(xùn)活動(dòng),也是電子設(shè)計(jì)競(jìng)賽組委會(huì)的一種大膽有效的嘗試。通過(guò)這種組織形式,教師既可以快速地學(xué)習(xí)和掌握新技術(shù)知識(shí),又能夠掌握具體指導(dǎo)學(xué)生參加競(jìng)賽的方法和途徑,促進(jìn)創(chuàng)新人才和工程人才的培養(yǎng)。
[1]陳小虎,劉化君,朱曉春,張惠剛,屈華昌.電氣信息與電子信息類應(yīng)用型人才培養(yǎng)體系的創(chuàng)新與實(shí)踐[J].北京:中國(guó)大學(xué)教學(xué).2006年第3期
[2]袁曉亞.應(yīng)用型創(chuàng)新人才培養(yǎng)網(wǎng)絡(luò)教學(xué)平臺(tái)研究[J].濟(jì)南:濟(jì)南職業(yè)學(xué)院學(xué)報(bào).2010年第4