SpinalHDL
文章平均质量分 77
SpinalHDL学习交流
惜缘若水
一个小小程序员,互相学习
目前学习内容包括:linux、FPGA等,也在学习verilog及相关软件
展开
-
【SpinalHDL】Windows10系统搭建SpinalHDL 开发环境
本文主要记载如何从零开始在win平台搭建SpinalHDL开发环境并跑通第一个spinal project demo。原创 2023-03-22 22:30:07 · 3583 阅读 · 17 评论 -
【SpinalHDL】java.io.IOException: Cannot run program “sh.exe“问题解决
【Spinal】java.io.IOException: Cannot run program “sh.exe“问题解决原创 2023-03-21 12:35:37 · 1123 阅读 · 1 评论 -
【SpinalHDL】verilatorScript.sh: line 1: verilator_bin.exe: command not found
verilatorScript.sh: line 1: verilator_bin.exe: command not found原创 2023-03-22 22:22:21 · 571 阅读 · 0 评论 -
【SpinalHDL】结构语句
简单介绍在SpinalHDL编程中使用到的结构语句,主要包括赋值语句、选择语句,由于SpinalHDL中没有循环语句,这里在不介绍。原创 2023-05-10 13:45:39 · 661 阅读 · 1 评论 -
【SpinalHDL】代码生成功能
在学习SpinalHDL学习的时候,大部分人可能已经掌握了一种或多种IC设计语言,例如verilog、vhdl或system verilog等。在最开始学习新的语言时,个人习惯是比较新语言代码与原来熟悉的语言代码相比较,这就用了SpinalHDL中非常常用的代码生成功能。SpinalHDL从语言层次上来看是数字设计抽象语言,相比与verilog/vhdl/system verilog等语言更具抽象化,在实际使用过程中也是更多的利用SpinalHDL编写程序后转化为以上语言。本篇文章主要讲解如何将编写的S原创 2023-09-23 17:04:36 · 600 阅读 · 0 评论 -
【SpinalHDL】组件Component和包Bundle
在SpinalHDL中,Component和Bundle都是用于定义硬件模块的关键词,但它们的用途和作用略有不同。原创 2023-04-30 20:53:46 · 691 阅读 · 0 评论 -
【SpinalHDL】Scala编程中的var及val
虽然val声明的变量在赋值后不可再修改,但在硬件描述语言中,时序逻辑通常是通过连续赋值或者组合逻辑来实现的,而不是通过对变量的重新赋值来实现的。在这个例子中,reg是一个val声明的变量,但它的值在时钟的上升沿处被赋值为dataIn,这种赋值操作与val的不可变特性并不矛盾,因为赋值操作不是修改变量的值,而是生成硬件逻辑来实现寄存器行为。举个例子,如果您想实现一个时钟边沿触发的寄存器,可以使用Reg来声明寄存器,并在时钟的上升沿或下降沿处进行赋值操作。这样即使使用val声明,也不会影响到时序逻辑的开发。原创 2024-04-11 18:58:11 · 1190 阅读 · 0 评论 -
【SpinalHDL】Scala编程中的class及case class
本篇文章仅简单介绍在spinalhdl编程中遇到的比较常见的2中类定义方式:class及case class。对于不太了解JAVA或Scala编码又开始学习SpinalHDL的人进行入门介绍。在 SpinalHDL 中,case class 和 class 都是用来定义数据结构或对象的关键字,它们在某些方面相似,但也有一些显著的差异。原创 2024-04-14 22:15:31 · 1473 阅读 · 1 评论