首页 > 其他分享 >RocketChip RISC-V 内核+ 亚马逊 AWS EC2 F1实例=FireSim云基硬件/软件协同开发环境

RocketChip RISC-V 内核+ 亚马逊 AWS EC2 F1实例=FireSim云基硬件/软件协同开发环境

时间:2023-05-22 15:33:01浏览次数:60  
标签:F1 RocketChip FPGA 云基 FireSim 亚马逊 硬件 模拟


https://docs.fires.im/en/stable/

filesim 文档

网络电子商务巨头亚马逊已经广泛的将多个赛灵思公司的基于16nm FinFET工艺的Virtex UltraScale VU9P FPGA部署到亚马逊弹性计算云(EC2)F1实例上。EC2是亚马逊云计算的基本平台,由于网络通信量复杂且随时变化,用户对计算能力的需求也在随着流量的增减不断变化着。用户可以利用亚马逊提供的应用接口根据需求创建、增加或删除实例。目前加州大学伯克利分校计算机架构研究组 (BAR Group) 具有创意的天才推出了基于云平台的FireSim软硬件协同设计环境和仿真平台,用于设计仿真基于开源架构及指令集的RISC-V的RocketChip处理器。FireSim 是一种周期精准的,利用FPGA加速的数据中心模拟平台,已经在BAR 的FireBox项目中用于原型开发,旨在为第三代仓库级计算机开发系统架构。(参考博文:“通过FireSim和亚马逊EC2 F1实例将数据中心级软硬件协同设计带到云服务。”)

FireSim的结构如下:

RocketChip RISC-V 内核+ 亚马逊 AWS EC2 F1实例=FireSim云基硬件/软件协同开发环境_fpga开发

根据AWS博文指出,FireSim模拟平台解决了几个软硬件开发具有挑战性的问题。以下是几个AWS博文中的陈述:

1. “基于FPGA的模拟平台有几个劣势:价格昂贵、难以部署和难以复制。FireSim使用了公有云基础设施类似于F1, 不需要购买部署FPGA。开发者和研究者可以发行预先开发的AMI/AFI组合 (本文后面会有展示),包括和待模拟的RocketChip芯片兼容的预先编译的RISC-V工具链和基于buildroot的Linux发行包,可以方便实验的复制。FireSim也可以自动化运行部署在FPGA模拟中的大部分工作,实现一键从RTL代码到部署到FPGA集群上的转换。“

2. “基于FPGA的模拟一直都很困难并且难于扩展。由于FireSim使用F1, 用户可以通过加入EC2实例扩展实验而不是花费数百万美元在大的FPGA集群上。“

3. “寻找开放的硬件做模拟一直都很困难。寻找开放的硬件能够以运行软件协议栈甚至更困难。FireSim能够模拟RocketChip, 一种开源的,硅验证的基于RISC-V架构的处理器平台,能够加入各种外围接口如网络以及磁盘来构建真实的系统。RocketChip处理器可以实现RISC-V自动支持真实的操作系统(例如Linux),甚至支持Apache和Memashed的应用。我们提供客户定制的基于Buildroot的FireSim Linux 发行版本,可运行于模拟节点,并且包括一些流行的开发者工具。“

4. “用传统的HDL写硬件是耗时的。FireSim和RocketChip都使用Chisel HDL,它将现代编程范例引入到硬件描述语言中,大大简化了构建大型高度参数化硬件组件的过程。“

使用高速FPGA技术来模拟硬件不是一个新的想法。开发者可以坐在Coeur d'Alene,Timbuktu或Ballarat的一间咖啡馆里,使用廉价的基于云的FPGA技术在笔记本电脑上开发硬件和软件,现在已经开始流行起来。


标签:F1,RocketChip,FPGA,云基,FireSim,亚马逊,硬件,模拟
From: https://blog.51cto.com/u_15202985/6324754

