东南大学soc课件10 芯片验证(3学时)

合集下载

课程大纲_SoC设计方法与实现

课程大纲_SoC设计方法与实现

《系统级芯片(SoC)设计》课程教学大纲一、课程基本信息课程代码:课程名称:系统级芯片(SoC)设计学时/学分:32/2学时分配:授课:24 实验: 8适用专业:集成电路设计与集成系统、电子信息技术、微电子、计算机工程授课学院:微电子学院、计算机学院先修课程:电子线路基础、数字逻辑电路、超大规模集成电路设计专用语言同修课程:教材及主要参考书:教材:魏继增、郭炜等编《SoC设计方法与实现》(第4版), 电子工业出版社,2021。

参考书:(1)田泽著,《SoC设计方法学》,西北工业大学出版社,2016(2)潘中良,《系统芯片SoC的设计与测试》,科学出版社,2009二、课程简介通过该课程的学习,使同学们掌握SoC设计的概念、设计流程、IP复用方法、SoC验证与测试、SoC低功耗设计和后端设计。

通过上机实践锻炼SoC设计仿真与验证的能力,通过课程设计,培养学生进行系统级芯片设计、文献检索、综合分析、EDA软件使用、沟通交流、团队合作等能力。

三、课程目标1. 工程知识能力:掌握系统级芯片的概念、架构、设计方法和技术等专业知识,并能够正确应用这些专业知识对系统级芯片的工程问题进行表述和分析;2.设计开发能力:能够针对具体的应用需求,提出系统级芯片的设计原型方案,体现创新意识,并正确使用EDA工具软件对提出的系统级芯片设计方案进行实现、仿真和验证。

3. 沟通合作能力:能够根据系统设计需求,进行团队合作,完成团队分配的工作,撰写设计方案,能够清晰地进行陈述发言表达自己的设计思想,与他人进行沟通和交流。

4. 情感素质:让学生了解国内集成电路行业面临的挑战,激发学生的兴趣与责任感,具有投身奉献集成电路行业的热情;通过SoC设计技术的研讨,使学生意识到精益求精的重要性;通过实验和课程设计环节,使学生在设计环节中要考虑社会、健康、安全、法律、文化以及环境等因素,培养成诚实守信、严谨求真等工程伦理素养。

四、基本要求本课程涉及了数学、物理、电工电子、计算机、超大规模集成电路设计等领域相关理论基础与专业知识,与工程应用密切联系,具有很强的实用性。

东南射频集成电路讲义 东南大学射频与光电集成电路研究所 陈志恒 , Oct24, 2002.pdf

东南射频集成电路讲义  东南大学射频与光电集成电路研究所 陈志恒 , Oct24, 2002.pdf
– 可以认为杂质在常温下完全电离,而通常 ND » ni ,此时的自由电子浓度 n ≈ ND ;自由电子与空穴的复合 (Recombination) 的机会随电子浓度的增加而 增加,因此空穴浓度大为降低,但自由电子与空穴浓度乘积保持不变,即 np = nipi = ni2 ,或者表示为
射频集成电路设计基础 > 有源器件和模拟电路基础- I > 半导体理论基本概念
2
I
=
µVT

qbc

n----(--0----)---–-----n---(---a---) a
,因此载流子通过半
导体所需的平均时间为
τ
=
--Q---I
=
-----a---2---2µVT

n-n---((--00----))---+–-----nn---((---aa---)-)
(14)
在 n(a) = 0 的特殊情况下,
<< >> < > ↵
6 of 39
• 载流子的运动
– 漂移 (Drift)
载流子在外加电场作用下被加速而产生定向运动,但在加速过程中又与晶格 和杂质离子相互作用发生 “散射”,最后的结果是:一方面,载流子将达到 一个平均速度,即漂移速度 vd,宏观上可以观察到平均电流 I ;另一方面, 瞬时电流值在平均值附近发生无规律的起伏变化
现饱和现象
1. 对于硅来说,可以认为场强小于 0.3V/µm 和 0.6V/µm 分别是对自由电子和空穴较 “低”的电场强度。
射频集成电路设计基础 > 有源器件和模拟电路基础- I > 半导体理论基本概念
<< >> < > ↵

