无论是Amba总线还是其他类总线,握手与分发总是无处不在。在SpinalHDL中,Stream的抽象提取个人认为绝对是一个精彩的操作。SpinalHDL的l...
✎ 编 者 按 逻辑出身的农民工兄弟在面试时总难以避免“跨时钟域”的拷问,在诸多跨时钟域的方法里,握手是一种常见的方式,而Stream作为一...
✎ 编 者 按 最近小伙伴儿遇到了一件神奇的事情,仿真明明跑完了打开生成的波形却发现自己跑了个寂寞~
✎ 编 者 按 在做逻辑实现及后期调试维护里,在维护文档中的寄存器列表和真实设计中的唯一性往往是一件令人“痛苦”的事情(一个字,懒)。...
设计总离不开仿真,SpinalHDL已经集成了仿真环境,作为软件“半调子”,在仿真时关于数据的生成与转换推荐几个方法。
SpinalHDL的仿真是先生成的Verilog,随后针对Verilog进行的仿真。SpinalHDL提供了一个类似我们在Verilog仿真中常用的“#time”的一个sleep...
曾经,一直觉得Xilinx家的Vivado难用,可当转战至Intel家的Quartus,蓦然觉得Vivado真香~
身为逻辑工程师总免不了信号连接,在写Verilog的时候通过VSCode的插件或者脚本来处理模块的例化,而在SpinalHDL中自然可以更便捷,本篇...
作为逻辑开发者,仿真是一个永远跑不掉的话题。尽管说严格来讲设计和验证是分离的,但对于FPGA开发来讲,即便是大厂也很少配备专门的逻...
一入此门深似海,似猿非猿半硅农。FPGA探索,你我同行。 最近在项目中以SpinalHDL为主体做系统集成,其中遇到了不少模块命名与管理的坑...
最近偶尔需要用到SPI模块。正巧看到SpinalHDL中所提供的SPI-Master设计。看完之后尤为佩服如此简洁而又全面的设计方式。本篇不对SPI协议...
在生成RTL代码时,默认情况下,SpinalHDL会将生成的Verilog代码全部放在一个文件里。而当我们需要将代码按照模块每个模块生成一个文件时...
哪有什么岁月静好,只不过他人帮你写了代码。你每调用一个方法,都有一段写好的代码在帮你干活~壹伴编辑器 看一道位宽拼接的简单题...
reduceBalancedTree的使用两种电路描述的差异考虑下下面两种电路的差异: {代码...} 其综合电路为: {代码...} 其综合电路为: 第一种直...
对于熟悉数字电路设计的小伙伴而言,关于Flip-Flop和Latch皆已悉知,而在电路设计里老生常谈的也是不要在设计中使用Latch。在SpinalHDL...
在Verilog/SystemVerilog中,当我们从一个数据中根据另一个变量动态选取指定位宽时用到的表达式为“+:”和“-:”。+:和 -:适用于那些 [MSB...
不知诸君可还记得在SystemVerilog中数组,压缩数组等等这些令人挠头的东西,看似方便但不知各位在真实中使用几何。
将一个为UInt(128 bits)的Stream接口连接到一个UInt(32 bits)的StreamFiFo上,在SpinalHDL里有没有什么好的方式实现。
相较于Verilog,在SpinalHDL里,其对时钟域有着更细致的描述,从而也能够更精细的控制和描述。而对于时钟域,我们往往关系的是:
对于变量a,声明为val,在对其进行第二次赋值时发现会报错,而声明为var的变量则正常。在Scala里,对于val和var的定义: