看完了前面的系列,对于Stageable、StageableKey是如何起作用的应该有一定的了解。今天再来看下Stage中关于terminal的作用
在pipeline的实现中,有五大要素:pipeline、Connection、Stage、StageableKey、Stageable。我们来看下面的代码:
✎ 编 者 按 续接上文,这一次我们来详细了解下一个简单的pipeline是如何构建起来的最简单的流水线书接上文,一个最简单的流水线例子,这...
对于Stageabel,我们可以传入任何SpinalHDL下面定义的隶属于Data的类型,不同于我们在电路里生命一个电路对象:
如果你曾看过VexRSICV的设计,对于从事逻辑设计的你会惊讶从未想过逻辑设计还能这么来做。针对VexRSICV所衍生出的pipeline Lib,该系列...
昨晚看SpinalHDL的Issues,其中有一个关于性能提升的case:[链接] 吸引到了我,尝试实验到深夜,测试下在SpinalHDL以及cocotb下的性能优...
但凡牵涉到SmartNIC,都免不了牵涉到MAC IP。在网络设计里,MAC IP Rx端一般都是不接受反压的,随着报文类型对应的处理能力的不一样,在...
✎ 编 者 按 关于仿真里的后门访问,之前的文章《三分钟教会你SpinalHDL仿真中的后门读写》中有做过介绍,其针对的都是针对以SpinalHDL中...
当在SpinalHDL中调用别人的RTL代码时,需要采用BlackBox进行封装。对于大多数场景,想必小伙伴们都已轻车熟路。今天着重来看下当RTL代码...
读cocotbext-pcie源码,有部分牵涉到数据链路层。虽然自工作以来接触到PCIe还是蛮多的,但一般往往专注在TLP层,对于数据链路层还是接触...
在SpinalHDL代码中,StreamArbiter提供了完善的多入一出的调度机制。里面可能应用的较多的是Round Robin调度。在之前的文章《你知道如何...
之前看一篇论文《A Fast Approach for Generating Efficient Parsers on FPGAs》,里面主要讲的是如何将P4的报文解析通过流水线技术映射...
✎ 编 者 按 快速了解在SpinalHDL中如何将ROM的初始化放置在RTL文件中。》ROM的初使化 在之前的文章《Mem初始化太复杂?》中曾提到在S...
在逻辑设计中,基于Stream握手这种形式的总线行为是很常见的,在自定义总线时Stream这类总线代码写起来千篇一律,完全可以利用IDEA的liv...
在系统设计上,往往会存在同一个总线接口在不同的模块里在进行例化时其配置略有差别。例如当我们为整个系统不同模块分配地址范围时,不...
在之前写Verilog时,位拼接符是一个很常见的东西,今天来看下在SpinalHDL中常见的位拼接符的使用。
在网卡领域,多队列技术已经是一项很常用的技术,而网络报文的负载分流,常见的就是RSS。本文就索性仔细分析下RSS的逻辑实现,同时以Sp...
之后你可以调用compile(rtl)函数对硬件编译并为仿真器做准备。这个函数会返回SimCompiled实例。在这个SimCompiled实例中你可以用以下函...
这一章会介绍SpinalHDL如何把名字从scala代码传递到产生的硬件中。知道这些能帮助你更好地了解如何保留名字, 以尽可能增加生成的网表的...
SpinalHDL编译器会做很多设计检查,来确保生成的VHDL/Verilog是可仿真的可综合的。基本上,SpinalHDL不会生成破损的VHDL/Verilog设计。...