+ All Categories
Home > Documents > 基于模型的设计(MBD - hnu.edu.cnesnl.hnu.edu.cn/ecps2018/3-MBD-.pdf ·...

基于模型的设计(MBD - hnu.edu.cnesnl.hnu.edu.cn/ecps2018/3-MBD-.pdf ·...

Date post: 17-Oct-2020
Category:
Upload: others
View: 9 times
Download: 0 times
Share this document with a friend
62
基于模型的设计(MBD)
Transcript
Page 1: 基于模型的设计(MBD - hnu.edu.cnesnl.hnu.edu.cn/ecps2018/3-MBD-.pdf · 材料:元器件、电路板 特点:周期长 ... 4)多语言设计 架构:Multi-language design

基于模型的设计(MBD)

Page 2: 基于模型的设计(MBD - hnu.edu.cnesnl.hnu.edu.cn/ecps2018/3-MBD-.pdf · 材料:元器件、电路板 特点:周期长 ... 4)多语言设计 架构:Multi-language design

直升机

Page 3: 基于模型的设计(MBD - hnu.edu.cnesnl.hnu.edu.cn/ecps2018/3-MBD-.pdf · 材料:元器件、电路板 特点:周期长 ... 4)多语言设计 架构:Multi-language design

巡航控制器

汽车巡航控制器

功能:自动调节车速,使车按设定速度行驶

问题:作为汽车系统中的一个组件,它要与其它部分如何互动?

Page 4: 基于模型的设计(MBD - hnu.edu.cnesnl.hnu.edu.cn/ecps2018/3-MBD-.pdf · 材料:元器件、电路板 特点:周期长 ... 4)多语言设计 架构:Multi-language design

目录

一、基本问题

二、设计的基本过程

二、基于模型设计

三、什么是模型

四、建模实例

Page 5: 基于模型的设计(MBD - hnu.edu.cnesnl.hnu.edu.cn/ecps2018/3-MBD-.pdf · 材料:元器件、电路板 特点:周期长 ... 4)多语言设计 架构:Multi-language design

一、基本问题(工程的视角)

Page 6: 基于模型的设计(MBD - hnu.edu.cnesnl.hnu.edu.cn/ecps2018/3-MBD-.pdf · 材料:元器件、电路板 特点:周期长 ... 4)多语言设计 架构:Multi-language design

嵌入式系统(设计)基本问题(Wolf)

Page 7: 基于模型的设计(MBD - hnu.edu.cnesnl.hnu.edu.cn/ecps2018/3-MBD-.pdf · 材料:元器件、电路板 特点:周期长 ... 4)多语言设计 架构:Multi-language design

关于嵌入式系统设计

◼ 事实上。没有一种结构(无论是硬件还是软件)能满足所有应用,即不具通用性。

◼ 我们需要针对应用的设计,但有以下共同问题:

◼ 快速而有效.

◼ 结果的可靠的.

Page 8: 基于模型的设计(MBD - hnu.edu.cnesnl.hnu.edu.cn/ecps2018/3-MBD-.pdf · 材料:元器件、电路板 特点:周期长 ... 4)多语言设计 架构:Multi-language design

系统结构(Architectures)基本问题1)硬件结构基本问题

CPU、多核(众核)处理器、网络、FPGA、存储交互(A/D与D/A)

2)软件结构基本问题操作系统、编译技术、数据技术、人机交互进程、调度、分配

3)协同设计

Architectures V.S structure?

◼ 硬件与软件的系统结构都非常重要.◼ 系统的架构(structure)决定了成本、功耗、性能。◼ 不同的应用需求导致我们要设计不同的架构。

Page 9: 基于模型的设计(MBD - hnu.edu.cnesnl.hnu.edu.cn/ecps2018/3-MBD-.pdf · 材料:元器件、电路板 特点:周期长 ... 4)多语言设计 架构:Multi-language design

应用基本问题

◼ 如果我们不了解具体的应用背景,我们设计不出好的嵌入式系统。

◼ 我们难以成为各方面的专家,

◼ 况且那怕一点知识都有很长的路要走。.

◼ 专业领域知识,可以帮助你做出权衡 :

◼ 可以放宽要求吗?

◼ 一个需求可以换另一个吗?

系统建模是最基本的问题。

