高密原型验证系统解决方案(下篇)

0 引言

我们在上篇中和大家探讨了用户在进行大规模 复杂 SoC 设计原型验证时在全局时钟及复位同步, 大规模设计分割以及高速接口与先进 Memory 控制 器 IP 验证等方面遇到的关键困难,并提出了相应的 解决方案帮助用户来克服这些困难。接下来我们会 和用户探讨在大规模复杂 SoC 设计原型验证时用户 常常会面临的大规模设计调试,系统部署与组网检 测以及多用户多平台管理的挑战, 并提出相应解决 方案,来帮助用户应对这些挑战,缩短 SoC 的原型验 证周期。

 

1 大规模复杂 SoC 设计原型验证中遇到的挑战

1.1 大规模设计调试挑战

大规模复杂 SoC 设计原型验证过程中,需要确 保设计中的故障是可调试的,最大程度减少开发过 程中的调试时间。当用户把设计下载到 FPGA 以后, 第一次运行总会遇到各种失败情况。原因有可能是 FPGA 原型组网不正确,设计本身有问题或者是设 计编译过程中引入的错误(如设计分割和管脚时分复用导致的时序错误)。用户需要一个好的测试方法 来确定硬件是否运行正确,所有设计中的功能模块是否功能正常。那么,就需要外部逻辑分析仪或内在 逻辑分析仪来侦测故障所在。目前,大多数用户都习 惯于使用 FPGA 厂商提供的 FPGA 内嵌逻辑分析仪 来进行 FPGA 原型验证系统上板测试阶段的调试。 然而用 FPGA 厂商内嵌逻辑分析仪进行大规模 SoC 原型验证系统的调试也存在着不少限制。比如:

1)内嵌逻辑分析仪的逻辑实现需要占用用户 的 FPGA 逻辑资源,当用户的 FPGA 逻辑资源比较 紧张时,内嵌逻辑分析仪的资源占用会影响用户设 计的布线及时序,导致用户设计无法完成布线或者 时序异常。

2)内嵌逻辑分析仪的调试数据存储需要占用 FPGA 的内部存储器资源。然后 FPGA 的内部存储 器资源十分有限,当用户需要进行深度调试数据存 储时,FPGA 的内部存储器资源就会不够用。

3)虽然某些 FPGA 厂商提供的内嵌逻辑分析 仪支持多 FPGA 级联调试,但是当待测试设计的触 发条件需要靠来自多颗 FPGA 的触发信号进行复杂 逻辑运算来实现时,FPGA 厂商内嵌逻辑分析仪无 法实现该功能。

4)当用户想要调试的信号不在内嵌逻辑分析 仪调试探针的信号列表的时候,用户往往需要重新 运行一次设计编译流程来修改内嵌逻辑分析仪的调 试探针信号。这类操作非常耗时,而且有可能因为设 计重新编译而造成设计的时序发生变化,导致原来出现的设计 bug 无法复现的情况。

5)内嵌逻辑分析仪的调试探针信号数量有限, 当用户想要看更多的调试探针信号,甚至是需要设 计寄存器及内部存储器全可视调试功能时,FPGA 厂商提供的内嵌逻辑分析仪无法支持。 由于 FPGA 厂商内嵌逻辑分析仪的以上限制, 用户需要有更强大灵活的系统级调试方案来满足大 规模复杂 SoC 设计在进行原型验证时的调试需求。

1.2 系统部署与组网检测挑战

由于大规模复杂 SoC 设计规模庞大,即便使用 业界最大规模的 FPGA,搭建一个大规模 SoC 设计原 型往往需要数十颗甚至是上百颗 FPGA,为了满足 如此复杂的原型验证系统搭建要求,用户需要解决 下面一些问题:

1)首先大规模原型验证系统组网的部署方案 就是一个问题。实验室的桌面一般只适合部署设计 规模为几台 FPGA 原型验证平台组成的原型验证系 统。当用户的设计规模上升到几十颗 FPGA 或更大 规模时,实验室桌面将无法满足用户的部署需求。需 要有专门的空间及易于扩展的环境来进行大规模及 大批量的原型验证系统的部署。此外,部署环境的供 电,散热,温度,湿度,防尘甚至安全性也需要有相应 解决方案。

2)用于大规模原型验证系统组网的互连线缆 长度也是一个难题。普通的基于铜线传输的线缆长 度有限,最长只有 1 米左右,仅能用于同一台或者物 理距离靠近的两台原型验证平台组网,无法适用于 物理距离较远的原型验证平台组网的需求场景。而 大规模 SoC 设计往往有多台甚至数十台原型验证平 台组成,如何实现距离较远的原型验证平台组网?

