首页 > 其他分享 >SpinalHDL之BlackBox(下篇)

SpinalHDL之BlackBox(下篇)

时间:2024-09-04 20:54:17浏览次数:9  
标签:黑盒 下篇 存储器 SpinalHDL blackboxAll 内存 BlackBox

本文作为SpinalHDL学习笔记第篇,介绍SpinalHDL的BlackBox类的一些特性。

目录:

1.自动黑盒化

1.自动黑盒化

由于使用常规 VHDL/Verilog 不可能推断所有 ram 类型,因此 SpinalHDL 集成了可选的自动黑盒系统。该系统会查看 RTL 网表中存在的所有存储器,并用一个黑盒替换它们。然后生成的代码将依赖第三方 IP来提供内存功能,例如写入时读取策略和混合位宽端口。
这是一个如何缺省使能黑盒化存储器的例子:

def main(args: Array[String]) {
SpinalConfig()
.addStandardMemBlackboxing(blackboxAll)
.generateVhdl(new TopLevel)
}

黑盒策略

可以使用多种策略来选择要黑盒的内存以及黑盒不可行时要执行的操作:

种类 描述
blackboxAll 黑盒化所有存储器。
对不可黑盒存储器抛出错误
blackboxAllWhatsYouCan 黑盒所有可黑盒的存储器
blackboxRequestedAndUninferable
用户指定的黑盒存储器和已知不可推断的存储器(混合

标签:黑盒,下篇,存储器,SpinalHDL,blackboxAll,内存,BlackBox
From: https://blog.csdn.net/m0_59092412/article/details/141903609

相关文章

  • 二、并发编程与多线程-2.1、J.U.C和锁(下篇)
    2.1、J.U.C和锁(下篇)2.1.8、什么是可重入锁?它的作用是什么?答:在Java中,可重入锁是一种同步机制,它允许同一个线程多次获取同一个锁。当一个线程持有该锁时,它可以反复进入被该锁保护的代码块,而不会被阻塞。这种机制也被称为递归锁。比如synchronized锁和ReentrantLock锁都是可......
  • 大二必做项目贪吃蛇超详解之下篇游戏核心逻辑实现
    贪吃蛇系列文章上篇win32库介绍中篇设计与分析下篇游戏主逻辑可以在Gitee上获取贪吃蛇代码。文章目录贪吃蛇系列文章5.核心逻辑实现分析5.3GameRun5.3.1PrintScore5.3.2CheckVK5.3.3BuyNewNode5.3.4NextIsFood5.3.4EatFood5.3.5NotFood5.3.6C......
  • AI编码新时代:免费人工智能助手Blackbox AI
    前言:在当今快速发展的科技时代,人工智能已经渗透到我们生活的方方面面,从智能手机的语音助手到智能家居控制系统,再到在线客服和个性化推荐算法,AI智能工具正变得越来越普遍。它们以其高效、智能和用户友好的特性,极大地提升了我们的生活和工作效率。作为一个热衷于尝试各种......
  • Go 程序如何实现优雅退出?来看看 K8s 是怎么做的——下篇
    Go程序如何实现优雅退出?来看看K8s是怎么做的——下篇GoCN  2024年08月27日08:02 浙江 以下文章来源于Go编程世界 ,作者江湖十年Go编程世界.不限于Golang、Docker、Kubernetes,技术博客https://jianghushinian.cn/的移动版。本文带大家一起来详细学习......
  • 【C++篇】迈入新世界的大门——初识C++(下篇)
    文章目录前言引用引用的概念和定义引用的特性引用的使用const引用指针和引用的关系inline#define定义宏inlinenullptr前言接上篇:【C++篇】迈入新世界的大门——初识C++(上篇)引用引用的概念和定义引⽤不是新定义⼀个变量,⽽是给已存在变量取了⼀个别名,编译器不会......
  • C++_类和对象(下篇)
    一、目标1.再谈构造函数2.Static成员3.友元4.内部类二、对目标的讲解1.再谈构造函数1.1构造函数体赋值在创建对象时,编译器通过调用构造函数,给对象中各个成员变量一个合适的初始值。classDate{public: Date(intyear,intmonth......
  • 使用GDB调试(下篇:调试应用)
    在GDB(GNUDebugger)中,有一些常用的调试命令可以帮助你在调试过程中检查程序的状态、执行程序、设置断点等。以下是一些常用的GDB调试命令:启动程序和执行控制:run:启动正在调试的程序。continue (c):继续执行程序,直到遇到下一个断点或者程序结束。next (n):执行程序的......
  • 易优CMS模板标签beafter上下篇获取下一篇内容
    【基础用法】标签:beafter描述:获取当前文档上一篇、下一篇内容。用法:{eyou:beafterget='pre'}<ahref="{$field.arcurl}"title="{$field.title}">上一篇:{$field.title}</a>{eyou:else/}上一篇:暂无{/eyou:beafter}{eyou:beafterget='next&......
  • SpinalHDL之仿真(四)
    本文作为SpinalHDL学习笔记第三十二篇,介绍SpinalHDL仿真时钟域相关内容。目录:1.激励函数API2.回调函数API3.默认时钟域4.新时钟域1.激励函数API以下是ClockDomain激励函数的列表:时钟域激励函数描述forkStimulus(period)分裂一个仿真进程以生成时钟域激......
  • SpinalHDL之仿真(三)
    本文作为SpinalHDL学习笔记第三十一篇,介绍SpinalHDL仿真过程中访问信号相关内容。目录:1.读写信号2.访问组件层次结构内部的信号3.仿真中内存的加载和存储1.读写信号顶层模块的每个接口信号都可以从Scala程序中读写:语法描述Bool.toBoolean将硬件Bo......