手机版
您的当前位置: 老骥秘书网 > 范文大全 > 公文范文 > 一种面向工程仿真应用的SoC平台设计

一种面向工程仿真应用的SoC平台设计

来源:公文范文 时间:2024-09-02 15:32:01 推荐访问: 仿真 仿真技术 工程

王彬 于哲 赵子龙

摘要:
传统系统级芯片(system on chip,SoC) 仿真多数基于含有硬核中央处理器(central processingunit,CPU)的现场可编程逻辑门阵列(field programmable gate array,FPGA)平台,这使得数字芯片设计者在工程设计与仿真过程中缺乏对底层数据逻辑以及与其紧密关联的系统应用的深刻理解。针对该问题,设计了一种面向工程仿真应用的SoC 平台。该平台基于国产CPU 处理器和高级微控制器总线架构(advanced microcontroller bus architecture,AMBA),预留了扩展设计所需的高级高性能总线(advanced highperformance bus,AHB)和外围总线(advanced peripheral bus,APB)接口,设计了CPU 向通用异步收发器(universal asynchronous receiver/transmitter,UART)写入串口数据的测试用例。结果表明,该平台通过了仿真验证,可满足数字芯片设计所涉及的嵌入式开发、数字前端设计、模块功能仿真等工程实践教研需求。

关键词:SoC;
仿真验证;
AMBA 总线;
串口

中图分类号:TN47;
TP368 文献标识码:A

0 引言

随着集成电路制造工艺的发展,系统级芯片(system on chip,SoC)能够集成更多数量和种类的器件。SoC 设计应该是一个软件和硬件协同设计的过程,然而传统的集成电路设计方法一般都是将系统分为软件开发和硬件电路设计两个部分[1]。目前,SoC 设计相关的工程实践主要是基于包括硬核处理器在内的现场可编程逻辑门阵列(fieldprogrammable gate array,FPGA)平台(如XILINX公司的ZYNQ 系列FPGA)的嵌入式开发和数字硬件电路设计,或将含有硬核中央处理器(centralprocessing unit,CPU) 的FPGA 作為原型验证的平台进行SoC 的系统验证[2-5],或基于SoC 芯片开展相关应用设计等[6],这些设计方式导致设计者对底层逻辑电路与上层系统应用的理解不够系统和深刻。

本文设计了一种面向工程仿真应用的SoC 平台,该平台层次清晰、结构完整,支持高级高性能总线(advanced high performance bus,AHB)和外围总线(advanced peripheral bus,APB) 的模块扩展,以及基于国产CPU 的系统级嵌入式开发;
结合相关电子设计自动化(electronic designautomation,EDA)工具、工艺库文件,可满足从前端设计仿真到后端综合布线、基于SoC 的嵌入式开发等工程实践需求。

1 平台架构设计

图1 为工程仿真SoC 组成架构。其中,CPU 通过高级可扩展接口(advanced eXtensible interface,AXI)接入总线矩阵;
静态随机存取存储器(staticrandom access memory, SRAM)、闪存(FLASH)、直接内存访问(direct memory access,DMA)、预留1(Reserved1)和APB 桥通过AHB 接口接入总线矩阵;
而通用异步收发器(universal asynchronousreceiver /transmitter,UART )、系统控制(systemcontrol,System_ctrl) 和预留2(Reserved2) 接入APB 桥的APB 接口。

其中,CPU 为国产CPU 处理器IP 核,是SoC的核心处理器;
总线矩阵为多个SoC 总线组成的矩阵,包括AXI、AHB、APB 等多种类型的多个接口;
SRAM 为系统的运行内存,CPU 可完成对SRAM 的高速读写操作,同时为CPU 的高速运行提供高速访问的存储空间;
FLASH 模块为FLASH控制器模块,可以完成对片外FLASH 存储器的读写操作,从而在SoC 启动阶段从FLASH 中读取BOOTLoader 文件和用户程序,或是在DMA 控制下从FLASH 中搬移程序到SRAM;
DMA 用来执行存储器与存储器之间,以及存储器与模块之间的数据搬运,以避免因大量数据的搬运而占用过多的CPU 资源;
Reserved1、Reserved2 分别为预留的AHB、APB 接口模块,工程实践过程中可按需设计相应的功能模块并接入SoC 系统进行系统级的仿真。

2 地址映射

通过IP 核的复用和相应功能模块的设计, 可较快地完成SoC 的集成设计。而在各IP 核进行系统集成之前, 还需要完成相应的参数配置和地址分配。该地址分配是需要对SoC 系统架构中各功能模块进行地址空间分配。例如, System_ctrl 被分配的地址映射范围为0x0200_0000 ~ 0x0200_0FFF, UART 被分配的地址映射范围为0x0200_4000 ~ 0x0200_4FFF。CPU可通过对特定地址映射范围的寄存器进行读写访问,实现对相应功能模块的控制。

