第2课嵌入式SoC系统设计概述

上传人:ldj****22 文档编号:48690159 上传时间:2018-07-19 格式:PPT 页数:42 大小:500.50KB
返回 下载 相关 举报
第2课嵌入式SoC系统设计概述_第1页
第1页 / 共42页
第2课嵌入式SoC系统设计概述_第2页
第2页 / 共42页
第2课嵌入式SoC系统设计概述_第3页
第3页 / 共42页
第2课嵌入式SoC系统设计概述_第4页
第4页 / 共42页
第2课嵌入式SoC系统设计概述_第5页
第5页 / 共42页
点击查看更多>>
资源描述

《第2课嵌入式SoC系统设计概述》由会员分享,可在线阅读,更多相关《第2课嵌入式SoC系统设计概述(42页珍藏版)》请在金锄头文库上搜索。

1、第2课 嵌入式SoC系统设计概述w嵌入式SoC系统设计技术 w嵌入式系统的系统级描述方法12.1 嵌入式系统设计技术w处理器技术 w IC 技术 w设计技术21. 处理器技术(体系结构考虑)31 处理器定制化程度w随着处理问题的不同,处理器有不同的定制化程度total = 0 for i = 1 to N looptotal += Mi end loop 通用目的 处理器单用途 处理器专用 处理器需要的功能42 处理器计算引擎结构w计算引擎结构-实现系统所需功能 w处理器不必是可编程的n“处理器” 不等于是通用目的处理器IRPC寄存器文件通用 ALU数据通道控制器程序存储器Assembly c

2、ode for:total = 0for i =1 to 控制逻辑和 状态寄存器数据存储器通用目的处理器(“软件”)单用途 (“硬件”)数据通道控制器控制逻辑状态寄存器数据存储器索引总计+IRPC寄存器文件专用 ALU数据通道控制器程序存储器Assembly code for:total = 0for i =1 to 控制逻辑和 状态寄存器数据存储器专用5MicrocontrollerCCD preprocessorPixel coprocessor A2DD2AJPEG codecDMA controllerMemory controllerISA bus interfaceUARTLCD

3、ctrlDisplay ctrlMultiplier/AccumDigital camera chiplensCCDHardwareSoftware举例:数码相机SoC系统62. IC 技术(实现技术考虑)7数字电路实现方式w把数字(门级)实现映射到IC上的方法nIC技术的差别在于如何根据特定的设计来定制ICnIC一般都有10层以上的结构w谁来建立布局层?w何时建立布局层?sourcedrainchanneloxidegateSilicon substrateIC packageIC 83类IC技术w全定制VLSIw半定制 ASIC (门阵列和标准Cell)wPLD (可编程逻辑阵列)91 全

4、定制 VLSI - ASICw所有的层均根据嵌入式系统的特定数字实现进行优化n晶体管的布局放置,降低连线长度n调整晶体管尺寸,优化信号的传输n走线调整w优点n非常高的性能、尺寸小、低功耗w缺点n非常高的NRE成本、非常长的上市时间102 半定制 ICw较低层已经全部或部分建立n晶体管和逻辑门级的掩模已经建立,设计师只需要完成连线 的各层w优点n良好性能、比全定制低的NRE成本w缺点n仍然需要几周到几个月的流片开发时间113 PLD (可编程逻辑器件)w所有的层都已经存在n设计师可以购买一个IC(FPGA 芯片)n通过修改IC中各模块的连接可以实现需要的功能n现场可编程门逻辑阵列 (FPGA)非

5、常流行w优点n低NRE成本、IC立即可用w缺点n体积更大、单位成本更高、功耗大、速度较慢124 处理器和IC技术的权衡w基本权衡n通用vs定制n处理器技术与IC技术的取舍n两种技术是独立的。通用目的 处理器ASIP单用途 处理器Semi-customPLDFull-custom通用型改善之处:定制型改善功耗 性能 大小 成本(高产量)灵活性 可维护性 NRE成本 建立样机时间 上市时间 成本(低量产)133. 设计技术(设计方法学考虑)14设计技术自顶向下流程w如何将所需的系统功能从概念转变成实现的方法库/IP: 将预先设计好的低抽 象级实现用于高级系统规范行为级规范寄存器传输规 范逻辑实现至

6、最终实现编译/综合: 自动产生低级实现细 节测试/验证: 确保每级功能正确, 减少各级之间来回反 复的成本编译/综合:库/IP测试/验证系统级 综合行为级综合RT综合逻辑综合硬件/软件/ OS核RT元件逻辑门/ 单元模型仿真器/ 检查器硬件软件协同 仿真器HDL仿真器逻辑门仿真器15改进设计流程以提高设计效率的方法w编译/综合w库/IPw测试/验证162.2 嵌入式系统级描述方法w计算模型 w计算模型实例-FSM w状态机的实现17需求分析规格说明体系结构设计硬件设计系统集成系统测试产 品软件设计执行装置设计传统设计主要抽象层次 18体系结构设计 w规格说明不讲系统如何做,而只讲系统做什么 w

