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