Page 10: 基于模型的设计(MBD - hnu.edu.cnesnl.hnu.edu.cn/ecps2018/3-MBD-.pdf · 材料:元器件、电路板 特点:周期长 ... 4)多语言设计 架构:Multi-language design

方法学(Methodologies)基本问题基本问题:

1)建模、分析与仿真;

2)性能、功耗、成本;

3)综合、验证。

◼ 我们必须能够可靠地设计出系统:

◼ 从需求/规范开始。

◼ 构建一个系统速度足够快,不会消耗太多的能量,而且尽可能便宜

◼ 能够按时完成它。

◼ 并知道在我们开始项目时对困难的预计。

◼ 创新让我们突破一些关键的技术障碍。

◼ 方法学可确保一致性。

Page 11: 基于模型的设计(MBD - hnu.edu.cnesnl.hnu.edu.cn/ecps2018/3-MBD-.pdf · 材料:元器件、电路板 特点:周期长 ... 4)多语言设计 架构:Multi-language design

基于模型的设计!=写代码

• 用高层框图和状态机的设计,自动获取编译成底层代码 !

• 不仅需要建模,还需要设计开发环境

Page 12: 基于模型的设计(MBD - hnu.edu.cnesnl.hnu.edu.cn/ecps2018/3-MBD-.pdf · 材料:元器件、电路板 特点:周期长 ... 4)多语言设计 架构:Multi-language design

验证!=仿真/测试

建模/编程

需求

yes/proof

no/bug验证

Program testing can be used to show the presenceof bugs, but never their absence!程序测试可以用于显示存在

bug,但做不到完全消除bug!Edsger W. Dijkstra,算法大师,图灵奖获得者

Page 13: 基于模型的设计(MBD - hnu.edu.cnesnl.hnu.edu.cn/ecps2018/3-MBD-.pdf · 材料:元器件、电路板 特点:周期长 ... 4)多语言设计 架构:Multi-language design

形式化验证

建模/编程

需求

yes/proof

no/bug验证

❑ 目标: 建立可满足所有可能情况需求的模型

❑ 第1个挑战: 为了使问题能用数学精确描述,需要形式化定义“模型”和“需求”

❑ 第2个挑战:需要验证技术于开发工具

Page 14: 基于模型的设计(MBD - hnu.edu.cnesnl.hnu.edu.cn/ecps2018/3-MBD-.pdf · 材料:元器件、电路板 特点:周期长 ... 4)多语言设计 架构:Multi-language design

CPS:三大基本问题

1)建模(what)通过模拟获得对系统更深入理解的过

程。模型表达系统做或应该做的事情。2)设计(how)组件的结构化创建。它明确并规范了系统如何完成预设目标。3)分析(why)通过解剖获得对系统更深入理解的过

程。它证明一个系统什么该做,或无法做模型认为它应该做的。

Page 15: 基于模型的设计(MBD - hnu.edu.cnesnl.hnu.edu.cn/ecps2018/3-MBD-.pdf · 材料:元器件、电路板 特点:周期长 ... 4)多语言设计 架构:Multi-language design

二、设计基本过程

Page 16: 基于模型的设计(MBD - hnu.edu.cnesnl.hnu.edu.cn/ecps2018/3-MBD-.pdf · 材料:元器件、电路板 特点:周期长 ... 4)多语言设计 架构:Multi-language design

以巡航控制器设计为例

巡航控制器的目的:自动调节车速,使车按设定速度行驶

1)是一种可使汽车工作在发动机有利转速范围内,减轻驾驶员的驾驶操纵劳动强度,提高行驶舒适性的汽车自动行驶的装置。2)该系统工作时,驾驶员无需操作油门踏板就能保证汽车以设定的车速匀速行驶,从而给汽车驾驶带来了很大的方便。

Page 17: 基于模型的设计(MBD - hnu.edu.cnesnl.hnu.edu.cn/ecps2018/3-MBD-.pdf · 材料:元器件、电路板 特点:周期长 ... 4)多语言设计 架构:Multi-language design

基本原理

Page 18: 基于模型的设计(MBD - hnu.edu.cnesnl.hnu.edu.cn/ecps2018/3-MBD-.pdf · 材料:元器件、电路板 特点:周期长 ... 4)多语言设计 架构:Multi-language design