东南大学soc课件9 SoC各种接口模块(2学时)讲解

东南大学soc课件9 SoC各种接口模块(2学时)讲解

17
USB数据传输过程
• 主机控制器首先产生令牌包( token packet),表明传输类型 、传输方向(传输方向由主机的观 点决定,输出传输表明数据由主机 发往设备,输入传输表明数据由设 备发往主机)、以及目标设备的终 端地址。 • 目标设备接收令牌包后,根据令牌 包指定的传输方向,返回数据或是 接收来及主机的数据。 • 数据传输完成后,握手包用于表明 传输完成情况。对于输出传输,响 应信号由设备产生;对于输入传输 ,响应信号由主机产生。
15
USB系统的级联星型拓扑结构
• • •
主机包含有主机控制器和根集线器(root hub),控制USB总线上的数据传输。USB系统只能有一个根集线 器,它连接在主机控制器上。主机有时也集成集线器,用于扩展主机的连接端口数量。 集线器是USB系统的特定组成,提供端口(Port)将功能设备连接到USB总线上,同时检测连接在总线上的 设备,并为这些设备提供电源管理,负责总线的故障检测和恢复。通过集线器,USB系统最多可以连接127 个功能设备。 功能设备通过端口与总线连接。集线器与功能设备可由主机通过USB总线提供能源,也可由自身提供能源( 通过自身外部电源接口)。需要注意的是,主机通过USB总线提供电源存在电流限制。USB总线可以提供 5V电源供连接的外设使用。USB总线提供的电流较低,100mA到500mA之间,对于鼠标、U盘等外设是足 够的,对于需要大电流的外设来说,需要自身供电。
SPI和触摸屏的协同工作举例
中断 信号 G P I O 中断控 制器 A/D芯片中 断服务 中断 是 发数 据 触 摸 屏 电压 采集 A/D 芯片 S P I 否 挂起或 忽略
SEP4020
目录
• 低速通信接口控制器
– UART – SPI

东南大学soc课件9 SoC各种接口模块(2学时)教材

东南大学soc课件9 SoC各种接口模块(2学时)教材

USB工作原理
• USB技术和IP技术一样,都是基于分组传送方式的。 • 首先把数据分成若干块,然后在每块数据前面添上同步信号、包标识,
后面添上CRC校验,就形成了USB封包。 • 一个文件可能可能有多个封包。 • 全速USB总线把1毫秒作为一个时间帧,总线在一个帧内依次传送不同
文件的封包。因此从宏观上,就仿佛总线同时对不同的USB外设进行 数据传送。 • 根据信息包所实现的功能可分为3种类型:令牌包、数据包和握手包。 令牌包定义了数据传送的类型
• 与UART不同,SPI是同步协议接口,所有的传输参照一个 共同的时钟
• 主从方式接口,可以一带多 • 简单实用:A/D, D/A,时钟芯片,串行存储器等外设
ห้องสมุดไป่ตู้
MOSI MISO SCLK
I/O GND
SI SO CLK CS GND
8
SPI 控制器
• 作用:
– 在微控制器与外设之间进行并串转换的数据传输;其外 设传递方式:
工串行接口协议。时钟相位、极性有四种组合方式,时钟相位、极性 的选择决定了传输是否以第一个发送时钟作为开始,停止时钟是否保 持为高电平等问题。National Semiconductor Microwire 半双工的串 口协议。采用控制字串行传输,来协调MASTER设备与SLAVE设备 的控制信息。 • 时钟比特率(数据传输的串行比特率)动态控制,仅在串行MASTER 模式下进行的操作。
触 摸 屏
电压
采集
G
P
中断
I
信号
O
发数 据
A/D 芯片
中断控 制器
中断 是
A/D芯片中 断服务

挂起或 忽略
S P I

