本書介紹智能系統(tǒng)的優(yōu)化設(shè)計方法和技術(shù),包括智能系統(tǒng)與軟硬件協(xié)同設(shè)計體系、智能系統(tǒng)建模與仿真方法、智能系統(tǒng)軟硬件劃分與評估、基于 ARM FPGA的智能系統(tǒng)綜合實踐方法四個主題。第
前 言
智能嵌入式系統(tǒng)在硬件基礎(chǔ)上融入了人工智能科學(xué)與方法,讓機器通過一定的方式進行智能判斷、智能決策和智能控制,以便有效地實現(xiàn)其智能功能。從人們?nèi)粘I畹桨踩P(guān)的國家工程都會使用智能嵌入式系統(tǒng),它極大地推動了各行各業(yè)進入智能時代。
軟硬件協(xié)同設(shè)計是智能嵌入式系統(tǒng)設(shè)計與實現(xiàn)的基本方法和技術(shù),它針對智能嵌入式系統(tǒng)產(chǎn)品的多個性能指標(biāo)進行軟硬件優(yōu)化配置,使整個系統(tǒng)性能最優(yōu)。這些性能指標(biāo)有時是矛盾的, 如系統(tǒng)運行速度越快系統(tǒng)成本就越高。軟硬件本身的性能指標(biāo)也是有差異的,如硬件執(zhí)行時間一般要短于軟件執(zhí)行時間,但硬件有面積的限制。因此,如何進行軟硬件劃分,即如何劃分用軟件實現(xiàn)的任務(wù)和用硬件實現(xiàn)的任務(wù),成了智能嵌入式系統(tǒng)性能指標(biāo)整體優(yōu)化的關(guān)鍵問題。
本教材定位為實踐探究型,以智能嵌入式系統(tǒng)行業(yè)前沿學(xué)術(shù)研究成果作為基本內(nèi)容,以結(jié)合行業(yè)前沿案例作為選取基本知識點的推動劑,具備產(chǎn)業(yè)技術(shù)與學(xué)科理論相融合的特點。本教材的編寫目的是:一方面為電子信息領(lǐng)域人才培養(yǎng)提供有力支撐,另一方面為解決信息領(lǐng)域卡脖子問題培養(yǎng)復(fù)合型高端人才。
本教材的知識目標(biāo):①學(xué)習(xí)系統(tǒng)級建模與仿真、性能指標(biāo)獲取等基礎(chǔ)知識;②掌握依據(jù)系統(tǒng)性能指標(biāo)的智能嵌入式系統(tǒng)軟硬件優(yōu)化配置的核心技術(shù);③具備在異構(gòu)嵌入式系統(tǒng)設(shè)計平臺上,集成開發(fā)具體智能嵌入式系統(tǒng)的設(shè)計和實踐能力。本教材是數(shù)字邏輯、嵌入式系統(tǒng)設(shè)計、智能系統(tǒng)規(guī)范與建模等知識的融合和延伸,為后續(xù)物聯(lián)網(wǎng)及智能嵌入式系統(tǒng)開發(fā)實踐提供更加具體和綜合的理論、方法和技術(shù)基礎(chǔ),為培養(yǎng)具有系統(tǒng)級的科學(xué)研究和綜合開發(fā)素質(zhì)的高級研發(fā)人員提供恰當(dāng)?shù)闹R和技能。
本教材包括完整的智能嵌入式系統(tǒng)軟硬件協(xié)同設(shè)計的知識體系,知識點由三篇組成:第一篇為基礎(chǔ)篇,包括第1~4章;第二篇為核心篇,包括第5~8章;第三篇為實踐篇,包括第9、10章。本教材囊括了經(jīng)過9年近20次課程教學(xué)實踐所形成的既具特色又難易程度適中的智能嵌入式系統(tǒng)軟硬件優(yōu)化配置與集成知識體系和教學(xué)內(nèi)容。
采用本教材授課,可以靈活地依據(jù)學(xué)生情況組織教學(xué)內(nèi)容。 第1、2、3、5、7章,以及8.1節(jié)是最基礎(chǔ)的教學(xué)內(nèi)容,在此基礎(chǔ)上可以選講其他內(nèi)容。偏重于設(shè)計實踐的課程可以選講第4、9、10章。第6章、8.2節(jié)和8.3節(jié)偏重于實時系統(tǒng)調(diào)度,難度稍微高些。教學(xué)時可以采取理論知識與實踐項目結(jié)合的教學(xué)方式,培養(yǎng)學(xué)生熟練使用工具以及自己開發(fā)相關(guān)工具的能力,搭建自己的工具鏈。也可以面向行業(yè)典型案例,采取課堂教學(xué)、課堂實踐以及課程設(shè)計實踐等教學(xué)形式。本教材旨在傳授最新研究成果的同時解決實踐探究性問題,培養(yǎng)學(xué)生對于開發(fā)完整系統(tǒng)的認(rèn)知能力、動手能力、設(shè)計優(yōu)化能力以及工程創(chuàng)新能力。
學(xué)習(xí)考核可以采取作業(yè)、編程實踐和課程實踐設(shè)計報告并重的考核方式,加大平時學(xué)習(xí)過程中認(rèn)識能力和編程實踐能力在學(xué)習(xí)成績中的比重,讓學(xué)生忙起來動起來。改變通用的死記硬背答題式考核,可以組織期中和期末兩次純上機實驗考試,期中檢查學(xué)生熟練使用現(xiàn)有工具(第2~5章)的能力,期末檢查學(xué)生快速使用自己實現(xiàn)的工具(第6~8章)的能力,同時要求學(xué)生選擇典型的智能嵌入式系統(tǒng),并使用學(xué)到的知識和方法實現(xiàn)該系統(tǒng)(第9~10章),還要以此為基礎(chǔ)撰寫課程設(shè)計報告。以此培養(yǎng)學(xué)生集成開發(fā)具體智能嵌入式系統(tǒng)的設(shè)計實踐能力、軟硬件優(yōu)化配置的綜合開發(fā)能力和系統(tǒng)級縝密思維,以及新工科團隊協(xié)作、敢于創(chuàng)新、敢于挑戰(zhàn)的工匠精神。
本教材內(nèi)容來自從2012年開始給研究生和本科生開設(shè)的軟硬件協(xié)同設(shè)計課程,在研究生教學(xué)中累計講授10次,在本科生教學(xué)中累計講授8次。本課程在2015年成功入選上海市重點建設(shè)課程,2016年入選華東師范大學(xué)在線教學(xué)平臺課程建設(shè)項目(大夏學(xué)堂),2017年成功申請華東師范大學(xué)精品教材建設(shè)專項基金,2021年入選華東師范大學(xué)在線開放課程建設(shè)項目,2022年入選上海市課程思政示范課程。
本教材內(nèi)容由陳儀香策劃,陳彥輝負責(zé)撰寫通信方面內(nèi)容,其余內(nèi)容由陳儀香負責(zé)撰寫,最后由陳儀香審定定稿。本教材撰寫得到了軟硬件協(xié)同設(shè)計技術(shù)與應(yīng)用工程研究中心的大力支持。2012年第1次給研究生開課時與同事朱明華教授、曹桂濤教授和劉獻忠副教授一起討論授課內(nèi)容選材。同事郭建副教授、琚小明副教授、陳瑋婷副教授分別將智能系統(tǒng)規(guī)范與建模、編譯原理、FPGA系統(tǒng)開發(fā)課程的教學(xué)內(nèi)容提供給我們,為本教材內(nèi)容選取提供了素材。研究生劉毅澤、馬玉靜、李金洋、方誠穎、屈媛、許巾一、劉晗、石昊、蔣清源、李凱旋、聶奇隆、岳澤龍、陳新宇、陳學(xué)毅、侯學(xué)成等對本教材內(nèi)容完善提供了大量幫助。西北工業(yè)大學(xué)董云衛(wèi)教授、同濟大學(xué)江建慧教授、華東理工大學(xué)虞慧群教授等專家對本教材提出了很有價值的意見和建議。這里一并表示最誠摯的感謝。
華東師范大學(xué)軟件工程學(xué)院
陳儀香
2023年1月8日
目 錄
前言
第一篇 基礎(chǔ)篇1
第1章 概述2
1.1 智能嵌入式系統(tǒng)2
1.2 嵌入式技術(shù)2
1.3 異構(gòu)系統(tǒng)平臺4
1.4 軟硬件模塊間的通信5
1.5 性能指標(biāo)5
1.6 軟硬件優(yōu)化設(shè)計體系架構(gòu)7
1.7 智能嵌入式系統(tǒng)開發(fā)流程8
1.8 本章小結(jié)8
1.9 習(xí)題9
第2章 系統(tǒng)建模10
2.1 有限狀態(tài)機10
2.1.1 有限狀態(tài)機的基本概念10
2.1.2 有限狀態(tài)機的建模例子11
2.2 輸入輸出有限狀態(tài)機12
2.2.1 輸入輸出有限狀態(tài)機的
基本概念12
2.2.2 輸入輸出有限狀態(tài)機的
建模例子13
2.3 數(shù)據(jù)有限狀態(tài)機16
2.3.1 數(shù)據(jù)流圖16
2.3.2 數(shù)據(jù)有限狀態(tài)機的
基本概念17
2.3.3 數(shù)據(jù)有限狀態(tài)機的
建模例子19
2.4 混成自動機22
2.4.1 混成系統(tǒng)22
2.4.2 混成自動機的基本概念23
2.4.3 混成自動機圖形化24
2.4.4 混成系統(tǒng)的建模例子25
2.4.5 混成自動機演化26
2.5 圖形建模語言SysML29
2.5.1 SysML介紹29
2.5.2 SysML建模工具EA31
2.5.3 SysML建模介紹32
2.6 本章小結(jié)41
2.7 習(xí)題41
第3章 系統(tǒng)仿真43
3.1 離散系統(tǒng)仿真43
3.1.1 硬件描述語言Verilog43
3.1.2 仿真工具ModelSim45
3.1.3 仿真例子46
3.2 離散連續(xù)系統(tǒng)仿真54
3.2.1 工具介紹54
3.2.2 參數(shù)設(shè)置55
3.2.3 子系統(tǒng)57
3.2.4 自定義模塊58
3.2.5 狀態(tài)圖60
3.3 本章小結(jié)64
3.4 習(xí)題64
第4章 系統(tǒng)性能66
4.1 軟件性能66
4.1.1 軟件執(zhí)行時間66
4.1.2 軟件功耗69
4.2 硬件性能70
4.2.1 硬件執(zhí)行時間與硬件面積70
4.2.2 FPGA的LUT71
4.2.3 獲取硬件執(zhí)行時間
與LUT71
4.3 通信時延73
4.3.1 通信時延的簡單估測74
4.3.2 基于異構(gòu)系統(tǒng)平臺的通信時
延估測74
4.4 本章小結(jié)77
4.5 習(xí)題77
第二篇 核心篇79
第5章 多指標(biāo)劃分方法80
5.1 線性規(guī)劃介紹80
5.1.1 數(shù)學(xué)建模80
5.1.2 線性規(guī)劃81
5.1.3 求解工具81
5.2 多處理器任務(wù)分配82
5.2.1 任務(wù)分配時間問題82
5.2.2 任務(wù)分配收益問題84
5.3 多指標(biāo)軟硬件劃分84
5.3.1 面向可靠度的軟硬件劃分85
5.3.2 多指標(biāo)軟硬件劃分85
5.3.3 多候選對象的軟硬件劃分88
5.4 本章小結(jié)90
5.5 習(xí)題90
第6章 多處理器系統(tǒng)調(diào)度算法92
6.1 實時系統(tǒng)92
6.1.1 基本概念92
6.1.2 任務(wù)依賴關(guān)系93
6.1.3 任務(wù)搶占94
6.1.4 實時系統(tǒng)參考架構(gòu)94
6.2 任務(wù)優(yōu)先級94
6.2.1 任務(wù)優(yōu)先級值94
6.2.2 任務(wù)優(yōu)先級表95
6.3 實時調(diào)度96
6.3.1 實時調(diào)度問題96
6.3.2 系統(tǒng)完工時間與處理器
使用率96
6.3.3 優(yōu)先級驅(qū)動算法97
6.4 多處理器系統(tǒng)調(diào)度算法97
6.5 帶搶占的多處理器系統(tǒng)調(diào)度
算法100
6.6 本章小結(jié)102
6.7 習(xí)題102
第7章 多模塊劃分104
7.1 多模塊劃分方法104
7.1.1 模塊劃分問題104
7.1.2 可許劃分104
7.2 基于通信代價的聚類算法105
7.2.1 層次聚類算法105
7.2.2 譜系圖105
7.2.3 聚類算法106
7.2.4 單鏈接聚類算法107
7.2.5 全鏈接聚類算法107
7.2.6 均鏈接聚類算法108
7.3 基于聚類的多模塊劃分算法109
7.3.1 多模塊聚類算法109
7.3.2 多模塊劃分代價111
7.3.3 規(guī)定模塊最大任務(wù)數(shù)
算法111
7.3.4 多處理器任務(wù)調(diào)度116
7.4 基于KL算法的多模塊劃分116
7.4.1 1優(yōu)化與