在本设计中,CPU、总线矩阵、SRAM、FLASH、DMA 和APB 桥等模块均选用现有IP 核,UART 和System_ctrl 为自主设计的功能模块。通过地址映射空间的分配,完成对上述IP 核以及设计的功能模块分配地址映射空间。各模块IP 完成配置后集成到总线矩阵上。编写CPU 向UART 写数据的测试用例源文件,将其命名为cpu_write_uart.c文件;
该源文件为用户程序的Main 函数的一个子函数。整个CPU 用户程序的源函数通过编译后生成可执行BIN 文件,将该可执行文件作为FLASH模块读取的参数文件,CPU 在BOOTLoader 启动后,即可读取用户程序的可执行文件。

3 仿真验证

SoC 仿真平台搭建完成后,进行嵌入式软件的测试。以CPU 向UART 串口写3 个字节的数据0xab、0xac、0xad 为例,在基于国产CPU 开发的C 程序的Main 函数中, 添加CPU 写UART 的函数;
然后执行编译生成可执行文件cpu_write_uart.hex;
将上述可执行文件作为Flash 模型读取参数的目标文件,从而在仿真过程中实现对用户程序的加载[7-8]。图2 为CPU 向UART 写数据的波形图。其中,CPU 通过AXI 总线向地址为32h0200_4000 的UART 寄存器分别依次写入了0xab、0xac 和0xad;
uart_sout 端口依次输出了串行比特值0xab、0xac 和0xad。其中,UART 波特率设置为115 200,格式为“起始位‘0+8 位数据+1 位校验位”,校验方式为偶校验,且当字节数据在串行发送比特流时,发送比特的顺序是从字节数据的低比特位到高比特位。例如,一个字节宽度的数据DATA[7:0],在UART串口发送时先发送DATA[0] 而最后发送DATA[7]。如图3 所示,0xab 转换为二进制是“1010_1011”,转换为UART 串口发送时,加上起始位“0”和最后的校验位“1”, 所以转换为比特流时为“0_1101_0101_1”;

采用同样的方法可以验证UART 串口收到的数据为0xac、0xad,与CPU 写入的数据一致,从而验证了SoC 设计功能的正确性。

4 结论

本文设计了一种面向工程仿真应用的SoC 平台,预留了扩展接口,设计了测试用例并通过了仿真验证。该平台在工程领域具有代表性,贴近工程实际且相关内容深入浅出,可操作性强,能够为集成电路工程、微电子等相关领域提供嵌入式设计、数字集成电路(integrated circuit,IC)设计、系统集成与功能仿真等工程实践平台与参考样例,为培养工程实践能力强的专业人才提供借鉴。

参考文献

[1] 郭炜,魏继增,郭筝,等. SoC 设计方法与实现[M].3 版. 北京:电子工业出版社,2017:10-12.

[2] 杨昕欣,姚远,刁为民,等. 面向工程教育的SoC嵌入式系统实验平台设计与教学实践[J]. 中国现代教育装备,2018(3):22-24.

[3] 高俊枫,黄乐天,胡庆. 嵌入式系统“FPGA+SoC”实践教学體系内容重构[J]. 高等工程教育研究,2024(1):73-77.

[4] 张剑贤,吴文华,刘锦辉,等. 基于FPGA 的8 位SoC 微体系结构设计[J]. 计算机教育,2020(3):31-35.

[5] 邓睿,余宏,莫章洁,等. 基于SOC 技术的微机原理实验课程教学改革探索[J]. 数字技术与应用,2023, 41(4):21-23.

[6] 江志东, 霍立平, 张弟, 等. 基于SoC 芯片的1553B 总线仿真平台设计与实现[J]. 电子设计工程,2020,28(24):152-157.

[7] 邓睿,余宏,莫章洁,等. 基于Cortex_M3 内核的SoC 芯片软硬件协同验证平台设计实现[J]. 数字技术与应用,2023,41(6):197-199.

[8] 朱文波,郭斌林. 一种有效的SOC 系统程序引导方法[J]. 杭州电子科技大学学报,2008,28(1):16-19.

猜你喜欢 串口总线 浅谈AB PLC串口跟RFID传感器的通讯应用装备制造技术(2020年11期)2021-01-26基于PCI Express总线的xHC与FPGA的直接通信测控技术(2018年6期)2018-11-25机载飞控1553B总线转以太网总线设计测控技术(2018年8期)2018-11-25数字电源内部数据传输的串口通信方法实现通信电源技术(2016年4期)2016-04-04USB接口的多串口数据并行接收方法探索通信电源技术(2016年5期)2016-03-22串口技术的实物调试和虚拟仿真联合教学模式职业技术(2015年8期)2016-01-05基于蓝牙串口适配器的GPS接收机与AutoCAD的实时无线通信地矿测绘(2015年3期)2015-12-22CAN总线并发通信时下位机应用软件设计空间控制技术与应用(2015年2期)2015-06-05多通道ARINC429总线检查仪电子设计工程(2015年8期)2015-02-27支持多主通信的星载CAN总线应用协议设计航天器工程(2014年4期)2014-03-11

老骥秘书网 https://www.round-online.com

Copyright © 2002-2018 . 老骥秘书网 版权所有

Top