系统结构

Page 19: 基于模型的设计(MBD - hnu.edu.cnesnl.hnu.edu.cn/ecps2018/3-MBD-.pdf · 材料:元器件、电路板 特点:周期长 ... 4)多语言设计 架构:Multi-language design

工程图纸(某款市售车)

Page 20: 基于模型的设计(MBD - hnu.edu.cnesnl.hnu.edu.cn/ecps2018/3-MBD-.pdf · 材料:元器件、电路板 特点:周期长 ... 4)多语言设计 架构:Multi-language design

传统的设计过程工具:纸,笔。计算尺(器)

材料:元器件、电路板

特点:周期长

Courtesy: HP

Page 21: 基于模型的设计(MBD - hnu.edu.cnesnl.hnu.edu.cn/ecps2018/3-MBD-.pdf · 材料:元器件、电路板 特点:周期长 ... 4)多语言设计 架构:Multi-language design

系统级设计

目标是如何快速精确分析系统性能

Page 22: 基于模型的设计(MBD - hnu.edu.cnesnl.hnu.edu.cn/ecps2018/3-MBD-.pdf · 材料:元器件、电路板 特点:周期长 ... 4)多语言设计 架构:Multi-language design

怎样设计软件?

Page 23: 基于模型的设计(MBD - hnu.edu.cnesnl.hnu.edu.cn/ecps2018/3-MBD-.pdf · 材料:元器件、电路板 特点:周期长 ... 4)多语言设计 架构:Multi-language design

巡航控制器

怎样设计软件?

问题:作为汽车系统中的一个组件,它要与其它部分如何互动?

Page 24: 基于模型的设计(MBD - hnu.edu.cnesnl.hnu.edu.cn/ecps2018/3-MBD-.pdf · 材料:元器件、电路板 特点:周期长 ... 4)多语言设计 架构:Multi-language design

软硬件协同设计(Hardware/Software Co-design )

Page 25: 基于模型的设计(MBD - hnu.edu.cnesnl.hnu.edu.cn/ecps2018/3-MBD-.pdf · 材料:元器件、电路板 特点:周期长 ... 4)多语言设计 架构:Multi-language design

设计模式 (1): loop 展开

Page 26: 基于模型的设计(MBD - hnu.edu.cnesnl.hnu.edu.cn/ecps2018/3-MBD-.pdf · 材料:元器件、电路板 特点:周期长 ... 4)多语言设计 架构:Multi-language design

设计模式(2): Gajski‘s Y-图

Page 27: 基于模型的设计(MBD - hnu.edu.cnesnl.hnu.edu.cn/ecps2018/3-MBD-.pdf · 材料:元器件、电路板 特点:周期长 ... 4)多语言设计 架构:Multi-language design

设计模式 (3):V-模型

Software

architecture

System

architecture

Requirement

analysis

System

design

Software

designUnit

testsIntegration

testingSystem

integrationAcceptance

& useSkipping some explicit

repository updates ..

Page 28: 基于模型的设计(MBD - hnu.edu.cnesnl.hnu.edu.cn/ecps2018/3-MBD-.pdf · 材料:元器件、电路板 特点:周期长 ... 4)多语言设计 架构:Multi-language design

一般的设计流

Specification

ES-hardware

System software

(RTOS,

middleware, …)

Test *

Evaluation & Validation

(energy, cost,

performance, …)

Optimization

Application

mapping应用

知识

Design方案存档

工具链、平台、重用,构成一个有效的loop

* Could be

integrated

into loop

Design

Page 29: 基于模型的设计(MBD - hnu.edu.cnesnl.hnu.edu.cn/ecps2018/3-MBD-.pdf · 材料:元器件、电路板 特点:周期长 ... 4)多语言设计 架构:Multi-language design

设计的一般方法

1)规格规范描述:Need to be done using high-level specification, programming and hardware description languages(非汇编与门级/晶体管级设计)

2)工具:Requires efficient design space exploration and synthesis/compilation tools.

3)非功能因素的考虑:Different design requirements has to be taken into account, e.g., cost, performance, testability, quality of service, power consumption.

4)多语言设计架构:Multi-language design framework.