东南大学soc课件9 SoC各种接口模块(2学时)讲解

东南大学soc课件9 SoC各种接口模块(2学时)讲解
USB协议的发展 最大传输速率 USB1.0 USB1.1 USB2.0 USB3.0 低速(Low-Speed) 1.5Mbps(192KB/s) 全速(Full-Speed) 12Mbps(1.5MB/s) 高速(High-Speed) 480Mbps(60MB/s) 超速(Super-Speed) 5Gbps(640MB/s) 最大输出电流 500mA 500mA 500mA 900mA 协议推出时间 1996年1月 1998年9月 2000年4月 2008年11月
USBD模块的连接
USB 1.1 Device 控制器
• • • • • • 48MHZ的系统时钟 支持USB1.1协议 USBD外挂FIFO,发送和接受FIFO都为128x16 一个配置,两个端点(Control端点和Bulk端点) DMA传输方式,支持部BURST传输方式 全部同步设计
20
USBD模块所设计的寄存器
BaudRate Generator Interrupt Generator
5
UART控制器模块中所设计的寄存器
• • • • • • • • 1、中断使能寄存器 2、中断识别寄存器 3、FIFO控制寄存器 4、线路控制寄存器 5、Modem控制寄存器 6、线路状态寄存器 7、Modem状态寄存器 8、Divisor Latches寄存器:用于设置传输的波特 率 • 9、接收FIFO • 10、发送FIFO
MOSI MISO SCLK I/O GND SI SO CLK CS GND
8
SPI 控制器
• 作用:
– 在微控制器与外设之间进行并串转换的数据传输;其外 设传递方式:
• 全双工 • 同步 • 串行
总 接受 发送 ARM7TDMI 线 串转并 并转串

SoC设计方法与实现 第8章 SoC功能验证 课件PPT

SoC设计方法与实现 第8章 SoC功能验证 课件PPT
芯片层 把所有模块的独立验证集成,在芯片顶层(top-level)执行。 由SoC架构的复杂性所决定,这一层的验证是一项艰难的任务。
系统应用层
需要尽可能模仿真实的应用程序和应用环境。
SoC功能验证的发展趋势
新的方法学及更好的工具 理解系统 容易找到产生问题的原因 可重用验证模块 验证自动化 通用的验证方法学
目的 建立通用的、可重用的验证组件(UVC,UVM Verification Component) 高效地进行SoC功能验证(数字逻辑) 减少验证的费用
UVM是建立在SystemVerilog平台上的
UVM 是建立在SystemVerilog平台上一个库,它提供了一系列的接口, 让我们能够更方便的进行验证。
SoC设计
方法与实现
SoC设计方法与实现
第九章
SoC功能
验证(1)
功能验证概述及验证方法
内容大纲
功能验证概述及验证方法 验证规划 基于断言的验证 通用验证方法学
功能验证概述及验证方法
随着设计的进行,越接近最后的产品,修正一个设计缺陷的 成本就会越高。
新的验证方法不断出现,提高验证效率、在设计的早期发现 问题。
基于仿真的功能验证方法
仿真 硬件模拟 形式验证及半形式验证
仿真验证平台
随机激励生成 示例:带约束的随机激励生成,保证产生的激励的合法性。
x1和x2为系统的两个输入,它们经过独热码编码器编码之后产生与被 验证设计(DUV)直接相连的输入。
输入约束: in[1] + in[3] + in[2] <= 1 产生有效的随机测试激励
用于仿真+属性检查(一种形式验证)
验证实现所花费的时间与验证的质量

东南大学soc课件4-SoC架构(6学时)

东南大学soc课件4-SoC架构(6学时)