3)在大规模 SoC 原型系统组网完成之后,用户 怎么样对复杂庞大的组网进行检测也是一个难题。 有时候一套复杂的原型验证系统仅仅因为一根线缆 没有插紧就可能导致整套原型验证系统工作不稳定,而这种问题,往往要耗费用户大量的时间排查出来。

1.3 多用户多平台管理挑战

大规模复杂 SoC 设计原型验证项目团队往往包 含有硬件,逻辑,软件,测试等多组成员,这些项目组 的多组成员有时会分散在不同的地区甚至是国家, 各组成员需要能够方便的通过远程访问大量原型验 证平台的方式来协同工作,并合理分配原型验证平 台访问时间窗口以充分利用原型验证平台资源。对 多个用户多个平台进行原型验证平台资源管理和调 度是一个复杂的工程。需要有一个完善的多用户多 平台的远程管理机制把这些资源有效的管理并且将 资源合理分配给团队的各个成员,避免资源冲突,提 高整个团队的工作效率,降低项目风险。

2 面向大规模复杂 SoC 设计的高密原型验证解决方案

为了应对大规模复杂 SoC 设计在原型验证系统 在设计调试,系统部署与组网检测以及多用户多平 台管理等方面的挑战,用户需要有成熟通用的高密 原型验证解决方案来帮助用户节省项目成本,提高 生产力,并缩短整个 SoC 原型验证的周期。

2.1 大规模设计调试方案

大规模设计调试是原型验证领域的一个难题, 当高密原型验证用户的待验证 SoC 设计下载到 FPGA 原型验证系统无法正常运行的时候,用户需要 有效的调试方案来排查故障的原因。

2.1.1 使用FPGA厂商提供的 ILA 进行多FPGA级联调试

目前,大多数用户都习惯于使用 FPGA 厂商提 供的 FPGA 内嵌逻辑分析仪(ILA)来进行 FPGA 原 型验证系统上的单颗 FPGA 调试。使用 FPGA 厂商 内嵌逻辑分析仪的好处是成本低,仅需配置一个 FPGA JTAG 线缆。调试环境的设置也相对传统逻辑 分析仪相对简单很多。但对于高密原型验证用户来 说,常常会面临的问题是跨 FPGA 的调试需求。由于高密原型验证系统的规模庞大,需要调试的多个模 块往往会分散在几颗不同的 FPGA 中。需要有 cross-trigger 的功能,在 1 颗 FPGA 里的调试模块的 trigger 被触发之后,能同时抓取多颗 FPGA 里调试 模块的 trace 数据。一些 FPGA 厂商提供的 ILA 可以 实现同一个 FPGA 内不同时钟域,不同 FPGA 之间 的 ILA 内核之间的交叉触发。

2.1.2 多 FPGA 并发深度调试方案

虽然高密原型验证用户可以用 FPGA 厂商提供 的 ILA 进行多 FPGA 的级联调试,但是也存在着前 述的用户逻辑资源占用,存储深度,Probe 数量及多 FPGA 的 trigger 信号触发的使用场景限制。为了满 足用户以上的高密原型验证系统调试场景需求,用 户需要有更强大的调试方案支持对大型 SoC 设计进 行全系统的调试,利用最少的 FPGA 资源,完成多颗 FPGA 的并行深度调试。理想的多 FPGA 并发深度 调试方案具有如下特点:

● 利用最少的用户 FPGA 资源,以避免对其设 计的影响。

● 支持用户设置大量的静态探针信号,以便设 计调试。

● 允许用户对于其整个 SoC 全系统的调试。支 持同时对多颗 FPGA 进行并行调试,也可以进行级联,通过 cross-trigger 功能实现更多 FPGA 的级联调试。

● 支持高速的调试数据采样率以及高容量的 波形存储空间。

● 支持以太网接口传输调试数据至 Host PC 进 行分析。

● 支持复杂的内嵌逻辑分析仪触发条件设置。

● 支持动态探针及状态保存恢复功能。

a)为了减少用户 FPGA 资源利用,多 FPGA 并 行调试方案把调试所需的逻辑资源及存储资源和 用户的 FPGA 资源隔离开来,使用一个单独的多 FPGA 深度调试模块来实现调试方案所需的逻辑资 源和存储资源。为了传输用户 FPGA 侧的大量静态 探针调试数据,又不过多占用用户 FPGA 的宝贵普通 I/O 资源,Debug FPGA 和用户 FPGA 之间可以用 Transceiver 来进行通信,以满足高带宽调试数据的 传输需求。同时 Debug FPGA 的 Transceiver 数量需 要尽可能的多,以支持多颗用户 FPGA 并发调试需 求。更多系统并发调试则可以通过 trigger in, trigger out 级联来支持。为了支持海量用户 Debug 数据的存储,需要有外部的大容量,高带宽 DRAM 存储器。

