• 2024-10-12SpinalHDL之错误集(一)
    本文作为SpinalHDL学习笔记第七十六篇,作为错误集使用,类似高中生的错题集,几率使用SpinalHDL过程中遇到的问题,小到语法错误、版本兼容问题,大到SpinalHDL库函数错误等等,持续更新。SpinalHDL学习笔记总纲:SpinalHDL学习笔记_blackboxspinalhdl-CSDN博客目录:1.Stream库函数
  • 2024-10-12SpinalHDL之设计错误(Design Errors)(二)
    本文作为SpinalHDL学习笔记第七十五篇,介绍SpinalHDL的设计错误。目录:6.锁存器检测(Latchdetected)7.⽆驱动检测(nodriveron)8.排除空指针(NullPointerException)9.定义为组件输入的寄存器(Registerdefinedascomponentinput)10.作⽤域违例(Scopeviolation)六.
  • 2024-09-19SpinalHDL之结构(三)
    本文作为SpinalHDL学习笔记第六十三篇,介绍SpinalHDL的函数(Function)。目录:1.简介(Introduction)2.RGA到灰度(RGBtogrey)3.Valid和Ready负载总线(ValidReadyPayloadbus)⼀、简介(Introduction)⽤Scala函数产⽣硬件的⽅式与VHDL/Verilog中非常不同,原因如下:◆你
  • 2024-09-04SpinalHDL之BlackBox(下篇)
    本文作为SpinalHDL学习笔记第二篇,介绍SpinalHDL的BlackBox类的一些特性。目录:1.自动黑盒化1.自动黑盒化由于使用常规VHDL/Verilog不可能推断所有ram类型,因此SpinalHDL集成了可选的自动黑盒系统。该系统会查看RTL网表中存在的所有存储器,并用一个黑盒替换它们。然
  • 2024-08-02SpinalHDL之仿真(四)
    本文作为SpinalHDL学习笔记第三十二篇,介绍SpinalHDL仿真时钟域相关内容。目录:1.激励函数API2.回调函数API3.默认时钟域4.新时钟域1.激励函数API以下是ClockDomain激励函数的列表:时钟域激励函数描述forkStimulus(period)分裂一个仿真进程以生成时钟域激
  • 2024-08-01SpinalHDL之仿真(三)
    本文作为SpinalHDL学习笔记第三十一篇,介绍SpinalHDL仿真过程中访问信号相关内容。目录:1.读写信号2.访问组件层次结构内部的信号3.仿真中内存的加载和存储1.读写信号顶层模块的每个接口信号都可以从Scala程序中读写:语法描述Bool.toBoolean将硬件Bo
  • 2024-08-01SpinalHDL之仿真(二)
    本文作为SpinalHDL学习笔记第三十篇,介绍SpinalHDL启动仿真器相关内容。目录:1.简介2.配置3.在同一硬件上运行多个测试4.从线程中抛出仿真成功或失败结果5.在失败之前捕获给定时间窗内的波形1.简介下面是一个硬件定义+测试平台的示例:importspinal.core._//Iden
  • 2024-07-27SpinalHDL之IO口
    本文作为SpinalHDL学习笔记第二十五篇,介绍SpinalHDLIO口相关API。SpinalHDL学习笔记总纲链接如下:SpinalHDL学习笔记_spinalhdlblackbox-CSDN博客 目录:1.可读开漏IO(ReadableOpenDrain)2.三态1.可读开漏IO(ReadableOpenDrain)ReadableOpenDrain线束定义如下:
  • 2024-07-14SpinalHDL之VHDL 和 Verilog 生成
    本文作为SpinalHDL学习笔记第十六篇,记录使用SpinalHDL代码生成Verilog/VHDL代码的方法。SpinalHDL学习笔记总纲链接如下:SpinalHDL学习笔记_spinalhdlblackbox-CSDN博客目录:1.从SpinalHDL组件生成VHDL和Verilog2.生成的VHDL和Verilog3.VHDL和Verilog属性
  • 2024-07-14SpinalHDL之模拟信号和输入输出
    本文作为SpinalHDL学习笔记第十五篇,记录使用SpinalHDL模拟信号相关API。SpinalHDL学习笔记总纲链接如下:SpinalHDL学习笔记_spinalhdlblackbox-CSDN博客可以使用Analog/inout功能定义三态信号。添加这些功能的原因有:•能够将三态信号添加到顶层(它避免了必须用一些手
  • 2024-07-12SpinalHDL之实用工具(下篇)
    本文作为SpinalHDL学习笔记第十四篇,记录使用SpinalHDL的一些实用性语法工具。SpinalHDL学习笔记总纲链接如下:SpinalHDL学习笔记_spinalhdlblackbox-CSDN博客目录:6.存根(Stub)7.Assertions8.Report9.ScopeProperty6.存根(Stub)可以将组件层次结构清空作为一个存根(st
  • 2024-07-11SpinalHDL之实用工具(上篇)
    本文作为SpinalHDL学习笔记第十三篇,记录使用SpinalHDL的一些实用性语法工具。SpinalHDL学习笔记总纲链接如下:SpinalHDL学习笔记_spinalhdlblackbox-CSDN博客SpinalHDL的核心定义了许多功能性语法:•类型/字面量•寄存器/时钟域•组件/逻辑区•随机访问/只读存储
  • 2024-07-11SpinalHDL之错误修复(下篇)
    此箫非彼箫,不竹不丝不石。肉音别自唔咿。流苏瑟瑟纱垂,辨不出宫商角徵。一点樱桃欲绽,纤纤十指频移。课吞添吐两情痴,不觉悟灵犀味美推荐小说《回到明朝当王爷》,也有动漫,但小说改国漫通病,小说中杀伐果断人设极好的男主,到了动漫里就变成犹犹豫豫优柔寡断的废材,参见《元龙》。
  • 2024-06-16SpinalHDL 学习笔记
    SpinalHDL是一种基于Scala的硬件构筑语言(ConstructingHardwareInScalaEmbeddedLanguage),通过比Verilog/VHDL更好层次的行为级描述,拥有更加高层次视角以及抽象编码能力,作为一种Verilog/VHDL代码的生成器,在Verilog/VHDL绝对统治芯片设计语言的情况下,宛如一泓清泉带来不一样
  • 2023-07-03搭建SpinalHDL环境心得(Windows)
    主要步骤是基于别人的教程文章。在这里记录一下个人遇到的问题。1、sbt.\build.sbt时的错误,很多时候是由于JDK版本问题导致的。这个问题在sbt后续版本里得到了解决,我的sbt升级到1.9.0之后就没有遇到这个问题了。2、build.sbt里的spinalVersion会更新。可以时不时去spinalHDL的
  • 2023-01-14[1]SpinalHDL安装环境
    [1]SpinalHDL安装环境最好的教程是官方文档!不过推荐英文文档英文版中文版一、安装java环境SpinalHDL相当于是scala的一个包,而scala是运行在jvm上的。所以我们先安装jd
  • 2023-01-14[0]为什么是SpinalHDL-Spinal简介
    [0]为什么是SpinalHDL-Spinal简介1.verilog/VHDL打咩稍微先说两句SpinalHDL,硬件描述语言(HDL)分为verilog/VHDL和其他(雾),不过确实是这样,众多eda基本只对这两种语言有良好支