Page 30: 基于模型的设计(MBD - hnu.edu.cnesnl.hnu.edu.cn/ecps2018/3-MBD-.pdf · 材料:元器件、电路板 特点:周期长 ... 4)多语言设计 架构:Multi-language design

软件设计一般流程

Page 31: 基于模型的设计(MBD - hnu.edu.cnesnl.hnu.edu.cn/ecps2018/3-MBD-.pdf · 材料:元器件、电路板 特点:周期长 ... 4)多语言设计 架构:Multi-language design

传统开发流程

Page 32: 基于模型的设计(MBD - hnu.edu.cnesnl.hnu.edu.cn/ecps2018/3-MBD-.pdf · 材料:元器件、电路板 特点:周期长 ... 4)多语言设计 架构:Multi-language design

传统设计流程的弊端

Page 33: 基于模型的设计(MBD - hnu.edu.cnesnl.hnu.edu.cn/ecps2018/3-MBD-.pdf · 材料:元器件、电路板 特点:周期长 ... 4)多语言设计 架构:Multi-language design

二、基于模型设计

Page 34: 基于模型的设计(MBD - hnu.edu.cnesnl.hnu.edu.cn/ecps2018/3-MBD-.pdf · 材料:元器件、电路板 特点:周期长 ... 4)多语言设计 架构:Multi-language design

系统设计面临的挑战(航空航天)

Page 35: 基于模型的设计(MBD - hnu.edu.cnesnl.hnu.edu.cn/ecps2018/3-MBD-.pdf · 材料:元器件、电路板 特点:周期长 ... 4)多语言设计 架构:Multi-language design

设计的需求越来越复杂

Page 36: 基于模型的设计(MBD - hnu.edu.cnesnl.hnu.edu.cn/ecps2018/3-MBD-.pdf · 材料:元器件、电路板 特点:周期长 ... 4)多语言设计 架构:Multi-language design

基于模型设计(MBD)可期望的目标

Page 37: 基于模型的设计(MBD - hnu.edu.cnesnl.hnu.edu.cn/ecps2018/3-MBD-.pdf · 材料:元器件、电路板 特点:周期长 ... 4)多语言设计 架构:Multi-language design

什么是基于模型设计

Page 38: 基于模型的设计(MBD - hnu.edu.cnesnl.hnu.edu.cn/ecps2018/3-MBD-.pdf · 材料:元器件、电路板 特点:周期长 ... 4)多语言设计 架构:Multi-language design

基于模型的开发流程

Page 39: 基于模型的设计(MBD - hnu.edu.cnesnl.hnu.edu.cn/ecps2018/3-MBD-.pdf · 材料:元器件、电路板 特点:周期长 ... 4)多语言设计 架构:Multi-language design

基于模型的系统(软件硬件)解决方案

Page 40: 基于模型的设计(MBD - hnu.edu.cnesnl.hnu.edu.cn/ecps2018/3-MBD-.pdf · 材料:元器件、电路板 特点:周期长 ... 4)多语言设计 架构:Multi-language design

基于模型设计的一般流程

Page 41: 基于模型的设计(MBD - hnu.edu.cnesnl.hnu.edu.cn/ecps2018/3-MBD-.pdf · 材料:元器件、电路板 特点:周期长 ... 4)多语言设计 架构:Multi-language design

Specification,设计重要的开始

Specification:详述, 规格, 说明书, 规范。

是对工程、设备或产品的原料、尺寸或质量进行明确、详细地说明。

设计文档会写设计文档吗?

Page 42: 基于模型的设计(MBD - hnu.edu.cnesnl.hnu.edu.cn/ecps2018/3-MBD-.pdf · 材料:元器件、电路板 特点:周期长 ... 4)多语言设计 架构:Multi-language design

传统设计方法 vs 基于模型的设计方法例:新的Electronic stability control (ESC)开发

1. 拿来样车,到各种路面上做实验;

2. 收集数据,研究一下,搞些参数,搞个算法

3. 码代码,码代码 编译,出错,改代码,编译,编译,出错,改代码,编译,出错,改代码,编译,过了(虽然不知道为啥)!

4. 搞到测试的板子上,做成ESC,装到机器上测试一下算法!

5. 把板子装到样车上,到各种路面上做各种乱开 。

6. 拿来数据看看控制效果,如果要提高产品质量或者老板要有任何改动,就得 3,4,5再来一次。