……

本文简介:随着 SoC 设计规模的快速膨胀,越来越多的用户在做大规模 SoC 原型验证时会遇到全局时钟复位同步,大规模设计分割,高速接口及先进 Memory 控制器 IP 验证等关键困难。针对这些困难,一些领先的原型验证系统方案提供商,如国微思尔芯,提供了一系列成熟可重用的通用高密原型验证系统产品和解决方案来解决这些困难,以帮助客户完成大规模复杂 SoC 的原型验证,降低项目风险。

站内下载链接:数字芯片设计与验证需要哪些参考资料白皮书?-思尔芯 | S2C

欲了解思尔芯更多信息,请点击:https://www.s2ceda.com

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/1538675.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

Django ORM(多表)

文章目录 前言一、关联关系模型二、一对多写入数据二、多对多写入数据二、跨表查询1.查找test 标签的文章2.查找作者名为 test 的文章及标签 三、跨表删除 前言 表与表之间的关系可分为以下三种: 一对一: 一对一关系表示一个模型的每个实例与另一个模型的每个实例…

华为OD机试 - 字符串划分(Java 2024 E卷 100分)

华为OD机试 2024E卷题库疯狂收录中,刷题点这里 专栏导读 本专栏收录于《华为OD机试(JAVA)真题(E卷D卷A卷B卷C卷)》。 刷的越多,抽中的概率越大,私信哪吒,备注华为OD,加…

Python | Leetcode Python题解之第416题分割等和子集

题目&#xff1a; 题解&#xff1a; class Solution:def canPartition(self, nums: List[int]) -> bool:n len(nums)if n < 2:return Falsetotal sum(nums)if total % 2 ! 0:return Falsetarget total // 2dp [True] [False] * targetfor i, num in enumerate(nums…

最低成本的游戏串流方案分享 如何自己打造云电脑?

今天教大家如何最低成本实现串流 出门在外也可以随时随地游玩端游大作 硬件准备&#xff1a;一台电脑 手机/平板一台 软件&#xff1a;Gameviewer远程 为啥不用moonlight等其他软件呢 因为设置公网穿透等复杂操作对小白来说不太友好 而GameViewer从安装到使用仅需一键 对比同类…

MATLAB系列07:输入/输入函数

MATLAB系列07&#xff1a;输入/输入函数 8. 输入/输入函数8.1 函数textread8.2 关于load和save命令的进一步说明8.3 MATLAB文件过程简介8.4 文件的打开和关闭8.4.1 fopen函数8.4.2 fclose函数 8.5 二进制 I/O 函数8.5.1 fwrite 函数8.5.2 fread函数 8.6 格式化 I/O 函数8.6.1 f…

【C++ 差分数组 前后缀分解】P7404家庭菜园

本文涉及知识点 C差分数组 C前后缀分解 P7404家庭菜园 出自洛谷&#xff0c;我简述一下。 已知数组a&#xff0c;长度为n(1<n<2e5),1 <a[i] <1e9。一次操作如下&#xff1a;将a[i…j]全1。问最少操作多少次&#xff0c;使得a成为山形数组&#xff0c;即存在k&am…

力扣题解2332

大家好&#xff0c;欢迎来到无限大的频道。 今日继续给大家带来力扣题解。 题目描述&#xff08;中等&#xff09;​&#xff1a; 坐上公交的最晚时间 给你一个下标从 0 开始长度为 n 的整数数组 buses &#xff0c;其中 buses[i] 表示第 i 辆公交车的出发时间。同时给你一…

算法题——最小会议室数量

题目1: 1.假定会议时间从凌晨零点开始&#xff0c;即 0<si<ei<1440&#xff0c;si和ei代表当天某一时刻从零点开始计算的开始和结束分钟数&#xff0c;如[90,360]&#xff0c;表示会议时间从1:30到6:00。 2.不考虑房间的容量问题&#xff0c;并且公司为了提升大家的体…

计算机组成原理-存储系统(二)半导体存储器

2.1DAM芯片 分类&#xff1a; DRAM芯片&#xff1a;使用栅极电容存储信息SRAM芯片&#xff1a;使用双稳态触发器存储信息 核心区别&#xff1a;储存元不一样 2.2DRAM和SRAM的比较 对于DRAM中&#xff1a; 1&#xff1a;电容内存储了电荷0&#xff1a;电容内未存储电荷 DR…

HTML讲解(一)body部分

