Flexible Mortgage Fapturbo Flexible Mortgage
Www Flexiblemorgage Tag Budgeting Flexible Mortgage SoC设计与实现 - 机械,电子文档资料
Www Flexiblemorgage Tag Budgeting Flexible Mortgage
具进行SoC设计实现的过程
Www searchsearchsearchsearch Flexiblemorgage search
Budgeting searchud Tag e
iF Www exblsearchmsearchr Flexiblemorgage a Flexiblemorgage e
ww
asearch ud Www ei Www g Budgeting Tag Wsearchw Www Tag B Www d Budgeting e
isearchg s Flexiblemorgage a Flexiblemorgage c Flexiblemorgage
search Flexiblemorgage search
Www search, Flexiblemorgage searchsearch Flexiblemorgage P Www Budgeting Tag Tag searchsearch
SsearchC Www search Tag search Flexiblemorgage Flexiblemorgage Www
Tag Tag Budgeting Www search
第二讲内容
TE设计及体系结构
IP模块
软件
TE的文件结构
一个实际的SoC设计:
Turbo Eagle
由Cadence设计服务部门完成的一个SoC参考设计--图像处理芯片
系统的功能:在CPU处理器的控制下,从外围接口读入jpeg文件,利用dsp处理器实现解码,再把图片文件显示在VGA显示器上
SoC设计基于公共的IP资源,所有IP都来自互联网
Turbo Eagle的结构
原来的设计是采用TSMC013um工艺实现
370个pin脚的PPGA封装
目前的设计基于0.18um工艺,采用cadence的单元库和设计工具进行实现
Turbo Eagle的结构
在CPU控制下
从usb,ethernet等外围接口读入JPEG数据
用dsp解压
显示到VGA
Turbo Eagle的结构
接口电路中的MAC(media access control)层片内实现
而高压部分PHY物理层电路和DAC等模拟电路片外实现
Turbo Eagle的功能结构图
芯片内部结构
主控制器Leon,从控制器为DSP
SoC基于AMBA总线
DES为解密模块,目前的设计中被去掉了
Turbo Eagle的外围接口信号
基于cadence GPDK中0.18um工艺
UTMI:USB Transceiver Macrocell Interface
MII:Media Independent Interface
Turbo Eagle的时钟结构
整个系统有多个时钟
系统时钟250Mhz
主处理器时钟125Mhz
外围接口电路(ethernet,usb等)根据通信协议的要求,采用各自的时钟频率,与系统时钟分开
Turbo Eagle SoC
体系结构
IP模块
CPU
DSP
外围接口
存储器
BUS
软件
SoC中的IP
SoC中可以复用的电路模块
软核,固核和硬核
在设计中需要提供仿真模型,逻辑综合模型和物理设计模型
软核是最灵活的IP形式,可以用来进行逻辑仿真,综合和物理设计
软核的缺点是保密性差
本设计中全部使用IP软核,这些IP都是开放代码的,没有保密性问题
SoC Microprocessors
Softblocks (Soft-IP)
Synthesizable HDL code (commercial HDL is usually encrypted)
From Synopsys Designware, Opencores, MIPS, etc.
Can be implemented on any Library
Usually very configurable
Cash (Yes, No, How big, Code/Data separate or unified)
Pipelined (Yes, No)
SRAM interface (single cycle, multi cycle)
User Defined Instructions
Timing, Area and Power depend on process, CAD tools used, and user skills
Hardblocks (Hard-IP)
Fully implemented, verified mask layout block
Available only for specific process
Not configurable
Guaranteed Timing, Area, Power Consumption
E.g. MIPS Hard-IP cores
Turbo Eagle uses Soft-IP cores
The Turbo-Eagle SoC
Microprocessor
2 SPARC compatible Leon CPUs (DSP slave to Master CPU)
Memory
312k 片上SRAM,作为DSP的程序和数据存储器
Various other memories
Bus
AMBA bus
Some blocks have Wishbone interface, use Wrapper to connect to AMBA bus
Periphery
2 Ethernet ports
USB, VGA, HDD (ATA)
The Turbo-Eagle SoC
Microprocessor(RISC,DSP)
Memory(SRAM)
Bus(AMBA,Wishbone Wrapper)
Periphery
2 Ethernet ports
USB, VGA, HDD (ATA)
The Leon Core
Synthesizable VHDL soft-core
同SPARC V8体系结构兼容32位微处理器
5级流水线RISC
包括硬件乘除法单元
包括 AMBA controller
包括UART接口
Leon:嵌入式软件
支持C语言
包括一个带有C编译器和调试器的开发环境
运行一个小的操作系统RTEMS
Turbo Eagle:leon core
Turbo-Eagle 使用了2个LEON微处理器核:
Master CPU called "Leon"
Slave CPU called "DSP" (a Leon core configured for DSP)
主控制器负责系统调度等工作
主控制器"Leon" 以2倍于总线时钟的速度工作
"DSP"负责图像解码工作,以总线时钟工作
RISC的功能描述
LEON是一个软核,作为主控制器使用
主要实现系统调度功能,并负责协调数据的传送
利用LEON中的AHB,IO Port,UART和Memory Controller等部分
RISC的功能描述
利用AHB,IO Port,UART和Memory Controller等功能:
AHB是同其他模块通信的主总线
Memory Controller负责同外部的存储器(PROM,RAM和Video Memory)进行通信
UART接口提供串口通信
I/O port提供通用的IO功能,并负责主控制器和dsp之间的中断处理
Turbo Eagle:dsp core
Turbo-Eagle 使用了2个LEON微处理器核:
Master CPU called "Leon"
Slave CPU called "DSP" (a Leon core configured for DSP)
DSP负责JPEG文件的解压功能
主控制器"Leon" 以2倍于总线时钟的速度工作
"DSP" 负责图像解码功能,以总线时钟工作
Dsp的功能描述
DSP模块主要是利用LEON中的MAC(Multiply/Accumulate)指令
主要功能是在系统中实现JPEG解码的数据信号处理
利用LEON中的AHB,IO Port和Memory Controller等部分
Dsp的功能描述
利用LEON中的AHB,IO Port和Memory Controller等部分
Memory Controller负责同系统内部的312k双端口存储器的通信,给DSP提供程序代码和数据
I/O port作为通用IO口处理主控制器和dsp之间的中断
AHB总线只提供DSP内部总线功能,不连接外部
UART没有使用
主控制器和dsp的接口
二者之间有3个信号,受到PIO端口的控制
Reset:控制器初始化之前,将dsp复位
DSPGo:JPEG解压开始
DSPDone:解压结束
控制器初始化:初始化寄存器,并加载dsp要执行的程序
Turbo Eagle SoC
体系结构
IP模块
CPU
DSP
外围接口
存储器
BUS
软件
外围接口IP
Implement all elements of a microcomputer
USB controller
Ethernet controller
Timer and Interrupt contoller
DMA controller
PCI bridge
Memory controller
Parallel and Serial I/O
Some block need external counterpart (PHY) for specialty operations (e.g. Ethernet, USB)
USB模块
包括一个双端口1k*32的DPRAM,用来存储packet数据
该IP模块同wishbone总线格式兼容,需要wishbone/AHB wrapper来使用AMBA总线
PHY为兼容UTMI标准的外部器件
本系统中只把该模块作为输出器件
DMA模块
兼容AMBA总线的DMA IP
实现Direct Memory Access功能,使得MAC模块可以通过AMBA高速总线不通过控制器而直接访问存储器
Memory-memory 之间传输
Memory-I/O之间传输
Pass-through 模式
MAC模块
包括2个连接到定制总线的ethernet MAC 10/100M
每个以太网口包括transmit(Tx)和receive(Rx)缓冲器(1k*32 FIFOs)
定制总线接口由DMA模块提供
VGA/LCD模块
提供基本的VGA功能,支持320×240 8bit pseudo-color显示
Wishbone总线兼容,需要wishbone/AHB wrapper来使用AMBA总线
需要wishbone slave和wishbone master
内部存储器:2个1k*32存储器提供颜色查表功能,1个1k*32存储器提供FIFO功能
外部存储器:Video Memory,利用2个64k×16的DPRAM实现
HDD模块
Wishbone总线兼容IP
作为Wishbone slave器件使用
Turbo Eagle SoC
体系结构
IP模块
CPU
DSP
外围接口
存储器
BUS
软件
SoC Memory
外部存储器接口
系统内存 Dynamic RAM (DRAM)
VGA IP-Block使用外部视频存储器video memory
内部存储器
ROM for firmware, bootloader etc.
SRAM Data memory
FIFOs
To buffer data streams between major IP blocks
To buffer incoming data to peripherials (Ethernet, USB)
Turbo eagle中存储器的实现
本系统中主要的片上存储器是DSP使用双端口SRAM
SRAM使用SRAM编译器实现,为独立的IP硬核模块
存储器的仿真模型用于系统验证
存储器的逻辑综合和布局布线模型用于设计实现
Turbo Eagle SoC
体系结构
IP模块
CPU
DSP
外围接口
存储器
BUS
软件
SoC中的IP--片上总线
目的:是来自不同供应商的IP能够方便地互连.
特点:
充足的pin资源
可变的互连方式
地址的部分编码
主要的片上总线:
Arm:AMBA(Advanced Microcontroller Bus Architecture)
Silicore公司的Wishbone
Turbo eagle设计中采用的IP来源不同,有的支持AMBA总线,有的支持wishbone总线,系统总线采用AMBA结构.而支持wishbone总线的IP通过接口转换实现对AMBA的支持.
The AMBA bus (1)
ARM公司开发的SoC片上总线标准,目前受到广泛应用
products/solutions/AMBAHomePage.html
设计复用
Only need to code and verify a block once
Can use over and over in other AMBA systems
"AHB" – High Speed Version
"APB" – Peripheral low speed version
The AMBA bus (2)
"AHB" – High Speed Version
"APB" – Peripheral low speed version
Use Bridge to interface to "AHB"
Less stringent requirements for low throughput blocks
Isolates critical bus segments from slower blocks
The AMBA Bus (3)
基于多路选择器的总线结构
总线上所有的Master发出操作地址和控制信号
Arbiter决定由那个master的地址和控制信号进入所有的slave单元
Decoder决定那个slave中的数据被读入
The AMBA Bus (4)
某master单元向arbiter发出请求信号,由arbiter决定该master是否可以使用总线
被授权的master发出地址和控制信号
写总线用于master向slave传输数据,而读总线用于slave向master传送数据
传输过程中只要arbiter没有将总线授权给其他master,该master可以完成数据传输
1 transfer takes 2 cycles:
Address Phase
Data Phase
The Wishbone bus
另一种SoC片上总线标准
projects.cgi/web/wishbone/
本设计中使用的某些IP支持wishbone总线,系统总线采用AMBA结构.而支持wishbone总线的IP通过接口转换实现对AMBA的支持.
Turbo-Eagle
Uses several Opencores blocks (USB, HDD, VGA)
Uses a Wishbone-Amba-Wrapper
Turbo Eagle SoC
体系结构
IP模块
CPU
DSP
外围接口
存储器
BUS
软件
软件功能
SoC作为系统设计方法,需要包含软件,软件实现系统控制和某些同硬件类似的专用功能
系统引导(boot ):用于引导操作系统,一般放在rom中
系统控制:实现诸如内存资源管理和进程调度等功能
专用功能:某些硬件的功能可以用软件来实现,这样系统变得可编程,更加灵活
软件功能:系统控制
简单的系统控制可以利用状态机实现
对于复杂的嵌入式系统,需要实时操作系统RTOS来完成系统控制
RTOS可以根据外部信号的变化,实时作出响应,改变系统控制,实现正确的系统功能
Turbo eagle中使用RTEMS实时操作系统
软件功能:专用功能
某些硬件的功能可以用软件来实现,这样系统变得可编程,更加灵活
Turbo eagle系统中的JPEG解压功能是通过dsp运行解压程序来实现的
可以通过改变dsp执行的程序增加其功能
也可以用专用解码模块电路来实现解压功能,一般速度更快
软件功能
Firmware:编译后的软件,放入存储器中
在Turbo Eagle中主要执行2个程序:
主控制器程序:实现控制数据传送和内部管理的功能
专用程序:实现dsp功能,如JPEG解压
软硬件接口定义:上电初始化
固件变量的初始化
硬件寄存器的初始化
把dsp程序传送到dsp的DPRAM中
释放reset信号给dsp,开始dsp的上电初始化过程:
固件变量的初始化
硬件寄存器的初始化
软硬件接口定义:进程执行顺序
初始化完成后,系统进行数据处理:
从以太网口MAC1输入图像文件cadenceLogo.jpg
把该JPEG文件存到HDD
把JPEG文件输出到USB口
把JPEG文件输出到以太口MAC2
解压该JPEG文件为cadenceLogo.pix
把cadenceLogo显示到VGA口
软硬件接口定义:中断执行顺序
控制器-dsp之间的中断顺序如下:
主控制器load自举-POR(上电复位信号)产生特殊中断
Dsp自举-主控制器产生POR(power on reset)
Dsp执行JPEG解压功能-主控制器产生中断
Dsp解压完成-dsp产生中断
软硬件接口定义:存储器映射
微处理器的存储器地址分配
地址空间较大
部分没有使用
Dsp的程序和数据存储器一共为312k
软硬件接口定义:存储器映射
总线AHB的地址分配
实验内容:第一部份
熟悉TE中的文件结构
PCI模块的单独仿真
TE增加PCI模块
增加PCI bridge代码
·上一篇:80C51的并行口结构与操作
·下一篇:计算概论