7、体系结构设计是设计者认为的设计第一阶段n目的: 描述系统如何实现那些功能,如何计划系统的各个构件。GPS接受信号数据库显示器搜索引擎转换器用户界面移动地图框图19数据库搜索转换器位置用户界面时钟像 素软件显示器帧缓冲器信号接收器/面板存储器硬件图移动地图的硬件和软件系统移动地图系统体系结构细化20如何继续向下细化直至系统实现?w 一般采用经验性设计n如何验证性能满足要求?n如何避免系统实现中的功能性错误?n如何保证上市时间?212.2.1 嵌入式系统的计算模型描述w系统行为的复杂度 w模型与语言22w随着IC容量的增加而增加n过去: 洗衣机, 小游戏等 (几百条语句)n目前: TV 机顶盒,

8、移动电话等(几十万条语 句)描述的行为通常初始阶段无法很好理解 w 由于描述错误造成的大量实现Bug用汉语描述系统嵌入式系统行为的复杂度23模型与语言ModelsLanguages食谱德语英语日语诗词故事食谱与英文时序程 序C+CJava状态图数据流顺序程序与C语言24模型与语言w如何精确的捕获系统行为n计算模型是关键环节,也可以考虑用C和C+w常用计算模型Common computation models:n时序程序模型 (Sequential program model)w程序流程图n通信进程模型 (Communicating process model)w可描述多个并发的时序程序模型n状

9、态机模型 (State machine model)w控制为主的系统。n数据流模型 (Dataflow model)w数据为主的系统n面向对象模型 (Object-oriented model)252.2.2 计算模型的举例-FSM一个电梯控制器的实例26一个电梯控制器的实例w简单的电梯控制器n请求解析器 解析不同楼层请求 ,确认一个被请求 楼层n单元控制器 将电梯移到被请求 楼层 w用C语言来捕获。 。buttons inside elevatorUnit Controlb1downopenfloor.Request Resolver.up/down buttons on each floo

10、rb2 bNup1 up2 dn2dnNrequpSystem interfaceup3 dn327使用时序程序模型描述电梯控制器 “将电梯向上或向下移 动到被请求楼层,到达 被请求楼层后,打开电 梯门至少10s,并一直 保持打开状态,直到被 请求的楼层改变,确保 电梯门在移动中决不会 打开。不能改变电梯移 动的方向,除非向上移 动时没有更高层请求或 向下没有更低层请求。 。”用自然语言的描述时序程序模型void UnitControl() up = down = 0; open = 1;while (1) while (req = floor);open = 0;if (req floor)

11、 up = 1;else down = 1;while (req != floor);up = down = 0;open = 1;delay(10); void RequestResolver() while (1) .req = . void main() Call concurrently:UnitControl() andRequestResolver() Inputs: int floor; bit b1bN; up1upN-1; dn2dnN; Outputs: bit up, down, open; Global variables: int req;You might have

12、 come up with something having even more if statements.28状态机模型 (FSM)w考虑用 FSM 模型描述系统:n可能的状态wE.g., Idle, GoingUp, GoingDn, DoorOpenn由input引起的一个状态到另一个状态的迁移wE.g., req floorn每个状态发生的活动wE.g., In the GoingUp state, u,d,o,t = 1,0,0,0 (up = 1, down, open, and timer_start = 0) wTry it.29状态机模型 (FSM)IdleGoingUpr

13、eq floorreq floor) !(timer flooru,d,o, t = 1,0,0,0u,d,o,t = 0,0,1,0u,d,o,t = 0,1,0,0u,d,o,t = 0,0,1,1u is up, d is down, o is openreq = floor !(reqnS :为所有状态的集合 s0, s1, , slnI :为所有输入的集合 i0, i1, , imnO:为所有输出的集合 o0, o1, , onnF :次态函数 (S x I S )nH :输输出函数 (S O )ns0 :初始状态32Finite-state machine with datapat

14、h model (FSMD)wFSMD:扩展FSM, 保存的数据具有复杂的数据类型和 变量nFSMs 仅使用布尔数据类型和操作,没有使用变量wFSMD: 7元组 nS :状态集 s0, s1, , slnI :输入集 i0, i1, , imnO :输出集 o0, o1, , onnV :变量集 v0, v1, , vnnF :次态函数 (S x I x V S)nH:操作函数 (S O + V)ns0 :初始状态 33Finite-state machine with datapath model (FSMD)IdleGoingUpreq floorreq floor) !(timer fl

15、ooru,d,o, t = 1,0,0,0u,d,o,t = 0,0,1,0u,d,o,t = 0,1,0,0u,d,o,t = 0,0,1,1u is up, d is down, o is openreq = floor !(req floor) state = GOINGUP;if (req floor) state = GOINGUP;if (!(reqfloor) state = DOOROPEN; break;GOINGDN: up=1; down=0; open=0; timer_start=0;if (req floor) state = GOINGDN;if (!(reqfl

16、oor) state = DOOROPEN; break;DOOROPEN: up=0; down=0; open=1; timer_start=1;if (timer 10) state = DOOROPEN;if (!(timer10)state = IDLE;break;UnitControl state machine in sequential programming language40#define S00 #define S11 . #define SNN void StateMachine() int state = S0; / or whatever is the initial state.while (1) switch (state) S0

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号