多媒体系统
GPU
VPU
LCDC
HDMI
I2S
CODEC
GPS系统
存储系统
NOR/SRAM/ SDRAM
DDR2 NAND
7
SEP0718结构图
LCDC
I2S
HDMI PHY
AUDIO CODEC
GPS CTRL
UART (4)
I2S
BUS5 - APB32
AUDIO
SPI
CODEC
(3)
I2C
BUS3 - AHB32
板级模块测试 系统级测试 稳定性测试 产品样机 产品小批量 芯片量产
14
目录
• 1、SoC整体架构 • 2、CPU • 3、总线 • 4、系统控制模块
15
CPU – SoC中的内核
• CPU所做的工作由其指令集决定 • CPU的控制和数据通路执行指令集中的各种指令
16
指令集ISA要完成哪些工作?
FIQ IRQ (Reserved) Data Abort Prefetch Abort
Software Interrupt Undefined Instruction
Reset
Vector Table
24
INTC在SoC芯片中的位置
INTC
25
信号列表
名称
pclk preset psel penable pwrite paddr pwdata prdata
GPIO (AO)
ESRAM (96kB)
NOR/ SRAM
NAND
SDIO (2)
8
Samsung 6410
9
Samsung S5PV210

东南大学soc课件10 芯片验证(3学时)

东南大学soc课件10 芯片验证(3学时)
• Pros
– The design size is limited only by the computing resource. – Simulation can be started as soon as the RTL description is finished. – Set-up cost is minimal.
Design Creation
RTL
Design Implementation
Gate Gate
Physical Implementation
GDSII
4
Where are the Bugs?
• Functional specification
– system or behavior-level descriptions
25
观察仿真波形(续)
• 看arm是否正常取指令运行
– 先取0x0地址中的跳转指令(e开头的指令), 内容是否正确可参考asc文件中的第一行。 – 下一个取的地址就不是0x4,而是根据跳转指 令而跳转到其它地址去取指令
26
观察仿真波形(续)
• 观察AMBA总线的信号是否正确 • 先看HTRANS信号
• 在testbench中所加的复位和时钟信号的激 励下
– arm在复位后从0x0地址取指令运行 – 0x0地址一般为片选CSA所接的存储器
24
观察仿真波形
• 普通、简单、基础而又易被忽视的信号!
– CLK – RESET_N
• 但是无论在仿真还是测试中都是最重要的 信号!!!
•CLK •RESET_N
5
Percentage of Total Flaws
Power Race 4% 5% Clocking 5% Yield 7% Noise 12%

《芯片后端验证》PPT课件

《芯片后端验证》PPT课件

28 精选ppt
28
版图验证工具-Dracula
❖ 版图->GDSII 格式转换 WHY:Dracula 处理对象是GDSII文件
操作步骤:
执行:CIW->File->Export->Stream… 弹出如下窗口:
29 精选ppt
29
版图验证工具-Dracula
运行目录
输出文件名
30 精选ppt
Hierarchical VS Flatten
Online VS offline
25 精选ppt
25
版图验证工具-Dracula
❖ Dracula 主要功能: 1.设计规则检查-DRC * 2.电气规则检查-ERC 3.版图&原理图一致性检查-LVS * 4.版图参数提取-LPE 5.寄生电阻提取-PRE
2 精选ppt
2
版图验证工具-DIVA
❖ Diva -Design Interactive Verification Automation
DIVA 是 Cadence软件中的验证工具集, 用它可以找出并纠正设计中的错误.它除了可 以处理物理版图和准备好的电气数据,从而进 行版图和线路图的对查(LVS)外。还可以在 设计的初期就进行版图检查,尽早发现错误并 互动地把错误显示出来,有利于及时发现错误 所在,易于纠正。
BJT、二极管的面积,周长,结点寄生电容 等)并以Hspice 网表方式表示电路。
7 精选ppt
7
版图验证工具-DIVA
❖ DIVA工具流程
8 精选ppt
8
版图验证工具-DIVA
❖ Design Rule Checking
9 精选ppt
9

SoC功能验证

SoC功能验证

