CN112511537B - 一种sce-mi协议桥及仿真*** - Google Patents
一种sce-mi协议桥及仿真*** Download PDFInfo
- Publication number
- CN112511537B CN112511537B CN202011372370.XA CN202011372370A CN112511537B CN 112511537 B CN112511537 B CN 112511537B CN 202011372370 A CN202011372370 A CN 202011372370A CN 112511537 B CN112511537 B CN 112511537B
- Authority
- CN
- China
- Prior art keywords
- data
- module
- sce
- protocol
- channel
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/03—Protocol definition or specification
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/14—Network analysis or design
- H04L41/145—Network analysis or design involving simulating, designing, planning or modelling of a network
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Bus Control (AREA)
Abstract
本发明公开了一种SCE‑MI协议桥及***,所述SCE‑MI协议桥包括设置于硬件侧的数据转换模块、并行总线、多个通道数据收发控制模块、多个数据FIFO通道和设置于软件侧的协议驱动模块、多个通道数据块、多个数据收发模块、多个通道数据队列,所述协议驱动模块与所述数据转换模块相连接。本发明的SCE‑MI协议桥具有带宽高、延迟小、端口数可动态配置的优点。
Description
技术领域
本发明涉及芯片设计领域,尤其涉及一种SCE-MI协议桥及仿真***。
背景技术
由于芯片规模越来越庞大,芯片验证所花费的时间越来越长,甚至超过了芯片开发的70%的时间,其中的一个重要原因是仿真速度太慢了。使用最快的服务器在一些大规模芯片一次仿真甚至需要超过一个月的时间,因此,急需一些方法提高仿真速度。一种方法是使用软硬件联合仿真加速器(Emulator),其将芯片代码放在硬件上运行,仿真代码运行在服务器。而软件与硬件之间的通讯目前存在的标准是SCE-MI协议,但是该协议只定义了用户接口,而具体实现方法并没有说明,导致了软硬件联合仿真通讯困难。
为解决上述技术问题,在中国专利CN201610520860.7中,通过设计一种路由ID去实现路由,所有数据的传输都通过物理通道PCIe或者以太网进行传输,由于路由信息会占用较多总线带宽,会导致在数据包比较小时,有效带宽较小,同时由于处理路由信息会消耗一定的时钟周期,因此延时也会更大,可见该方案延迟大,带宽小;同时该方案的数据传输都是软件主动读取或写入硬件,由于CPU处理一个数据需要花费很多机器周期以及CPU需要处理很多任务,因此传输速度会比较慢。
发明内容
本发明的目的是针对现有技术的软硬件联合仿真通讯时延迟大,带宽小的技术问题,本发明提出一种带宽高且延迟小的SCE-MI协议桥及仿真***。
本发明实施例中,提供了一种SCE-MI协议桥,其包括设置于硬件侧的数据转换模块、并行总线、多个通道数据收发控制模块、多个数据FIFO通道和设置于软件侧的协议驱动模块、多个通道数据块、多个数据收发模块、多个通道数据队列,所述数据FIFO通道与所述通道数据收发控制模块一一对应连接,所述通道数据收发控制模块与所述并行总线相连接,所述并行总线和所述数据转换模块相连接,所述协议驱动模块与所述多个通道数据块相连接,每两个所述通道数据块与一个所述数据收发模块相连接,所述数据收发模块与所述通道数据队列一一对应连接,所述协议驱动模块与所述数据转换模块相连接。
本发明实施例中,所述的SCE-MI协议桥,还包括与所述协议驱动模块相连接的中断处理模块。
本发明实施例中,所述的SCE-MI协议桥,还包括与所述协议驱动模块相连接的数据长度与控制字发送模块。
本发明实施例中,所述的SCE-MI协议桥,还包括与所述协议驱动模块相连接的数据长度与控制字存储模块。
本发明实施例中,所述的SCE-MI协议桥,还包括与所述并行总线相连接的控制与状态寄存器。
本发明实施例中,所述并行总线采用AXI、AHB、APB或Avalon总线。
本发明实施例中,所述协议驱动模块采用PCIe驱动模块,所述并行总线采用Avalon总线,所述数据转换模块用于实现PCIe数据和Avalon数据的转换。
本发明实施例中,所述数据转换模块进行数据转换时,将Avalon数据的地址直接转换为PCIe TLP数据包的地址,将Avalon数据直接转换为PCIe TLP数据包的数据。
本发明实施例中,所述Avalon总线采用多个具有4个从端口和1个主端口的Avalon开关级联来实现。
本发明实施例中,还提供了一种仿真***,其包括SCE-MI协议桥、位于软件侧的虚拟验证平台、事务收发器、位于软件侧的被测试模块、事务收发代理模块,在硬件侧,所述被测试模块通过所述事务收发器与所述SCE-MI协议桥相连接,在软件侧,所述虚拟验证平台通过所述事务收发代理模块与所述SCE-MI协议桥相连接。
与现有技术相比较,本发明的仿真***具有如下优点:
1、高带宽,使用多种提高带宽的技术,路由信息与PCIe TLP数据包地址共用,不用额外路由信息;使用FIFO收集和存储信息,可以进行突发数据传输;每个通道使用两个通道存储块,可以实现数据连续传输等;
2、低延时,本发明的数据、中断、控制字由硬件发送到软件侧的数据长度与控制字模块,而不是软件读取PCIe设备,减少了延迟;
3、端口数可灵活动态配置,设计了流水线式的Avalon Switch,端口数可以任意配置,同时也不会减少硬件运行频率,数据通道与通道处理少部分关联,大部分是没有关联,因此方便复制端口各个模块,可以制作脚本或软件自动产生通道。
附图说明
图1是现有技术的仿真***的结构示意图。
图2是本发明实施例的仿真***的结构示意图。
图3是PCIe协议层次结构图。
图4和图5是PCIe TLP数据包的格式图。
图6是TLP数据包的Header数据格式图。
具体实施方式
如图2所示,本发明的仿真***包括位于软件侧的虚拟验证平台(TestBench)、位于软件侧的被测试模块(DUT)以及用于在所述虚拟验证平台和所述被测试模块之间进行数据交互的SCE-MI协议桥。在硬件侧,被测试模块通过事务收发器与所述SCE-MI协议桥相连接。在软件侧,虚拟验证平台通过事务收发代理模块与所述SCE-MI协议桥相连接。
所述SCE-MI协议桥包括设置于硬件侧的数据转换模块、并行总线、通道数据收发控制模块(DMA)、数据FIFO通道、控制与状态寄存器和设置于软件侧的协议驱动模块、数据长度与控制字存储块、通道数据块、中断处理模块、数据长度与控制字发送模块、数据收发模块、通道数据队列。
需要说明的是,所述软件侧与所述硬件侧可以通过PCIe协议进行通信,也可以使用其他通信协议如以太网协议、RapidIO协议。所述并行总线可采用AXI、AHB、APB或Avalon或者自定义的总线。
考虑到***的延时以及PC或服务器存在的通用接口问题,在本实施例中,采用PCIe协议进行通信,从而有更低的延时与更好的通用性,并且在硬件侧,所述SCE-MI协议桥的并行总线采用Avalon总线,在所述软件侧与所述硬件侧可以通过PCIe协议进行通信时,所述数据转换模块用于实现PCIe数据和Avalon数据的转换。
图3是PCIe协议层次结构,本发明的路由信息加载在事务层(Transaction);在事务层(Transaction)中,TLP数据包的格式如图4及图5,这里利用TLP数据包的Header包含的地址信息作为SCE-MI的路由信息,而不是将路由信息加载在TLP 的Data上,因此不会添加额外的无效带宽。TLP数据包的Header的数据格式如图6所示。
下面以硬件侧传输数据到软件侧为例,对本发明的仿真***的数据传输流程进行说明,所述数据传输流程具体包括如下步骤:
在硬件侧:
1、被测试模块(DUT)产生包含一定协议时序的数据。
2、事务收发器模块将被测试模块的有协议时序的数据转换为SCE-MI事务。
3、数据FIFO通道将SCE-MI事务数据保存,可以保存多个事务。
4、通道数据收发控制模块将数据FIFO通道保存的数据写入特定软件侧地址空间,该地址由软件侧的数据收发模块初始化时配置,由于SCE-MI的数据会先存入数据FIFO通道,因此可以使用突发传输,即一次可以连续的传输大量数据,相对于一个地址一个数据的传输,带宽更高。
5、并行总线(Avalon总线)将各个端口的数据汇聚到数据转换模块,为了提高运行频率以增大带宽,逻辑设计上不能有太大扇出,但是Avalon 总线需要支持多个端口,较宽的数据位宽(数据位宽较大可以提高带宽),如果直接实现很多端口的Switch,信号扇出会很大,导致运行频率降低,所述并行总线使用多个4个从端口1个主端口的阿瓦隆开关(Avalon Switch)实现,通过级联阿瓦隆开关来实现数据的流水线处理,端口的个数越多级联子阿瓦隆开关越多,该方式可以实现端口数量动态配置,高带宽传输。
6、数据转换模块将Avalon数据包转换为PCIe TLP数据包,再经过数据链路层、物理层处理后发送至物理通道,其中Avalon数据的地址会直接转换为PCIe TLP数据包的地址,Avalon数据直接转换为PCIe TLP数据包的数据,由于Avalon地址直接转换为TLP地址,而不是将Avalon地址加载在TLP数据中,不需要额外的路由信息,而是与PCIe共用地址路由,这样总线的利用率会更高。
在软件侧:
7、PCIe驱动模块将接收到的数据保存到预先分配好的通道数据块中,保存到哪个地址由PCIe TLP地址决定,不需要额外的路由信息。当所有数据接收完成时,会接收到数据中断、数据长度和控制字,PCIe驱动将中断传输到上层中断处理模块,将数据长度与控制字传输到数据长度与控制字存储块,由于是硬件侧主动写入,也不需要CPU参与接收数据。
8、中断处理模块接收到中断后,会触发数据收发模块将数据传输到通道数据队列,以腾出通道数据块给下次传输数据,减小空闲时间增大数据传输带宽。
9、数据长度与控制字存储块接收传输的数据长度与控制字,控制字包括是否是包结束、模式、异常错误等信息。这类使用硬件直接传输到软件的模式,而不是使用CPU去读取硬件寄存器的模式,是因为PCIe读取数据需要花费比较长的时间,但是PCIe写事务需要的时间好少,一般情况PCIe读取需要时间约1us,写数据只需要零点几微妙,因此使用该方式可以减少数据交互的时间。
10、数据收发模块将通道数据块的数据传输到通道队列,为了增大带宽,使用两个通道数据块(通道数据块0和通道数据块1),这样可以尽可能的使数据可以连续的传输。当PCIe驱动将数据写入通道数据块0时,数据收发模块会读取通道数据块1的信息,当PCIe驱动写通道数据块0完成并且数据收发模块读通道数据块1完成时,会进行通道数据块切换,PCIe驱动写通道数据块1完成并且数据收发模块读通道数据块0完成时,再进行通道数据块切换,依次轮询,可以达到数据连续不断的传输。
11、通道数据队列保存来自数据收发模块的数据,以提供给事务收发器代理(Proxy)使用。事务接收代理模块并不会直接使用通道数据队列,而调用SCE-MI接口API函数读取队列数据,SCE-MI接口API可以参考SCE-MI协议手册。
12、事务收发器代理模块(Proxy)调用SCE-MI接口API函数获取通道数据队列数据,事务收发器代理模块可以代理硬件侧的事务收发器的所有事务,虚拟验证平台访问事务收发器代理时,对于虚拟验证平台就好像访问了硬件侧的事务代理器,因此其两者是配对使用的。
13、虚拟验证平台进行仿真验证,通过所述SCE-MI协议桥与被测试模块进行交互。虚拟验证平台可以是C语言、System Verilog等语言设计的,并且可以使用UVM之类的验证方法学产生激励数据、接收响应数据及各种验证模块。
需要说明的是,软件侧传输数据到硬件侧,与硬件侧传输数据到硬件侧类似,数据方向相反,本发明对此不再进行赘述。
综上所述,本发明的仿真***具有如下优点:
1、高带宽,使用多种提高带宽的技术,路由信息与PCIe TLP数据包地址共用,不用额外路由信息;使用FIFO收集和存储信息,可以进行突发数据传输;每个通道使用两个通道存储块,可以实现数据连续传输等;
2、低延时,本发明的数据、中断、控制字由硬件发送到软件侧的数据长度与控制字模块,而不是软件读取PCIe设备,减少了延迟;
3、端口数可灵活动态配置,设计了流水线式的Avalon Switch,端口数可以任意配置,同时也不会减少硬件运行频率,数据通道与通道处理少部分关联,大部分是没有关联,因此方便复制端口各个模块,可以制作脚本或软件自动产生通道。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (7)
1.一种SCE-MI协议桥,其特征在于,包括设置于硬件侧的数据转换模块、并行总线、多个通道数据收发控制模块、多个数据FIFO通道和设置于软件侧的协议驱动模块、多个通道数据块、多个数据收发模块、多个通道数据队列,所述数据FIFO通道与所述通道数据收发控制模块一一对应连接,所述通道数据收发控制模块与所述并行总线相连接,所述并行总线和所述数据转换模块相连接,所述协议驱动模块与所述多个通道数据块相连接,每两个所述通道数据块与一个所述数据收发模块相连接,所述数据收发模块与所述通道数据队列一一对应连接,所述协议驱动模块与所述数据转换模块相连接,所述SCE-MI协议桥还包括与所述协议驱动模块相连接的中断处理模块、数据长度与控制字发送模块、数据长度与控制字存储模块,所述协议驱动模块采用PCIe驱动模块,
所述PCIe驱动模块用于将接收到的硬件侧数据保存到预先分配好的通道数据块中,当所有的数据接收完成后,还会接收到数据中断、数据长度与控制字,所述PCIe驱动模块将数据中断传输到所述中断处理模块,将数据长度与控制字传输到数据长度与控制字存储模块,
所述中断处理模块,用于在接收到中断后,触发所述数据收发模块将数据传输到通道数据队列。
2.如权利要求1所述的SCE-MI协议桥,其特征在于,还包括与所述并行总线相连接的控制与状态寄存器。
3.如权利要求1所述的SCE-MI协议桥,其特征在于,所述并行总线采用AXI、AHB、APB或Avalon总线。
4.如权利要求1所述的SCE-MI协议桥,其特征在于,所述并行总线采用Avalon总线,所述数据转换模块用于实现PCIe数据和Avalon数据的转换。
5.如权利要求4所述的SCE-MI协议桥,其特征在于,所述数据转换模块进行数据转换时,将Avalon数据的地址直接转换为PCIe TLP数据包的地址,将Avalon数据直接转换为PCIe TLP数据包的数据。
6.如权利要求4所述的SCE-MI协议桥,其特征在于,所述Avalon总线采用多个具有4个从端口和1个主端口的Avalon 开关级联来实现。
7.一种仿真***,其特征在于,包括SCE-MI协议桥、位于软件侧的虚拟验证平台、事务收发器、位于软件侧的被测试模块、事务收发代理模块,在硬件侧,所述被测试模块通过所述事务收发器与所述SCE-MI协议桥相连接,在软件侧,所述虚拟验证平台通过所述事务收发代理模块与所述SCE-MI协议桥相连接,所述SCE-MI协议桥采用如权利要求1-6任一项所述的SCE-MI协议桥。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011372370.XA CN112511537B (zh) | 2020-11-30 | 2020-11-30 | 一种sce-mi协议桥及仿真*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011372370.XA CN112511537B (zh) | 2020-11-30 | 2020-11-30 | 一种sce-mi协议桥及仿真*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112511537A CN112511537A (zh) | 2021-03-16 |
CN112511537B true CN112511537B (zh) | 2023-01-24 |
Family
ID=74967732
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011372370.XA Active CN112511537B (zh) | 2020-11-30 | 2020-11-30 | 一种sce-mi协议桥及仿真*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112511537B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114826995A (zh) * | 2022-04-22 | 2022-07-29 | 电子科技大学 | 一种基于UVM的支持PCIe的千兆以太网芯片的验证平台 |
CN114880977B (zh) * | 2022-05-11 | 2023-04-25 | 北京百度网讯科技有限公司 | 软硬件联合仿真***、方法、装置、设备和存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101034380A (zh) * | 2007-04-19 | 2007-09-12 | 杭州华为三康技术有限公司 | 实现周边元件接口加速总线插卡热插拔的方法及装置 |
CN103440171A (zh) * | 2013-08-25 | 2013-12-11 | 浙江大学 | 一种构件化硬件实时操作***的实现方法 |
CN105959143A (zh) * | 2016-05-18 | 2016-09-21 | 中国电子科技集团公司第四十研究所 | 一种基于数字荧光示波器的FlexRay总线协议分析***及方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102521182B (zh) * | 2011-11-23 | 2015-05-06 | 华南师范大学 | 一种可扩展多通道并行实时数据采集装置和方法 |
CN106156424B (zh) * | 2016-07-01 | 2023-11-14 | 合肥海本蓝科技有限公司 | 一种仿真*** |
CN207096986U (zh) * | 2017-08-24 | 2018-03-13 | 航天中认软件测评科技(北京)有限责任公司 | 软硬件协同仿真的*** |
CN108920391A (zh) * | 2018-06-26 | 2018-11-30 | 郑州云海信息技术有限公司 | 一种Nand Flash转换接口及数据转换方法 |
CN109711071B (zh) * | 2018-12-29 | 2023-05-05 | 成都海光集成电路设计有限公司 | 一种服务器SoC软硬件协同仿真加速方法及*** |
-
2020
- 2020-11-30 CN CN202011372370.XA patent/CN112511537B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101034380A (zh) * | 2007-04-19 | 2007-09-12 | 杭州华为三康技术有限公司 | 实现周边元件接口加速总线插卡热插拔的方法及装置 |
CN103440171A (zh) * | 2013-08-25 | 2013-12-11 | 浙江大学 | 一种构件化硬件实时操作***的实现方法 |
CN105959143A (zh) * | 2016-05-18 | 2016-09-21 | 中国电子科技集团公司第四十研究所 | 一种基于数字荧光示波器的FlexRay总线协议分析***及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN112511537A (zh) | 2021-03-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8122177B1 (en) | Direct memory access technique for use with PCIe endpoints | |
US6353867B1 (en) | Virtual component on-chip interface | |
US6185520B1 (en) | Method and system for bus switching data transfers | |
US5043938A (en) | Node controller for a local area network | |
US20140307748A1 (en) | Packetized Interface For Coupling Agents | |
EP0525860A2 (en) | High performance I/O processor | |
CN109165178B (zh) | 一种基于RapidIO的弹上***SoC芯片间高速通信方法 | |
CN112511537B (zh) | 一种sce-mi协议桥及仿真*** | |
CN101937412B (zh) | 一种片上***及其访问方法 | |
CN114168520B (zh) | 光纤通信总线装置、设备和*** | |
US8473658B2 (en) | Input output bridging | |
US6256693B1 (en) | Master/slave data bus employing undirectional address and data lines and request/acknowledge signaling | |
US5581741A (en) | Programmable unit for controlling and interfacing of I/O busses of dissimilar data processing systems | |
US7565580B2 (en) | Method and system for testing network device logic | |
CN114741341B (zh) | 一种实现Crossbar结构仲裁的方法、***及存储介质 | |
CN109992543A (zh) | 一种基于zyzq-7000的pci-e数据高效传输方法 | |
CN112988647A (zh) | 一种TileLink总线到AXI4总线转换***及方法 | |
US6401142B1 (en) | Apparatus and method for selective bus transfer using master and slave modes | |
US8090893B2 (en) | Input output control apparatus with a plurality of ports and single protocol processing circuit | |
KR100476895B1 (ko) | 가변 가능한 데이터 전송 모드를 갖는 인터페이스 장치 및그것의 동작 방법 | |
US20070028015A1 (en) | System and method for processing data streams | |
CN115622896A (zh) | 一种axi4高速总线及多队列仿真验证方法及仿真验证装置 | |
CN116166581A (zh) | 用于pcie总线的队列式dma控制器电路及数据传输方法 | |
CN115982071A (zh) | 一种面向ddr3控制器的片上网络转换接口 | |
KR20050080704A (ko) | 프로세서간 데이터 전송 장치 및 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20221214 Address after: 518000 802, Building 2, Northwest Shenjiu Science and Technology Pioneer Park, intersection of Taohua Road and Binglang Road, Fubao Community, Futian District, Shenzhen, Guangdong Applicant after: Shenzhen Guoweijingrui Technology Co.,Ltd. Address before: 22A, Guoshi building, 1801 Shahe West Road, high tech Zone community, Yuehai street, Nanshan District, Shenzhen City, Guangdong Province Applicant before: GUOWEI GROUP (SHENZHEN) Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |