SpinalHDL之错误集(一)

embedded/2024/10/18 18:23:12/

本文作为SpinalHDL学习笔记第七十六篇,作为错误集使用,类似高中生的错题集,记录使用SpinalHDL过程中遇到的问题,小到语法错误、版本兼容问题,大到SpinalHDL库函数错误等等,持续更新

SpinalHDL学习笔记总纲:

SpinalHDL 学习笔记_blackbox spinalhdl-CSDN博客

目录:

1.Stream库函数废弃;

2.标准库函数找不到

3.跨时钟域报错

一、Stream库函数废弃(2024.9.15)

现象使用SpinalHDL标准库函数Stream时,“Stream”上有根划线,显示该函数已被弃用;

原因:SpinalHDL是基于Scala的一个库,笔者使用的Scala版本为3.x.x,不支持Stream,可能是Scala版本太高了;

解决方法:降低Scala版本,目前Scala 2.11.12是针对SpinalHDL比较稳定的版本;

二、标准库函数找不到(2024.9.23)

现象:编译时报一些标准库函数找不到的error,比如状态机的makeInstantEntry,在import路径下没有对应的库;

原因:SpinalHDL目前还算发展中,一些标准的库函数是随着版本持续添加修改的,笔者使用的版本是1.6.0,里面还没有这些库函数;

解决方法:把SpinalHDL的版本改成1.9.0,截止2024.9.25,SpinalHDL官方最新版是1.10.0;

三、跨时钟域报错(2024.10.10)

现象:IIC顶层模块里例化了两个子模块i2cRegInsti2sBaseInst,这两个模块有一些接口直接连接起来,报了这些连线跨时钟域的error;

原因:两个子模块被认为是两个不同的clockdomain不管这两个子模块用的时钟相不相同,从一个clockdomain到另一个clockdomain的信号都需要做跨时钟域处理; 

解决方法:由于这两个子模块使用的时钟相同,所以实际上不用做时钟同步,所以直接使用addTag(crossClockDomain)忽略报错。

Note:如果这两个子模块使用的时钟不同,那是需要做信号同步的,一般在各个子模块里先用addTag(crossClockDomain)忽略报错,再对信号做处理。


http://www.ppmy.cn/embedded/127269.html

相关文章

【数据结构】图的最短路径

快乐的流畅:个人主页 个人专栏:《C游记》《进击的C》《Linux迷航》 远方有一堆篝火,在为久候之人燃烧! 文章目录 引言一、最短路径的概念二、Dijkstra算法2.1 思想2.2 实现 三、Bellman-Ford算法3.1 思想3.2 实现 四、Floyd-Warsh…

rv1109/rv1126 编译错误记录

rv1109/rv1126 编译错误记录 瑞芯微针对市面上的电池类IPC产品存在抓拍速度慢、识别准确性低、待机时间短、拍摄效果差及视频流畅度不佳等痛点,推出 rv1109 和 rv1126 电池类智慧视觉方案,主要定位于人工智能(AI)边缘计算和智能硬…

安装openai-whisper 失败

昨晚安装python 语音识别模型经常失败: pip install openai-whisper 具体原因是因为国外的源使网络不稳定造成断网 查阅资料我自己的解决办法是在自己C:\Users\用户名目录下建一个pip文件夹,在pip文件夹下建一个pip.ini文件 在pip.ini文件中加入自己要…

leetcode68:文本左右对齐

给定一个单词数组 words 和一个长度 maxWidth ,重新排版单词,使其成为每行恰好有 maxWidth 个字符,且左右两端对齐的文本。 你应该使用 “贪心算法” 来放置给定的单词;也就是说,尽可能多地往每行中放置单词。必要时可…

Swift 协议:深入解析与高级应用

Swift 协议:深入解析与高级应用 Swift 协议是 Swift 编程语言中的一项核心特性,它提供了一种定义接口和实现多态的强大方式。本文将深入探讨 Swift 协议的概念、用法和高级应用,帮助读者更好地理解和运用这一特性。 什么是 Swift 协议? Swift 协议是一种用于定义方法、属…

Java | Leetcode Java题解之第477题汉明距离总和

题目&#xff1a; 题解&#xff1a; class Solution {public int totalHammingDistance(int[] nums) {int ans 0, n nums.length;for (int i 0; i < 30; i) {int c 0;for (int val : nums) {c (val >> i) & 1;}ans c * (n - c);}return ans;} }

代码训练营 day31|LeetCode 455,LeetCode 376,LeetCode 53

前言 这里记录一下陈菜菜的刷题记录&#xff0c;主要应对25秋招、春招 个人背景 211CS本CUHK计算机相关硕&#xff0c;一年车企软件开发经验 代码能力&#xff1a;有待提高 常用语言&#xff1a;C 系列文章目录 第31天 &#xff1a;第八章 贪心算法 part01 文章目录 前言系…

MySQL 读写分离、主从复制案例

场景描述 假设你有一个在线商城应用&#xff0c;数据库用于存储用户信息和商品数据。写操作包括新增用户和更新商品信息&#xff0c;而读操作包括查询用户和商品详情。 1. 数据库环境准备 1.1. 主库配置 假设你的从库服务器 IP 地址为 192.168.1.101。 修改从库的配置文件 …