首页 > 其他分享 >SpinalHDL之结构(三)

SpinalHDL之结构(三)

时间:2024-09-19 11:52:36浏览次数:10  
标签:函数 Scala SpinalHDL 总线 灰度 模块 结构

本文作为SpinalHDL学习笔记第六十三篇,介绍SpinalHDL的函数(Function)

目录:

1.简介(Introduction)

2.RGA到灰度(RGB to grey)

3.Valid和Ready负载总线(Valid Ready Payload bus)

⼀、简介(Introduction)

⽤Scala函数产⽣硬件的⽅式与VHDL/Verilog中非常不同, 原因如下:
◆你可以在他们内部例化寄存器、组合逻辑和模块。
◆你不需要使⽤process/@always模块, 因此也不会限制你对信号声明的范围。
◆所有事情都是通过引⽤传递, 这使得各种操作都便于控制。

例如你可以把总线作为变量传递到函数中, 这样函数就可以在内部读写总线。你也可以返回⼀个模块, ⼀个总线, 或是任何来⾃于Scala世界的东⻄。

⼆、RGA到灰度(RGB to grey)

例如, 如果想要把红/绿/蓝颜⾊通过系数转化为灰度, 可以⽤如下函数来实现:



标签:函数,Scala,SpinalHDL,总线,灰度,模块,结构
From: https://blog.csdn.net/m0_59092412/article/details/142356562

相关文章

  • Redis数据结构跳跃列表(skipList)与压缩列表(ziplist)
    skiplist介绍跳表是一种数据结构,它使得包含了n个元素的有序序列的查找和插入的平均时间复杂度都是O(logn),优于数组的O(n)复杂度,快速的查找是通过维护多层次的链表实现的,且与前一层(下面一层)链表的数量相比,每一层的链表元素数量更少简单来讲跳表就是基于链表实现的有序列表,通过维......
  • C和指针:结构体(struct)和联合(union)
    结构体和联合结构体结构体包含一些数据成员,每个成员可能具有不同的类型。数组的元素长度相同,可以通过下标访问(转换为指针)。但是结构体的成员可能长度不同,所以不能用下标来访问它们。成员有自己的名字,可以通过名字访问成员。结构声明在声明结构时,必须列出它包含的所有成员。struct......
  • 软件体系结构笔记4-2(用代码直观理解)
    四、Data-centered Software Architecture Style(数据为中心的体系结构风格)2、黑板体系结构风格黑板体系结构是一种问题求解模式,特别适用于那些难以事先完全形式化的复杂问题。它由三个主要组件组成:黑板(Blackboard):一个共享的信息库,所有知识源都可以读取和写入。在我们的例......
  • Redis基础数据结构之 quicklist 和 listpack 源码解读
    目录标题quicklist为什么要设计quicklist?quicklist特点ziplistquicklist数据结构listpacklistpack是什么?listpack数据结构ziplist干啥去了?为什么有listpack?什么是ziplist的连锁更新?listpack如何避免连锁更新?listpack替代了quicklist吗?quicklist为什么要设计qu......
  • Java-数据结构-优先级队列(堆)-(一) (;´д`)ゞ
    文本目录:❄️一、优先级队列:     ➷1、概念:❄️二、优先级队列的模拟实现:     ➷1、堆的概念:     ➷ 2、堆的性质:      ➷ 3、堆的创建: ▶向下调整:       ➷ 4、堆的插入和删除:    ▶堆的插入: ☞......
  • 使用回调机制Callback和函数式编程码出优雅结构化代码!拒绝一直写CRUD!!!
    整体回调机制流程如下图所示:1.2回调的结构1.3回调的作用2.回调的实现方式2.1通过接口实现回调java可以通过定义一个回调接口,包含需要回调的方法,然后在业务逻辑中通过传递接口的实现类,触发回调。示例如下://1.定义回调接口interfaceCallback{voidonComplete(Stringres......
  • 使用回调机制Callback和函数式编程码出优雅结构化代码!拒绝一直写CRUD!!!
    整体回调机制流程如下图所示:1.2回调的结构1.3回调的作用2.回调的实现方式2.1通过接口实现回调java可以通过定义一个回调接口,包含需要回调的方法,然后在业务逻辑中通过传递接口的实现类,触发回调。示例如下://1.定义回调接口interfaceCallback{voidonComplete(Stringres......
  • 什么是结构化数据,非结构化数据
    原文链接:https://zhidao.baidu.com/question/572398265560335964.html1.结构化数据是指那些存储在数据库中,能够用二维表格结构来逻辑表达和实现的数据。2.非结构化数据则指不便于用数据库表格结构来表现的数据,它包括各种格式的文档、文本、图片、XML、HTML报表以及音频和视频信......
  • 【数据结构】二叉树的遍历
    堆的应用堆排列堆排序即利用堆的思想来进行排序,总共分为两个步骤:建堆升序:建大堆降序:建小堆利用堆删除思想来进行排序建堆和堆删除中都用到了向下调整,因此掌握了向下调整,就可以完成堆排序。voidHeapSort(int*a,intn){ //a数组直接建堆O(N) for(inti=......
  • 基于SSM的抗疫物资管理系统(数据库表结构文档)。Javaee项目。
    演示视频基于SSM的抗疫物资管理系统(数据库表结构文档)。Javaee项目。项目介绍:采用M(model)V(view)C(controller)三层体系结构,通过Spring+SpringMvc+Mybatis+Jsp+Bootstrap来实现。MySQL数据库作为系统数据储存平台,采用JDBC技术进行数据库连接,实现了基于B/S结构的Web系......