目录 1.什么是HTML 2.HTML基本框架 3.标题声明 4.修改标题位置 5.段落声明 6.修改段落位置 7.超链接访问 8.图像访问 9.改变网页背景及文本颜色 10.添加网页背景图 11.超链接改变颜色 12.设置网页边距 小心&#xff01;VS2022不可直接接触&#xff0c;否则&#xff…

Qt窗口——QMenuBar

文章目录 QMenuBar示例演示给菜单栏设置快捷键给菜单项设置快捷键添加子菜单添加分割线添加图标 QMenuBar Qt中采用QMenuBar来创建菜单栏&#xff0c;一个主窗口&#xff0c;只允许有一个菜单栏&#xff0c;位于主窗口的顶部、主窗口标题栏下面&#xff1b;一个菜单栏里面有多…

【技术解析】消息中间件MQ:从原理到RabbitMQ实战(深入浅出)

文章目录 【技术解析】消息中间件MQ&#xff1a;从原理到RabbitMQ实战(深入浅出)1.简介1.1 什么是消息中间件1.2 传统的http请求存在那些缺点1.3 Mq应用场景有那些1.4 为什么需要使用mq1.5 Mq与多线程之间区别1.6 Mq消息中间件名词1.7主流mq区别对比1.8 Mq设计基础知识 2.Rabbi…

python画图|3D bar进阶探索

前述学习过程只能怪&#xff0c;已经探究了3D直方图的基础教程&#xff0c;详见下述链接&#xff1a; python画图|3D直方图基础教程-CSDN博客 实际上&#xff0c;基础文章直接进入了堆叠教程&#xff0c;相对来说基础的程度不够&#xff0c;因此有必要再次探索。 【1】官网教…

通信工程学习:什么是POS无源光分配器

POS&#xff1a;无源光分配器 POS&#xff08;Passive Optical Splitter&#xff0c;无源光分配器&#xff09;是无源光网络&#xff08;Passive Optical Network, PON&#xff09;中的一个重要组成部分&#xff0c;它位于光线路终端&#xff08;OLT&#xff09;和光网络单元&a…

基于图卷积网络的轻量化推荐模型(论文复现)

基于图卷积网络的轻量化推荐模型&#xff08;论文复现&#xff09; 本文所涉及所有资源均在传知代码平台可获取 概述 图卷积网络&#xff08;Graph Convolution Network&#xff0c;GCN&#xff09;已经广泛的应用于推荐系统&#xff0c;基于GCN的协同过滤算法&#xff08;例如…

【路径规划】人工势场(APF)、涡旋APF、安全APF和动态窗口方法在航点跟踪问题的比较

摘要 本研究比较了几种路径规划算法在航路点跟踪中的性能&#xff0c;包括传统的人工势场算法&#xff08;APF&#xff09;、涡旋人工势场&#xff08;VAPF&#xff09;、安全人工势场&#xff08;SAPF&#xff09;和动态窗口方法&#xff08;DWA&#xff09;。实验结果表明&a…

PyCharm的使用

PyCharm的入门使用教程 下载和安装PyCharm&#xff1a; 首先&#xff0c;访问JetBrains官方网站&#xff08;https://www.jetbrains.com/pycharm/&#xff09;下载PyCharm的最新版本。根据您的操作系统选择合适的版本进行下载。 安装完成后&#xff0c;打开PyCharm。 创建新…

实战分享:我是如何挖到CSDN漏洞的?

文章目录 前言一、过程二、总结《Windows信息安全和网络攻防》——清华大学出版社 前言 CxxN是国内很出名的博客平台&#xff0c;用户量非常大&#xff0c;注册用户据说有1个亿&#xff1f;(官方写的)本次我发现的漏洞详情是可以通过用户的id直接获取用户完整的手机号&#xf…

如何创建和编辑抖音百科词条,不会的找我们代创建!

如何创建和编辑抖音百科词条&#xff0c;不会的找我们代创建&#xff01; 如何创建抖音百科个人词条&#xff0c;个人抖音百科的创建 #抖音百科 #百科 #推广 做过百度百科的老板们注意了&#xff0c;等一下别划走。 2024 年品宣新风口出现了&#xff0c;抖音百科正在替代百度…

金言问卷:国外问卷调查可以做吗?

国外问卷调查可不可以做&#xff1f; 金言问卷告诉你&#xff0c;答案是肯定可以的。接下来就给你讲讲为什么是肯定的答案。 首先&#xff0c;为什么是肯定可以做呢&#xff1f;因为国外问卷调查可以产生收益是真实的&#xff0c;像我们客户昨天193美元1350人民币&#xff0c…