21
13、基于断言的验证
• 用一种语言来描述设计的功能行为,然后将断言嵌
入在设计中,或放在一个单独的外部文件中,在仿 真或形式验证的过程中,断言将被仿真工具或形式 验证工具检查,设计者就能够知道设计是否满足所 描述的功能行为;
• 根据设计中断言所描述的功能行为的不同,可以将
其分为三种:应用断言、接口断言和结构断言。
传统的验证方式只是基于芯片本身的功能验证,IC设计 工程师与系统工程师工作在各自独立的验证平台上; 功能验证将向系统级设计与IC设计在同一个验证平台上 发展。
8
主要内容
• SoC功能验证的概念 • SoC功能验证的问题和发展趋势 • 主要的验证技术 • 软、硬件协同验证 • 基于断言的验证 (ABV)
14
6、快速原型
• 也称硬件建模,是待验证对象的一种硬件设计表示
形式,常用FPGA或ASIC来实现;
• 快速原型通过快速地实现系统设计中的硬件模型,
让软件模块在真正的硬件上高速运行,实现SoC设 计的软硬件协同验证。
15
7、硬件加速器
• 是指为了加速逻辑模拟而把门级网表映射到专门的
硬件中;
• 该技术将软件模拟中部分或全部元件映射到特意为 •
果精确,容易检查出设计对象中的毛刺,特别适用 于异步电路的模拟;
10
2、基于周期的模拟
• 基于周期的模拟只在时钟的上升沿或下降沿触发,
每一个时钟周期的时间对电路计算一次,在时钟周 期内没有时间概念,它只对同步设计有效;
• 这种模拟的模拟速度显著提高,是基于事件的模拟
的5倍~100倍,适用于需要大型模拟向量的设计 对象,如微处理器、专用集成芯片和系统芯片;
35
大作业
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

