tag 标签: fpga开发

相关博文
  • 热度 2
    2022-7-27 11:23
    1052 次阅读|
    0 个评论
    仿真和验证是开发任何高质量的基于 FPGA 的 RTL 编码过程的基础。在上一篇文章中,我们介绍了面向实体 / 块的仿真,即通过在每个输入信号上生成激励并验证 RTL 代码行为是否符合预期,对构成每个 IP 核的不同模块进行实体 / 块的仿真。 在本篇文章中,我们将介绍如何在虹科 IP 核中执行面向全局的仿真,而这也是测试与验证复杂 FPGA 设计的第二个关键步骤。 面向全局的仿真 全局仿真意味着验证整个 IP 实体的正确行为,包括构成产品的每个子模块。为了适应不同客户的用例,虹科 SoC-e IP 核解决方案在设计时充分考虑了灵活性,这意味着虹科所有的 IP 核都是高度可配置的,无论是在集成时(以优化 FPGA 中的封装)还是在运行时。借助于有着不同接口选项的寄存器映射(在下面的示例中,使用 AXI4 ),运行时配置成为可能。 这种灵活性也对仿真过程提出了挑战,因为需要根据仿真环境中的不同测试用例来配置 IP 。对此,虹科的合作伙伴 SoC-e 团队开发了一个令人惊叹的智能测试平台环境,在该环境中可以进行实时配置并实现自动化,开发人员可以通过“点击应用”的方式来执行复杂的仿真。例如,测试平台可以通过交换机发送以太网帧,并可以通过访问 IP 核的统计寄存器来读取结果(并检查输出是否符合预期)。 这极大地加快了调试过程,并允许开发团队执行快速迭代,而这在基于硬件的测试环境中会慢得多。在下图为具有此类全局测试平台架构的框图(基于虹科网管以太网交换机 IP 核): 网管型以太网交换机 (MES) 表示为 UUT 。其余的测试平台组件是符合整个环境的不可综合的 VHDL 模块: Ÿ Frame Generator: :该模块连接到以太网交换机 IP 的入口端口,负责 生成激励(以太网帧) 。 Ÿ Frame Checker :该模块连接到以太网交换机 IP 的出端口,负责 分析交换机转发的流量 。 Ÿ AXI Configurator :它控制 AXI4 配置总线以 修改配置寄存器的内容(读 / 写操作) 。 测试平台执行流程 正常的测试平台执行流程如下:首先, AXI Configurator 模块根据测试用例配置 IP 核。之后,每个 Frame Generator 都会生成测试帧,并将其发送到启用的入口端口。 帧是通过循环重复某些特定测试文件中定义的内容来生成的。 最后, Frame Checker 接收帧(接收与否,取决于测试用例)。该块将检查每个端口对应的统计信息,并根据执行的测试用例确定输出是否符合预期的。 虹科 SoC-e 测试平台架构的一大亮点是 Frame Checker 可以自动检测多种错误 ,例如完整性错误、转发错误或帧丢失。这是可实现的,因为 Frame Generator 可以生成具有特定格式的流量(例如有效载荷中的特殊模式、序列号等), Frame Checker 可以解释这些流量。 测试平台测试计划 该测试平台套件的惊人灵活性还与 SoC-e 定义的严格 测试计划相结合。 对于每个 IP 核,都有一个测试计划,旨在在仿真环境中测试尽可能多的特性。 例如,网管以太网交换机 IP 的测试计划可以被划分为五个主要部分: · 通用交换 · 自定义转发 · 过滤数据库 · 优先队列 · VLAN 这些部分旨在涵盖与网络相关的不同功能的行为,以及不同的流量模式和情况。 仿真波形和 TCL 控制台 测试平台的结果可以由开发人员或用户以不同的方式进行分析。 TCL 控制台用于快速反馈测试结果。然而,在某些情况下,在仿真的特定时刻深入了解特定信号值可能会很有趣。 对于这种情况,还开发了预先格式化的波形,以便于查找特定信号。 用于测试执行的命令行界面 (CLI) 此测试平台环境中包含的最新功能之一是可以直接从命令行界面 (CLI) 执行所有测试,而无需打开 RTL 仿真工具( Vivado 或其他工具)。 这是一个很大的改进,因为它可以实现更高的测试自动化。它基于使用 Vivado 编译器命令的脚本 (Python) 的使用,以便用户生成易于解释的结果。 下图显示了向用户显示的仿真菜单。用户只需选择相应的选项即可执行任何列出的测试: 众所周知,仿真是一个需要大量时间的过程。即使在功能强大的计算机中执行,毫秒或以上范围内的复杂仿真也需要持续数十分钟,甚至更长。 为了简化执行所有测试的过程(这需要几个小时),我们实现了一个 “-all” 选项,它允许在管道中执行所有测试,且无需用户交互。 完成所有测试后,它将提供有关每个测试的报告消息(如下图所示),并在测试失败的情况下生成输出文件,以便开发人员稍后进行分析。 虹科 SoC-e 测试平台套件,现在作为产品提供! 虽然所有这些测试平台环境仅用于内部调试和开发目的,但由于不少客户有使用该测试平台的需求,因此虹科的合作伙伴 SoC-e 目前已将其作为产品,提供给那些使用虹科 SoC-e IP 核解决方案并希望能够执行高级仿真工作(系统级仿真)的开发人员。
  • 热度 3
    2022-7-20 14:38
    1481 次阅读|
    0 个评论
    在 IP 核的开发过程中,面临着许多关键技术,比如 IP 核的规格定义、基于接口的设计、 IP 核测试存取结构标准、 IP 核的验证与打包等。对于 IP 核的验证,主要是建立参照模型和测试平台,然后进行回归测试和形式验证。这里参照的模型主要用于对系统功能进行验证以及和 RTL 模型的对照验证,该模型主要用 Verilog HDL 等语言来构造。测试平台的建立与子模块设计并行,搭建验证环境和开发测试用例,并针对 IP 核的行为级模型对测试环境和测试用例进行调试,从而同步准备好用来仿真测试 RTL 级 IP 核的验证环境和测试用例。 仿真和验证是开发任何高质量的基于 FPGA 的 RTL 编码过程的基础。在本系列文章中,我们将分享我们设计过程中的关键步骤,并将基于虹科以太网 IP 核产品组合进行介绍。 整个过程的关键步骤如下: 面向实体 / 块的仿真:通过在每个输入信号上生成激励并验证 RTL 代码行为是否符合预期,对构成每个 IP 核的不同模块进行实体 / 块的仿真。 面向全局的仿真 :一旦不同的模块被单独验证,则意味着下一步将整个 IP 仿真为单个 UUT (被测试单元)。 (On) 硬件测试:尽管扩展的仿真计划提供了良好的可信度,但仍有许多 corner 的情况无法在虚拟环境中验证。对于这些情况,需要基于硬件的测试计划,这也是获得高质量结果的最后一步。 在本篇文章中,我们将介绍第一步: IP 仿真的实体或块级别是如何完成的。 面向实体或块的仿真 “面向实体或块的仿真”这一步骤意味着验证在 IP 核内具有特定操作的特定实体或模块的正确操作。每个 IP 核都由许多实体或块组成,为了测试它们,每个实体会有不同的测试平台,通过在输入受到刺激时观察设计的输出来执行设计。这将有助于检查预期的行为。 举个例子就可以很好地理解一切。在这种情况下,我们将解释虹科以太网交换机 IP 核的过滤数据库。 过滤数据库存储 MAC 地址及其相关信息以做出帧转发决策。它是一个基于哈希的存储器,每个地址条目都有一些存储过滤数据的 bin 。该哈希算法还生成过滤数据库内存的索引。 过滤数据库执行有三个主要过程:学习、查找和老化。 学习过程负责在满足不同条件时保存帧。 查找过程是在过滤数据库中搜索并获得帧的转发端口掩码的过程。 老化过程根据给定的时间段删除旧的 MAC 条目。 在这个仿真 MAC 表的具体案例中,请始终尝试测试构成过滤数据库功能的所有机制。从这个意义上说,就像学习不同的 MAC ,不同的查询、老化是并行完成的,最后需要清除 MAC 表并验证所有条目都已删除。此外,研究并始终能够测试可能的 corner 案例也十分重要。 测试和验证复杂 FPGA 设计的第二个关键步骤将在后续更新的文章中展开介绍。一旦形成 IP 核的所有实体都按预期工作,全局仿真就会发挥作用。 IP 核可以使开发人员减设计工作量并缩短产品上市时间。虹科目前已有丰富的 IP 核产品组合,包括 TSN IP 核、 HSR/PRP IP 核、以太网 IP 核、冗余 IP 核等,可以轻松集成到用户的 FPGA 中。
  • 热度 20
    2011-12-20 19:50
    1596 次阅读|
    1 个评论
      摘自 QQ 群 FPGA大学 学友会(203063607),所有言论仅代表个人观点   温暖阳光 FPGA是个全球性的热点东东、而且还在迅猛发展期,这时候更多的技术源头还是面对国外。所以然英语好了、就搞数学、数学好了,就钻研算法。跟着行业走到一个专业领域上来,也就算是入了行了。否则整天SPI又i2c的、这些东西,做个几年下一代孩子都比我们学的快了 Zrg 这个 我赞同 . 我的天  天天都在看文章哦  伤不起的人啊 初学者 这些是不是还是的会才行 呵呵   温暖阳光 这个跟赛跑一样、开始的时候大部分人都是陪衬、等你走到后来。能剩下十分之一也算是幸运了。 技术值钱是因为不泛泛,如果你会我也会、有的时候你就不值钱了。 如果你会。我不会、但我一学就会。这种东西也不会太保值班 如果你会的东西,我要学个1年多才能弄个大概的时候。这时候你是专家,我可能以后一直要当学生了    , 大概就这个样子,给自己找个独有的方向,非常重要 run 在高速方面,对无线通信方面你如何呢? 你觉得 如何呢? 温暖阳光 现在看、还是无线方面的需求更多点吧。高速也不新颖了,这个工资方面都有体现 高速是个基础、如果钻在这里肯定不愁工作。但SI的工作量也是大的吓人 run 哦,的却我在做着个 感觉工作量很大。。 温暖阳光 无线设计方面,以后肯定还会越来越热 热点的东西各大网站应该都提前分好了。这个比较好找,我觉得还是兴趣点出发最好。 run 哦,对算法很感兴趣,可是不知如何 入门。。呵呵 温暖阳光 算法是真正的核心技术。hdl也用。C也用、甚至操作系统里也用。除了功能,主要在效率上 温暖阳光 通信里常用的匹配算法 你看操作系统有自带的吧、 C代码现成的。而且算法都有进化过程 这时候,新技术类似FPGA的东东来了。你就想把软件的东西移植到硬件上来。 run 哦,原来如此。。 温暖阳光 做这个事的,国外名牌大学比较热门 经济支持都来于各企业.... 网络研究方面有的。40G的东东,据说公开过。但其实,64核的软件也才20G左右。。。这个你得细细的调研了 Zrg 肯定有散 只是没有国外这么专注 主要是国内的大环境就不好   所以 落后别个很多年   温暖阳光 是这样的 run 一般 算法该如何 入门呢,像滤波算法,如何进行应用到实际总呢呢? 温暖阳光 入门还是搞理论吧,手上有东西就试着让他跑起来了 Zrg 对  算法就涉及到理论了 哈哈   啃数学吧  呵呵呵   温暖阳光 能跑起来了,就做对比呗。哪个更牛/你比他再牛一些,再写个论文 Zrg 当然还有相关的  比如信号处理类的  就是信号系统之类的 哈哈 温暖阳光 这方面是百花齐放的/还是比较有学术价值的。搞好了,你是名人是专家。搞不好至少也算是业内人士 Zrg 哦  原来也是影藏其的 温暖阳光 至少你懂的/九成人都不懂。这还不够?足够了了 run 但是现在 就是如何让它跑起来了啊。。是个关键啊 哇塞,这样压力太大了啊,呵呵 温暖阳光 关键人物压力都比较大嘛 跑起来是个工程,肯定不会你拿着公式/他就能动 但成功了,归根结底是公式的成果,而不是工程 Zrg 有模型的嘛  呵呵 数学公式 有相应的模型了  然后就可以放在FPGA里面了 呵呵 比如  数学里面的加    用个加法器  不就实现了 呵呵 我天天都在琢磨这个     当然   很多算法  需要很多加法器  还有其他的东东 组合起来的 可能就会复杂了   对不 能转换成模型  首先 你得把理论搞清楚 才行 我菜的很  实际的工程经验也少   温暖阳光 数学建模是很重要的   现在好多大学都应该开matlab了吧 这个就这么说吧。你弄算法,我会实现。这个时候,你相当于总工,我呢就是个工人。你要什么,我想一切办法制造出来 就比如你验证滤波算法/需要个平台,我呢会拿着你的公式去编成C或者ASM、再或者HDL,然后呢。搞个单板,再然后呢/结果都得由你来判断 如果这东东好用了/成绩全是你的,没我什么事。所以你是设计人员,我顶多算个项目成员    当你写论文的时候,成就点肯定是你的公式如何神奇啊,我的平台没有唯一性,不用过多描述了。 run 哦,原来此,以前做硬件的,做高速设计的。现在想学学算法的,呵呵 温暖阳光 是吧/其实这类工作都归于硬件平台设计/还有操作系统平台/又ARM(嵌入式平)台什么的 能往算法上转是技术非常好的出路了。    
  • 热度 19
    2011-12-20 19:49
    1214 次阅读|
    0 个评论
    摘自 QQ 群 FPGA大学 学友会(203063607),所有言论仅代表个人观点   温暖阳光  ... 。。。技术饭不是谁想吃就吃的、一般3年、5年、7年都是个坎、能混过去的就算是过关了。根本还是毕业这3-5年得上进学习 所以嘛、如果不是技术这块料的、1-2年左右自己就会有些体会、该转支持和销售的就都趁早。否则男的会越来越困惑。... Zrg 都哪些公司   比较专注于FPGA的 温暖阳光  大公司基本都用 温暖阳光  关键看你自己水平 温暖阳光 如果你能用FPGA实现产品级的东西、哪个公司都可以的 Zrg 关键还是要产品开发 温暖阳光 国内技术靠前还是中兴、华为、大唐类的。建议进一些正规的企业 温暖阳光 企业的设计规则很重要, Zrg 大型企业 学历要求很高啊, 温暖阳光 往往质量要求决定设计的流程。 温暖阳光 大型企业用人比较专业,好像现在也灵活了吧,学历方面应该没想的那么严格 温暖阳光 我一个亲戚、本科证都没混下来。最后也进了个知名企业当项目经理、看人(素质) 温暖阳光 我的想法是宁可在找工作的时候多跑跑腿、也要给自己找个学习的好环境 温暖阳光 好的公司会在技术氛围上很重视研发人的性格和习惯。不好的企业、可能有时候会很压抑 Zrg 没事的时候  可以给我们这些菜鸟  多些指点   呵呵  受用不尽啊 温暖阳光 其实跟年纪没关、主要看性格和心理习惯。 温暖阳光 有些人一辈子都是做不了这种事情的人、有些就是天性比较爱好钻研。这是搞研发必须要具备的东西 Zrg 可以给大家指个方向 有针对性的学习    温暖阳光 否则,你做的年头越久、你会发现与同龄人的差距越大。我以前见过两个高工很强烈的对比。60多岁都是反聘的,当场做技术辨析的时候。能力差距很悬殊 温暖阳光 所以做技术一定要放下身价、现在你是学生、过几年你一定会在师傅的位置上、 温暖阳光 如果到那个时候。你的技术捉襟见衬,虽然也能混日子,不觉得难过么 温暖阳光 尤其给人打工的这种身份。所以现在这3-5年。踏实的做技术捡起来。 Zrg 恩  还是要踏实才行哦  呵呵
  • 热度 18
    2011-12-20 11:37
    1403 次阅读|
    1 个评论
    摘自 QQ 群 FPGA大学 学友会(203063607),所有言论仅代表个人观点   温暖阳光 FPGA是个全球性的热点东东、而且还在迅猛发展期,这时候更多的技术源头还是面对国外。所以然英语好了、就搞数学、数学好了,就钻研算法。跟着行业走到一个专业领域上来,也就算是入了行了。否则整天SPI又i2c的、这些东西,做个几年下一代孩子都比我们学的快了 Zrg 这个 我赞同 . 我的天  天天都在看文章哦  伤不起的人啊 初学者 这些是不是还是的会才行 呵呵   温暖阳光 这个跟赛跑一样、开始的时候大部分人都是陪衬、等你走到后来。能剩下十分之一也算是幸运了。 技术值钱是因为不泛泛,如果你会我也会、有的时候你就不值钱了。 如果你会。我不会、但我一学就会。这种东西也不会太保值班 如果你会的东西,我要学个1年多才能弄个大概的时候。这时候你是专家,我可能以后一直要当学生了    , 大概就这个样子,给自己找个独有的方向,非常重要 run 在高速方面,对无线通信方面你如何呢? 你觉得 如何呢? 温暖阳光 现在看、还是无线方面的需求更多点吧。高速也不新颖了,这个工资方面都有体现 高速是个基础、如果钻在这里肯定不愁工作。但SI的工作量也是大的吓人 run 哦,的却我在做着个 感觉工作量很大。。 温暖阳光 无线设计方面,以后肯定还会越来越热 热点的东西各大网站应该都提前分好了。这个比较好找,我觉得还是兴趣点出发最好。 run 哦,对算法很感兴趣,可是不知如何 入门。。呵呵 温暖阳光 算法是真正的核心技术。hdl也用。C也用、甚至操作系统里也用。除了功能,主要在效率上 温暖阳光 通信里常用的匹配算法 你看操作系统有自带的吧、 C代码现成的。而且算法都有进化过程 这时候,新技术类似FPGA的东东来了。你就想把软件的东西移植到硬件上来。 run 哦,原来如此。。 温暖阳光 做这个事的,国外名牌大学比较热门 经济支持都来于各企业.... 网络研究方面有的。40G的东东,据说公开过。但其实,64核的软件也才20G左右。。。这个你得细细的调研了 Zrg 肯定有散 只是没有国外这么专注 主要是国内的大环境就不好   所以 落后别个很多年   温暖阳光 是这样的 run 一般 算法该如何 入门呢,像滤波算法,如何进行应用到实际总呢呢? 温暖阳光 入门还是搞理论吧,手上有东西就试着让他跑起来了 Zrg 对  算法就涉及到理论了 哈哈   啃数学吧  呵呵呵   温暖阳光 能跑起来了,就做对比呗。哪个更牛/你比他再牛一些,再写个论文 Zrg 当然还有相关的  比如信号处理类的  就是信号系统之类的 哈哈 温暖阳光 这方面是百花齐放的/还是比较有学术价值的。搞好了,你是名人是专家。搞不好至少也算是业内人士 Zrg 哦  原来也是影藏其的 温暖阳光 至少你懂的/九成人都不懂。这还不够?足够了了 run 但是现在 就是如何让它跑起来了啊。。是个关键啊 哇塞,这样压力太大了啊,呵呵 温暖阳光 关键人物压力都比较大嘛 跑起来是个工程,肯定不会你拿着公式/他就能动 但成功了,归根结底是公式的成果,而不是工程 Zrg 有模型的嘛  呵呵 数学公式 有相应的模型了  然后就可以放在FPGA里面了 呵呵 比如  数学里面的加    用个加法器  不就实现了 呵呵 我天天都在琢磨这个     当然   很多算法  需要很多加法器  还有其他的东东 组合起来的 可能就会复杂了   对不 能转换成模型  首先 你得把理论搞清楚 才行 我菜的很  实际的工程经验也少   温暖阳光 数学建模是很重要的   现在好多大学都应该开matlab了吧 这个就这么说吧。你弄算法,我会实现。这个时候,你相当于总工,我呢就是个工人。你要什么,我想一切办法制造出来 就比如你验证滤波算法/需要个平台,我呢会拿着你的公式去编成C或者ASM、再或者HDL,然后呢。搞个单板,再然后呢/结果都得由你来判断 如果这东东好用了/成绩全是你的,没我什么事。所以你是设计人员,我顶多算个项目成员    当你写论文的时候,成就点肯定是你的公式如何神奇啊,我的平台没有唯一性,不用过多描述了。 run 哦,原来此,以前做硬件的,做高速设计的。现在想学学算法的,呵呵 温暖阳光 是吧/其实这类工作都归于硬件平台设计/还有操作系统平台/又ARM(嵌入式平)台什么的 能往算法上转是技术非常好的出路了。  
相关资源