7. 最后还要留出时间来把代码转成production level的,检查bug。

1. 通用的车辆Simulink模型,把具体车辆物理参数输入进行调试,提高model的准确性。

2. 在Simulink搭建整个ESC,可以同时开发多个算法来进行比较,MIL(Model In The Loop) 跑一下各种不同路况。

3. 将这个ESC模型直接进行codegen, 然后deploy 到target(板子)上,进行TIL(Target In The Loop) [

这个环节不仅是一个debug的环节,对于算法的选择和任何控制器的优化都可以在2,3中完成]

4. 当模拟数据满意后,将deploy好的板子放到车辆上进行测试 。

5. 如果要提高产品质量或者老板要有任何改动,就得 2

,3,4再来一次。

6. 测试系统在不同情况下的表现。可以在开发的早期就发现类似于ambiguous requirements的问题(老板想

要的和你做的不一样的问题)。如果在车辆测试中发现实际车辆和模拟车辆表现有差别还可以进一步来完善plant model。

42

Page 43: 基于模型的设计(MBD - hnu.edu.cnesnl.hnu.edu.cn/ecps2018/3-MBD-.pdf · 材料:元器件、电路板 特点:周期长 ... 4)多语言设计 架构:Multi-language design

MBD的八个核心要点(参考)

1)可运行化的要求 Executable Specification

2)高层面系统模拟 System-Level Simulation

3)模拟测试 What-if Analysis

4)模型化的详述 Model Elaboration

5)虚拟化样机开发 Virtual Prototyping

6)不间断测试及认证 Continuous Test and Verification

7)自动化 Automation

8)知识撷取和管理 Knowledge Capture and Management

Page 44: 基于模型的设计(MBD - hnu.edu.cnesnl.hnu.edu.cn/ecps2018/3-MBD-.pdf · 材料:元器件、电路板 特点:周期长 ... 4)多语言设计 架构:Multi-language design

三、什么是模型

Page 45: 基于模型的设计(MBD - hnu.edu.cnesnl.hnu.edu.cn/ecps2018/3-MBD-.pdf · 材料:元器件、电路板 特点:周期长 ... 4)多语言设计 架构:Multi-language design

模型的定义

模型:对于现实世界的事物、现象、过程或系统的简化描述,或其

部分属性的模仿。

建模:对于所研究的系统可以通过类比、抽象等手段建立起各种模

型。

分类:模型可以取各种不同的形式,不存在分类原则。按照模型的

表现形式可以分为物理模型、数学模型、结构模型和仿真模型。

Page 46: 基于模型的设计(MBD - hnu.edu.cnesnl.hnu.edu.cn/ecps2018/3-MBD-.pdf · 材料:元器件、电路板 特点:周期长 ... 4)多语言设计 架构:Multi-language design

模型分类

模型

物理模型 数学模型 结构模型 仿真模型 …

按照模型的表现形式划分:

Page 47: 基于模型的设计(MBD - hnu.edu.cnesnl.hnu.edu.cn/ecps2018/3-MBD-.pdf · 材料:元器件、电路板 特点:周期长 ... 4)多语言设计 架构:Multi-language design

物理模型

歼十模型

歼十模型

歼十战机

Page 48: 基于模型的设计(MBD - hnu.edu.cnesnl.hnu.edu.cn/ecps2018/3-MBD-.pdf · 材料:元器件、电路板 特点:周期长 ... 4)多语言设计 架构:Multi-language design

数学模型

在哥尼斯堡的一个公园里,有七座桥将普雷格尔河中两个

岛及岛与河岸连接起来。问是否可能从这四块陆地中任一块出发,恰好通过每座桥一次,再回到起点?

Page 49: 基于模型的设计(MBD - hnu.edu.cnesnl.hnu.edu.cn/ecps2018/3-MBD-.pdf · 材料:元器件、电路板 特点:周期长 ... 4)多语言设计 架构:Multi-language design

结构模型

碳60结构模型 房屋结构模型

Page 50: 基于模型的设计(MBD - hnu.edu.cnesnl.hnu.edu.cn/ecps2018/3-MBD-.pdf · 材料:元器件、电路板 特点:周期长 ... 4)多语言设计 架构:Multi-language design

模型与建模