c g4
for (i = 0; i < d; i= i+2) { if (y > 3) p = p * 3; else q = q + r; }
b d e c d a b f
g1 g5 g2 g6 g3 g7 g8 g9
Bottom line: to fix as many bugs in your design as possible
Design Creation
RTL
Design Implementation
Gate Gate
Physical Implementation
GDSII
4
Where are the Bugs?
• Functional specification
– system or behavior-level descriptions
• 其中file_arm.f文件中列出了所有的.v文件
– – – – – – – – – – – – Arm.v Amba.v Dmac.v Ssi.v Emi.v Intc.v Top.v Ssi_model.v Sdram.v Sram.v Nand.v Test.v
23
开始运行arm测试程序
SoC芯片验证
1
目录
• Why Verification • Verification Alternatives
2
What is Design Verification?
always @(posedge clk) begin if (rst==1'b1) cnt <= sv; else if (cnt==2'b00) cnt <= 2'b01; else if (cnt==2'b01) cnt <= 2'b10; else if (cnt==2'b10) cnt <= 2'b11; else cnt <= sv; end
• SoC芯片外接模型
17
编写RTL testbench
18
编写RTL testbench
• 在初始化部分添加
– 系统复位信号 – 系统时钟信号激励
• 把SoC芯片的各个管脚连接好
– 暂无用的输入管脚置0或置1,暂无用的输出管脚可悬 空 – 和功能验证相关的管脚必须对应连接好
• 每个片选上所接的存储器须按存储器的要求连接好各个信号线
– fromelf -vhx -8x1 “ssi.axf" -o asc
• 把asc加载到SoC的CSA片选所接的存储器中
– 在RTL的testbench中编写 – $readmemh ("asc",u_csa0.memory);
22
开始编译RTL代码并仿真
• vcs -f file_arm.f -l sim.log
5
Percentage of Total Flaws
Power Race 4% 5% Clocking 5% Yield 7% Noise 12%
Other 9% Logical/ Functional 45%
Slow Path 13%
6
Importance of Verification
• More than half of all chips require one or more re-spins, and that functional errors were found in 74% of these re-spins. • With increasing chip complexity, this situation could worsen. • Who can afford that with >= 1M Dollar NRE cost?
ATPG Fault Simulation Scan / BIST
9
Agenda
• Why Verification • Verification Alternatives
10
Verification Alternatives
• Simulation • FPGA Prototyping • Formal Verification
• 在testbench中所加的复位和时钟信号的激 励下
– arm在复位后从0x0地址取指令运行 – 0x0地址一般为片选CSA所接的存储器
24
观察仿真波形
• 普通、简单、基础而又易被忽视的信号!
– CLK – RESET_N
• 但是无论在仿真还是测试中都是最重要的 信号!!!
•CLK •RESET_N
25
观察仿真波形(续)
• 看arm是否正常取指令运行
– 先取0x0地址中的跳转指令(e开头的指令), 内容是否正确可参考asc文件中的第一行。 – 下一个取的地址就不是0x4,而是根据跳转指 令而跳转到其它地址去取指令
26
观察仿真波形(续)
• 观察AMBA总线的信号是否正确 • 先看HTRANS信号
14
RTL仿真
• 所使用的工具:VCS or Modelsim • 仿真步骤:
– – – – 搭建RTL验证环境 编写RTL的testbench 编写ARM的测试代码 把ARM测试代码的二进制文件加载到RTL验证环境中 的RAM中 – 开始运行arm测试程序 – 观察仿真波形,观察调试信息
15
搭建RTL验证环境
Behavioral Design
RTL Design
Gate Level Design
Device Production
8
Verification vs. Testing
Design Specification Design Creation Design Implementation Chip Manufacture
• 以DMAC模块的验证为例
SSI模型
SOC芯片
SRAM1 (CSA 16 *1)
SRAM2 (CSB 8*1) DMAC SDRAM (CSE 16*1)
SRAM (CSF 16*1)
NAND (8*1)
16
搭建RTL验证环境(续)
• SoC芯片
– – – – – – – – – – ARM7TDMI AMBA DMAC模块 SSI控制模块 EMI INTC SSI外设模型 SRAM模型 SDRAM模型 NAND模型
• Design creation
– Inconsistent with spec – RTL coding error (typo, X, logical error) – Assumption on the environment
• Design/Physical implementation
– Synthesis tools – Manual optimization
7
Bug Fixing Cost in Time
• Cost of fixing a bug/problem increases as design progresses.
– Need verification method at early design stage
Cost of Fixing a Problem
Testbench a = 1; #20 b = 1; $display (“status is = %d”,c); ... Some part of the design is tested repeatedly. DUV Other parts are not even tested.
13
Software Simulation
Verification takes ~ 70% of resources in today’s IC design
3
• 设计验证verification的目的是确认设计的功 能正确性和性能(速度和功耗等)满足设 计要求,贯穿于设计的整个过程
Design Flow
Functional Specification
28
观察仿真波形(续)
• 看DMAC模块的接口信号波形 • 如果是存储器到外设的传输
– 看存储器的接口信号 – 看相应外设的接口信号
• SSI
29
观察调试信息
• 如何把C代码中打印的调试信息打印到VCS仿真运行 的控制台中?
– 在SoC芯片的顶层文件中例化Tube模块,作为一个AHB slave设备,设占用的地址为0x1100c000。 – Tube模块接收往0x1100c000地址所写的字符并保存到log 文件中。 – 在arm测试代码中的retarget.c文件实现print函数,print函 数把要打印的调试信息发送到0x1100c000 地址 – 则arm代码调用print函数,即可把调试信息打印到VCS仿真 运行的控制台中。
• Cons
– Slow (~k cycles/sec) ; Speed gap between the speed of software simulation and real silicon widens. (Simulation speed = size of the circuit simulated / speed of the simulation engine) – The designer does not exactly know how much percentage of the design have been tested.
– 00:IDLE – 01:BUSY – 10:NONSEQ – 11:SEQ
27
观察仿真波形(续)
• • • • • • • • • • • • HBUSREQ HGRANTx HSELx (Slave select signal) HLOCK HTRANS[1:0] HBURST[2:0] HADDR[31:0] HREADY (Slave response signal, transfer done.) HRESP[1:0] HWDATA[31:0] HRDATA[31:0] HWRITE
相关文档
最新文档