基于
SW64E
自主
指令
TH
_SoC
研究
设计
张海雨
1 6 M i c r o c o n t r o l l e r s&E m b e d d e d S y s t e m s 2 0 2 3年第4期w w w.m e s n e t.c o m.c n 基于S W 6 4 E自主指令集的T H 1 S o C研究与设计张海雨,马宏进,韩萍(无锡先进技术研究院,无锡 2 1 4 1 2 2)摘要:为了填补S W在低功耗管理核心方面的空白,基于S W 6 4 E自主指令集,遵循简单高效的原则,研究设计了一款低功耗嵌入式太湖1(TH 1)S o C。围绕TH 1 S o C,进一步设计了由A X I总线、A P B总线、UA R T通用串行总线、S P I MA S T E R控制器、S R AM/D D R 4控制器和时钟复位模块组成的TH 1 S o C最小系统。利用TH 1 S o C原型系统,不仅验证了TH 1 S o C的正确性,而且为TH 1 S o C在低功耗嵌入式应用领域奠定了基础。关键词:S W 6 4 E;TH 1 S o C;嵌入式S o C;F P G A中图分类号:T N 4 0 2 文献标识码:AR e s e a r c h a n d D e s i g n o f T H 1 S o C B a s e d o n SW 6 4 E A u t o n o m o u s I n s t r u c t i o n S e tZ h a n g H a i y u,M a H o n g j i n,H a n P i n g(W u x i A d v a n c e d T e c h n o l o g y R e s e a r c h I n s t i t u t e,W u x i 2 1 4 1 2 2,C h i n a)A b s t r a c t:T o f i l l t h e g a p o f SW i n l o w-p o w e r m a n a g e m e n t c o r e,a l o w-p o w e r e m b e d d e d T a i h u-1(TH 1)c o r e f o l l o w i n g t h e p r i n c i p l e o f s i m p l e a n d e f f i c i e n t d e s i g n i s d e s i g n e d b a s e d o n“SW 6 4 E”a u t o n o m o u s i n s t r u c t i o n s e t.F o c u s i n g o n t h e TH 1 c o r e,t h e TH 1 S o C m i n-i m u m s y s t e m c o m p o s e d o f A X I b u s,A P B b u s,UA R T u n i v e r s a l s e r i a l b u s,S P I MA S T E R c o n t r o l l e r,S R AM/D D R 4 c o n t r o l l e r a n d c l o c k r e s e t m o d u l e i s f u r t h e r d e s i g n e d.T h e TH 1 S o C s y s t e m n o t o n l y v e r i f i e s t h e c o r r e c t n e s s o f t h e TH 1 c o r e,b u t a l s o l a y s t h e f o u n d a t i o n f o r t h e TH 1 c o r e i n t h e f i e l d o f l o w-p o w e r e m b e d d e d a p p l i c a t i o n.K e y w o r d s:SW 6 4 E;TH 1 c o r e;e m b e d d e d S o C;F P G A0 引 言随着集成电路设计技术和半导体工艺水平的提高,芯片规模越来越大,数百万门级的电路可以集成于单一芯片1。在单一芯片上集成一个包含多种电路功能模块、实现复杂功能的完整系统称为片上系统(S y s t e m o n a C h i p,S o C)。S o C在速度、功耗和成本等方面比多芯片系统更具优势2。由于空前的高效集成性能,S o C的研究与设计已成为当前微电子芯片发展的必然趋势3。S W核心坚持自主发展十多年,已形成完整的指令集定义能力、微结构设计能力、基础软硬件支撑能力,但缺乏低功耗的嵌入式核心。为了形成可作为管理核心和后续嵌入式应用的S W低功耗核心基础,本文以低功耗、易使用、可自治、可配置、I P化为首要目标,采用静态预测、单译码、单发射、顺序执行的流水线结构,精简的运算部件和访存流水线,设计了一款低功耗嵌入式领域的处理器核心太湖1(TH 1)。为了验证TH1核心的正确性,本文进一步研究了基于TH1核心的S o C原型设计,并在F P G A平台上实现了基于TH 1内核的S o C原型设计和验证。1 基于T H 1内核的S o C设计与实现 基于TH 1内核的S o C采用AMB A总线互联结构将内核与外设进行连接,其内部结构框图如图1所示。图1 T H 1 S o C内部结构框图1.1 T H 1内核TH 1内核是第一款基于S W 6 4 E自主指令集的精简自研嵌入式内核I P,该核心采用I P化设计,其指令、数据存储器工作模式、T L B条目数等关键微结构参数可配,敬请登录网站在线投稿(t o u g a o.m e s n e t.c o m.c n)2 0 2 3年第4期 1 7 并实现了标准的A X I接口,便于S o C集成。根据低功耗应用领域的特点裁剪S W 6 4指令集,T H 1核心在微结构上实现了单译码、单发射、顺序执行、静态预测的5级流水线,将指令分为取指、译码、执行、访存和写回5个阶段。TH 1核心的微结构主要包括取指管理部件I B X、指令存储部件I C a c h e/I TM、指令译码部件D B X、流水线控制部件C B X、控制运算部件A L U、访存管理部件MB X、数据存储部件D C a c h e/D TM、系统接口部件S I F和核内R OM存储器。TH 1核心关键微结构参数可配,核心内指令和数据的存储采用可配置双模式结构。在处理机模式及存储管理上进行精简设计,设置硬件模式、内核模式和用户模式3种处理机模式,以适应多种嵌入式应用场景。1.2 A X I总线TH 1内核对外接口为A X I M a s t e r,读写均为串行方式,为 简 化 设 计,片 上 互 联 总 线 由 一 条A X I总 线 组成4-6。芯片外围总线采用6 4位A X I总线结构,地址总线4 0位,A X I互 联 总 线 采 用MAMD(M u l t i p l e A d d r e s s,M u l t i p l e D a t a)结构,主机和从机全交叉互联。A X I总线具有5个通道,包括写请求、写数据、写响应、读请求和读响应。读写控制信息及相应数据能够单独传输,读事务、写事务和响应事务完全分离。A X I总线是M a s t e r S l a v e结构,只有M a s t e r能发出请求。A X I总线同时支持不同主从设备的并发传输,最多支持1 6个M a s t e r和1 6个S l a v e。A X I总线采用V a l i dR e a d y握手机制。V a l i d表示发送就绪,R e a d y表 示 接 收 就 绪,5个 通 道 均 有 独 立 的V a l i d R e a d y信号。V a l i d可以先于R e a d y升起,即请求暂时被阻塞;V a l i d也可以后于R e a d y升起,表示接收方一直空闲,随时可以接收请求;R e a d y和V a l i d也可以同拍升起和落下。A X I写数据和读数据最后一拍均需升起对应L a s t信号,显性表示尾拍。1.3 U A R T通用串行数据总线U A R T控制器主要用于核心向外输出打印信息和简单的调试命令输入等,从而实现TH 1芯片外围低速设备的串行通信7-8。串口通信数据帧通过S T A R T和S T O P位指示串行数据传输的开始和结束。在S T A R T位后,从最低位传送数据。最 后 一 位 数 据 与S T O P位 之 间 为 奇 偶 校 验 位,S T O P位可以是1、1.5或2位。所有位 都 以 相 同 的 时 间(B i t T i m e)传 送,一 个B i t T i m e等于1 6个波特时钟。为了确保线路的稳定性,一旦发现起始位有效,接收器在B i t T i m e 的中点采样串行输入数据,即在起始位的中点采样后,每1 6个波特时钟采样一次数据。UA R T与外部设备通信前要约定双方通信的波特率及帧格式。UA R T初始化配置包括波特率时钟的设置、帧格式的设置、F I F O设置和中断使能配置。初始化后,双方才能正常通信。1.4 S P I接口S P I接口控制器可以连接S P I接口的E E P R OM或F l a s h芯片9。TH1芯片集成标准I P实现对F l a s h芯片的访问,并且可以利用F l a s h芯片实现自启动。S P I_C T R L模块负责把自启动流程的操作转换为A P B总线操作,其连接关系如图2所示。图2 S P I_C T R L模块连接关系示意图1.5 S R A M控制器A X IS R AM控 制 器 主 要 实 现 协 议 转 换 和 访 问S R AM的功能,可将A X I 3.0协议的读写请求信号转换成兼容S R AM的读写请求信号。对S R AM的读写粒度支持1 B/2 B/4 B/8 B/3 2 B访问,支持E C C校验和B I S T测试功能。S R AM采用双端口S R AM接口,容量为2 5 6 K B,读地址和写地址总线相互独立,位宽为3 2位。读数据和写数据总线相互独立,位宽为7 2位(高8位为E C C检验位,实际数据位宽为6 4位),包含B I S T测试端口。B I S T结构由状态机、计数器和比较器构成,通常采用M a r c h算法实现。B I S T测试使能打开后即进行B I S T测试,产生测试地址,所有输入信号选择由S R AM自身产生的输 入 信 号。当 正 常 工 作 时,所 有 输 入 信 号 直 接 接S R AM的输入信号。当写入数据时,A口写使能及端口打开,输入的地址和数据写到双端口S R AM的A口;当读取数据时,输入的地址写到双端口S R AM的B口,从B口读取数据。1.6 中断控制器 中断控制器是嵌入式S o C结构的重要组成部分,T H 1 S o C的中断控制器采用符合R I S C V架构标准定义的平台级中断控制器(P l a t f o r m L e v e l I n t e r r u p t C o n t r o l l e r,P L I C),其主要功能是收集外部中断和内部硬件中断,并进行多个1 8 M i c r o c o n t r o l l e r s&E m b e d d e d S y s t e m s 2 0 2 3年第4期w w w.m e s n e t.c o m.c n 中断源的优先级仲裁和派发,把中断传给TH1处理器核心。P L I C由闸口、中断核心和A X I接口模块组成,闸口负责对中断源的屏蔽,中断核心负责对中断源进行仲裁和分发,A X I接口模块负责与A X I总线的握手以及寄存器地址选择信号的生成等。P L I C接口信号包