模型——是对现实世界的事物、现象、过程或系统的简化描述,或其部分属性的模仿。

建模——是通过类比、抽象等手段对所研究的系统建立起各种模型(物理模型、数学模型、结构模型、仿真模型等)。

Page 51: 基于模型的设计(MBD - hnu.edu.cnesnl.hnu.edu.cn/ecps2018/3-MBD-.pdf · 材料:元器件、电路板 特点:周期长 ... 4)多语言设计 架构:Multi-language design

从现实对象到数学模型

模型是为了一定目的,对客观事物的一部分进行简缩、抽象、提炼出来的原型的替代物。模型集中反映了原型中人们需要的那一部分特征。

51

系 统

模 型 计算机

系统建模 仿真实验

仿真建模

建模仿真三要素及三个基本活动

Page 52: 基于模型的设计(MBD - hnu.edu.cnesnl.hnu.edu.cn/ecps2018/3-MBD-.pdf · 材料:元器件、电路板 特点:周期长 ... 4)多语言设计 架构:Multi-language design

模型到底是什么?

Models = 实物

Models = 数学表达式

Models = 图

Models = Programs

Models = ?

Page 53: 基于模型的设计(MBD - hnu.edu.cnesnl.hnu.edu.cn/ecps2018/3-MBD-.pdf · 材料:元器件、电路板 特点:周期长 ... 4)多语言设计 架构:Multi-language design

四、建模实例

Page 54: 基于模型的设计(MBD - hnu.edu.cnesnl.hnu.edu.cn/ecps2018/3-MBD-.pdf · 材料:元器件、电路板 特点:周期长 ... 4)多语言设计 架构:Multi-language design

模型实例(1):一类机器人的运动控制

Page 55: 基于模型的设计(MBD - hnu.edu.cnesnl.hnu.edu.cn/ecps2018/3-MBD-.pdf · 材料:元器件、电路板 特点:周期长 ... 4)多语言设计 架构:Multi-language design

模型实例(2)

Page 56: 基于模型的设计(MBD - hnu.edu.cnesnl.hnu.edu.cn/ecps2018/3-MBD-.pdf · 材料:元器件、电路板 特点:周期长 ... 4)多语言设计 架构:Multi-language design

模型实例(3)

Page 57: 基于模型的设计(MBD - hnu.edu.cnesnl.hnu.edu.cn/ecps2018/3-MBD-.pdf · 材料:元器件、电路板 特点:周期长 ... 4)多语言设计 架构:Multi-language design

模型实例(4)

Page 58: 基于模型的设计(MBD - hnu.edu.cnesnl.hnu.edu.cn/ecps2018/3-MBD-.pdf · 材料:元器件、电路板 特点:周期长 ... 4)多语言设计 架构:Multi-language design

模型实例(5)

Page 59: 基于模型的设计(MBD - hnu.edu.cnesnl.hnu.edu.cn/ecps2018/3-MBD-.pdf · 材料:元器件、电路板 特点:周期长 ... 4)多语言设计 架构:Multi-language design

模型实例(6)

Page 60: 基于模型的设计(MBD - hnu.edu.cnesnl.hnu.edu.cn/ecps2018/3-MBD-.pdf · 材料:元器件、电路板 特点:周期长 ... 4)多语言设计 架构:Multi-language design

模型实例(7)

Page 61: 基于模型的设计(MBD - hnu.edu.cnesnl.hnu.edu.cn/ecps2018/3-MBD-.pdf · 材料:元器件、电路板 特点:周期长 ... 4)多语言设计 架构:Multi-language design

模型实例(8)

Page 62: 基于模型的设计(MBD - hnu.edu.cnesnl.hnu.edu.cn/ecps2018/3-MBD-.pdf · 材料:元器件、电路板 特点:周期长 ... 4)多语言设计 架构:Multi-language design

模型实例(9):延迟

❑ 输入变量:布尔类型

布尔输入 布尔输出布尔变量x := 0

输出:=x ; x:= 输入

❑ 输出变量:布尔类型

❑ 状态变量:布尔类型的X

❑ 状态变量的初始化:赋值x:= 0

❑ 在每一轮中,响应一个输入,通过执行更新代码来产生输出和更新状态:输出:= X;

❑ X:=输入


Recommended