相关文章

  • CF1774F Magician and Pigs【性质】
    有一个空序列,需要维护如下三个操作:1x:在序列中添加\(x\)。2x:把序列中每个元素的值减去\(x\)。3:重复从第一条到本条操作的前一条的所有操作,包括操作\(3\)。当一个数的值\(\leq0\)时,它将被移出序列。求最后有多少个数还在序列中。答案对\(998244353\)取模。\(n\leq......
  • 【CF1833C】题解
    本文章同步发表于洛谷思路首先,先明确一点:同奇偶的两个数相减,等于偶数。奇偶性不同的两个数相减,等于奇数。接下来,我们要确定要都变成奇数还是偶数。偶数?如果是偶数,由于要同奇偶的两个数相减,结果才等于偶数。又因为改变后的每个数都要\(\gt0\),所以,最小的奇数没有可以与其......
  • 【CF1833D】题解
    本文章同步发表于洛谷思路这是一道水题,但细节很多......首先,要求字典序最大,显然就想到了让最大的数字在第一位。于是就进一步得出了应该让最大数字在翻转区间的后一位,初步得出了以下思路:找到最大的数(\(n\))所在位置\(r\),将\(r-1\);贪心的寻找\(r-1\)以前第一个比\(p_1\)......
  • 【题解】CF193D Two Segments
    题意给定一个\(1\simN\)的排列,在这个排列中选出两段互不重叠的区间,求使选出的元素排序后构成公差为1的等差数列的方案数。选出的两段区间中元素构成的集合相同时视为同一种方案。\(1\leN\le3\times10^5\)。传送门分析如果考虑怎么优化枚举的两个区间的话,发现不太好搞(反正......
  • CF1781F题解
    \(\text{link}\)。也是一道非常巧妙的\(\texttt{dp}\)。容易想到把括号变成\(\pm1\)。考虑括号序列合法等价于前缀和\(\ge0\),我们可以想加入\(()\)或\()(\)对前缀的影响。设加入的位置的前一位前缀和为\(x\),则加入\(()\)相当于把\(x\)替换为\([x,x+1,x]\),加入......
  • CF1228D Complete Tripartite
    有些题解够了,这题和三分图的判定没有什么关系……这里主要是一个转化,一个点会和所以不与自己相连的点处于相同的集合中。换句话说,如果两个点在同一个集合内,那与这两个点相连的点的集合是完全相同的。这里使用了哈希来判定,另外,如果有孤立的点存在,则要特判。constintmaxN=1e5+......
  • 关于STM32Cube_FW_F1_V1.8.0内的example顶层程序设计逻辑 与 RTC_Calendar增补
     Examples内程序结构STM32Cube_FW_F1_V1.8.0\Projects\STM3210E_EVAL\Examples内程序结构分析如下:使用外设XXX向工程添加 stm32f10x_XXX.c修改stm32f10x_conf.h 在stm32f1xx_hal_msp.c中写 外设XXX写初始化程序在stm32f1xx_it.c中写中断服务程序在main.c中写配置程......
  • CF1512C A-B Palindrome 题解
    CF1512CA-BPalindrome题解Link洛谷CodeforcesDescription给出\(T\)个只由0、1和?组成的字符串\(s\),将字符串中的?替换成0或1之后形成一个回文串并且恰好有\(a\)个0和\(b\)个1,无解输出-1。Solution首先,若不考虑?原串不为回文串一定无解,输出-1即......
  • CF1512D Corrupted Array 题解
    CF1512DCorruptedArray题解Link洛谷CodeforcesDescription给定一个正整数\(n\)和长度为\(n+2\)的数组\(b\),数组\(b\)是依据如下算法构造的:随机生成一个含有\(n\)个元素的原始数组\(a\);把数组\(a\)赋值给数组\(b\),即\(b_i=a_i(1\lei\len)\);数组\(b\)......
  • 「CF1718E」Impressionism
    题目点这里看题目。Burenka有两张图片$a$和$b$,它们的大小可以表示为$n\timesm$的像素组合。每幅画的每个像素都有一个颜色——表示为一个从$0$到\(2\times10^5\)的数字,并且在两幅画的每一行或每一列中都没有重复的颜色,除了颜色$0$。Burenka想把图片\(......