- 博客(74)
- 收藏
- 关注
原创 SpinalHDL之样例类
在SpinalHDL中,定义Bundle 或 Component时,可以定义成类或是样例类,即。,那么这两种方式有什么区别,以及怎么选择呢?本文作为SpinalHDL学习笔记第。篇,介绍SpinalHDL的样例类。
2024-08-19 09:29:52
196
原创 SpinalHDL之spinal.core 组件(上篇)
时钟域定义在 Spinal 中,时钟和复位信号可以组合起来创建 时钟域。时钟域可以应用于设计的某些区域,该区域的所有实例化的同步元件将 隐式地 使用该时钟域。时钟域像堆栈一样工作,这意味着,如果你的逻辑位于给定时钟域中,您仍然可以在其上应用另一个时钟域。
2024-08-17 12:49:54
934
原创 SpinalHDL之常见错误
1.“main”线程中异常 java.lang.NullPointerException本文作为SpinalHDL学习笔记第篇,介绍 在使用 SpinalHDL 时可能出现的错误。
2024-08-17 12:21:49
487
原创 SpinalHDL之RiscV
本文作为SpinalHDL学习笔记第篇,介绍SpinalHDL RiscV设计。:本文仅记录在 SpinalHDL 中创造的第一代 RISC-V CPU。未记录 VexRiscV CPU,它是该CPU 的第二代,可在 此处获取,并提供更好的性能/面积/特性。
2024-08-12 08:59:21
370
原创 SpinalHDL之高级示例(下篇)
但即使对于计时器,也可以使用 SpinalHDL 做一些有趣的事情。这个示例将定义一个简单的计时器组件,其中集成了一个总线桥接实用工具。下面是一些演示代码,它与 Pinsec SoC 计时器模块中使用的代码非常接近。• 在 Timer 组件内定义一个函数,这个函数可以从父组件调用该函数,并以抽象方式驱动 Timer 的。现在我们可以从这个例子的主要目的开始:定义总线桥接功能。内定义的函数,它在 APB3 总线和所有实例化组件之间创建桥接逻辑。让我们在 Timer 组件中添加这个桥接函数。
2024-08-11 09:27:56
799
原创 SpinalHDL之高级示例(上篇)
这与描述硬件的方式非常不同。让我们看看下面的例子,因为在生成/构建/描述之间的区别可能看起来像是在“玩文字游戏”,或者可以用不同的方式解释。下面的示例是一个 JTAG TAP,它允许 JTAG 主设备读取 switchs/keys 的输入并写入 leds 的输出。主设备也可以通过使用 UID 0x87654321 来识别此 TAP。
2024-08-09 19:30:44
897
原创 SpinalHDL之中级示例(下篇)
让我们定义一个新的 VgaCtrl Component ,它将 RgbConfig 和 timingsWidth 作为参数。我们将位宽设置为默认值 12。
2024-08-08 10:15:21
453
原创 SpinalHDL之简单示例
为了在 sin 输出端口上输出正弦波,可以定义一个 ROM,其包含正弦波一个周期内所有采样点(可能只是四分之一,但让我们以最简单的方式做事)。假设想要定义一个 TopLevel 组件来实例化 PLL BlackBox ,并利用它创建一个新的时钟域,该时钟域将由核心逻辑使用。此示例定义了一个具有输入 a 和 b 以及输出 result 的组件。然后,我们定义一个带 sources 颜色向量输入、输出 sources 输入之和 result 的组件。此示例将展示定义一个 APB3 Bundle 的语句。
2024-08-06 10:43:27
896
原创 大模型之大模型应用
本文作为大模型综述第篇,介绍大模型的应用相关内容。大模型由于其强大的自然语言与多模态信息处理能力,可以应对不同语义粒度下的任务,进行复杂的逻辑推理,还具有超强的迁移学习和少样本学习能力, 可以快速掌握新的任务, 实现对不同领域、不同数据模式的适配,这些特点使得大模型较容易的赋能其他行业,提升行业效率。如在信息检索领域,大模型可以从用户的问句中提取出真正的查询意图,检索出更符合用户意图的结果,还可以改写查询语句从而检索到更为相关的结果;
2024-08-04 10:28:27
810
原创 大模型之大模型的开发训练与推理部署
在通信优化方面,框架支持自适应的通信拓扑优化技术,可感知硬件集群环境的配置,搜索最优并行策略,支持大模型在不同规模集群下的高效训练,提升模型性能的同时,降低开发者配置高效大模型训练的门槛。这种方案能够快速进行量化,并且具有较高的精度,尤其对访存受限的场景,也拥有较好的效果。为实现大模型的高效训练和推理,需要通过深度学习框架实现与硬件的适配和深度协同优化,通过低成本、高效率的硬件适配方案,提升大模型与硬件的适配效率,并通过混合精度、显存复用、融合优化等软硬件协同优化技术,结合硬件特性实现系统级优化。
2024-08-03 17:49:32
812
原创 SpinalHDL之仿真(七)
• 命令缓冲区,允许用户延迟对 DUT(被测设备)的写入访问,直到当前仿真增量周期结束。• 当给定条件发生时,例如时钟的上升沿,敏感回调可用于唤醒仿真线程。• 延迟回调可用于安排激励,例如在给定时间后取消复位,或翻转时钟。• 例如,可以使用仿真线程来产生激励并检查 DUT 的输出值。• 敏感回调,允许用户在每个仿真增量周期中调用函数。• 延迟回调,允许用户在未来的仿真时间调用函数。篇,介绍SpinalHDL仿真引擎相关内容。• 敏感回调和延迟回调都可用于恢复仿真线程。• 仿真线程,允许用户描述并发的进程。
2024-08-02 17:21:59
327
原创 SpinalHDL之仿真(五)
本文作为SpinalHDL学习笔记第篇,介绍SpinalHDL仿真线程 API相关内容。在 SpinalSim 中,可以使用多个线程来编写测试平台,方法与 SystemVerilog 类似,有点像 VHDL/Verilog的 process/always 块。这允许使用流畅的 API 编写并发任务并控制仿真时间。
2024-08-02 17:08:04
270
原创 大模型之大模型技术生态
本文作为大模型综述第篇,介绍语言大模型技术生态。随着大模型技术的快速发展,大模型的生态体系也在快速构建。典型的大模型平台如 ChatGPT、文心一言、讯飞星火等提供如 APP、网页版、 API 接口等多种形式的开放服务,并通过开放插件机制、Function Call 等实现大模型外部工具、服务的调用,加速应用生态的发展。与此同时,开源大模型也已经成为生态体系中的关键组成部分。通过大模型的开源共建,凝聚了来自企业、高校、科研院所等众多领域高水平开发者的力量,加速大模型的科研创新和产品迭代。
2024-08-02 13:23:39
1545
原创 大模型之多模态大模型技术
本文作为大模型综述第三篇,介绍语言大模型多模态技术。不同于语言大模型只对文本进行处理,多模态大模型将文本、语音、图像、视频等多模态数据联合起来进行学习。多模态大模型融合了多种感知途径与表达形态, 能够同时处理和理解来自不同感知通道(例如视觉、听觉、语言和触觉等)的信息,并以多模态的方式表达输出。
2024-08-01 20:19:33
1036
原创 大模型之语言大模型技术
本文作为大模型综述第篇,介绍语言大模型基本技术。近年来,在 Transformer 架构基础上构建的预训练语言模型为自然语言处理领域带来了一系列突破式进展,成为人工智能主流技术范式。预训练语言模型采用“预训练+微调”方法,主要分为两步: 1)将模型在大规模无标注数据上进行自监督训练得到预训练模型, 2)将模型在下游各种自然语言处理任务上的小规模有标注数据进行微调得到适配模型。由于预训练语言模型参数越大模型表现越好,这激发了语言大模型(Large Language Model, LLM)研究热潮。
2024-08-01 19:46:27
1057
原创 SpinalHDL之仿真(三)
将硬件中的 SpinalEnumCraft 读取出来并转换为 Scala 的SpinalEnumElement 值。必须注意的是,由于仿真器是事件驱动的,例如上面描述的读取操作必须延迟到该值在内存中实际可用后进行。将硬件 BitVector 读取出来并转换为 Scala 的 Long 值。将硬件 BitVector 读取出来并转换为 Scala 的 Int 值。将硬件中的 BitVector 值读取出来并转换为 Scala 中的。将 Scala 的 Long 值赋值给硬件 BitVector。
2024-08-01 10:25:42
507
原创 SpinalHDL之仿真(一)
本文作为SpinalHDL学习笔记第二十九篇,介绍SpinalHDL仿真相关内容。与往常一样,可以使用标准仿真工具来仿真 SpinalHDL 生成的 VHDL/Verilog。然而,从 SpinalHDL 1.0.0开始,该语言集成了一个 API 来编写测试平台并直接在 Scala 中测试您的硬件。该 API 提供了读取和写入 DUT 信号、分裂和合并仿真的进程、休眠和等待直到达到给定条件的功能。
2024-07-31 17:45:07
1124
空空如也
目前处在职业十字路口,一边是芯片设计,一边是AI计算机视觉,向左走向右走?
2024-08-07
TA创建的收藏夹 TA关注的收藏夹
TA关注的人