在这里插入图片描述

前言: 学习Lattice的芯片开发的过程中,很多实际开发过程中遇到的问题是没办法绕过的,虽然我今天被绕了一天(此句多余,单纯记录美好心情哈哈哈哈)将这些解决方法梳理成文章供大家参考,十个问题组成一篇文章。

文章目录

  • 1.两个JTAG如何同时在线调试?
  • 2. 添加设备列表中没有的flash型号?
  • 3. Reveal的信号不会更新?
  • 4. Spreadsheet引脚显示unconnected
  • 5.Lattice文档说明
  • 6.传送门

1.两个JTAG如何同时在线调试?

在programmer界面 点击Detect Cable会显示两个板子通过两个USB Port连接到了电脑上。在两个板子调试时,打开两个Diamond,可以先后连接JTAG以便确认FTUSB-0对应的板子是哪一个,后连接的则对应FTUSB-1。在两个Diamond中分别选择不同的Port下载文件即可。
在这里插入图片描述
而Reveal文件需要在两个bit文件烧写完成之后依次点击使用。需要说明,如果一个Diamond的reveal正在等待触发信号,而另外一个开始烧写bit文件,通常都会出错。在各自烧写完毕后,打开reveal文件,可以看到右上角有Cable Connection Manager按钮,单机此按钮,在弹出的对话框中单机detect按钮,选择该工程对应的USB Port点击OK即可。
在这里插入图片描述

2. 添加设备列表中没有的flash型号?

在Programmer界面,选择Edit–>Add Device在弹出的对话框中选择Add,然后在新弹出的对话框中,添加板贴Flash的参数依次包括设备名称、封装、厂商、容量、设备ID等内容,这些内容在Flash手册中都会标写。这里添加后,在固化操作时flash列表中就有新添加的这一项了。
在这里插入图片描述

3. Reveal的信号不会更新?

当修改了源文件之后,有时会发现想把新写的信号添加在Reveal Analyzer中监控,但是会发现在源文件中删除的信号还在,而新加的信号并没有更新。如果没有删除原来的信号,工程可以照常编译,执行综合—place—bitstream file等过程,Reveal Analyzer依然不更新。这时需要打开Reveal Analyzer的界面,然后找一个IP核重新生成一下即可。这可能是软件的bug,anyway,这么做是可以解决问题。

4. Spreadsheet引脚显示unconnected

明明在Top文件中添加了输入或者输出管脚,并且工程也已经生成了bit文件,但在Spreadsheet View中依然显示未链接,这通常是和这几个引脚相关的逻辑有问题。用第一篇文章的led demo举例子如下:当代码写成如下

module LED_demo
(
input clk_i, //输入系统时钟
input rst_n, //输入复位信号
output led1, //输出led1
output led2  //输出led2,与led1取反
);
parameter CLK_DIV_PERIOD=125_000_000; 
reg clk_div=0;
assign led1=clk_div; 
assign led2=~clk_div; 
reg[31:0] led_cnt=0; //分频用的计数器
always@(posedge clk_i or negedge rst_n)beginif(!rst_n)beginled_cnt<=0;end else  if(led_cnt==(CLK_DIV_PERIOD-1)) beginled_cnt<=0;end else beginled_cnt<=led_cnt+1'b1;end 
endalways@(posedge clk_i or negedge rst_n)beginif(!rst_n)beginclk_div<=0;end else if(led_cnt<(CLK_DIV_PERIOD>>1)) begin     clk_div<=0;end else beginclk_div<=1;end
end
endmodule

这是一段没有任何问题的代码,综合前的电路结构图如下所示:
在这里插入图片描述
如果我把代码中 reg[31:0] led_cnt=0; 修改为 reg[23:0] led_cnt=0; 这时SpreadSheet View中会显示引脚led1、led2为Unconnected,此时综合前的电路结构图如下所示,由于led_cnt的位宽小于常量125_000_000所以clk_div恒为0,综合工具把这里的代码直接优化成如下图所示的电路结构。也就是这个隐蔽的问题造成了显示unconnected的情况。
在这里插入图片描述

5.Lattice文档说明

Lattice的发展过程中更新迭代了很多产品,就目前而言,一个IP核可能有三份文档,应用在不同的平台。以tri speed ethernet mac ip为例,他有三个文档,不同的文档适用不同的产品类型,大致是远古时代的ispLever开发的ORCA系列,还有latticeECP系列,以及新一代的其他器件。开发IP的时候需要找对应的文档开发,有些区别不大,但有的甚至信号名称都不一样。

  • Tri-Speed Ethernet IP IP Version: v2.0.0
    在这里插入图片描述
  • 10/100 and 1Gig Ethernet Media Access Controller
    在这里插入图片描述
  • Tri-Speed Ethernet MAC IP User Guide
    在这里插入图片描述

6.传送门

  • 我的主页
  • Lattice进阶之路汇总导航
END

📡文章原创,首发于CSDN论坛。
📡欢迎点赞♥♥收藏⭐⭐打赏💵💵!
📡欢迎评论区或私信指出错误💉,提出宝贵意见或疑问😱。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/web/93718.shtml
繁体地址,请注明出处:http://hk.pswp.cn/web/93718.shtml
英文地址,请注明出处:http://en.pswp.cn/web/93718.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

神经网络训练过程详解

神经网络训练过程详解 神经网络训练过程是一个动态的、迭代的学习过程&#xff0c;接下来基于一段代码展示模型是如何逐步学习数据规律的。 神经网络拟合二次函数&#xff1a;代码详解 下面将详细解释这段代码&#xff0c;它使用神经网络拟合一个带有噪声的二次函数 y x 2x …

LeetCode100-560和为K的子数组

本文基于各个大佬的文章上点关注下点赞&#xff0c;明天一定更灿烂&#xff01;前言Python基础好像会了又好像没会&#xff0c;所有我直接开始刷leetcode一边抄样例代码一边学习吧。本系列文章用来记录学习中的思考&#xff0c;写给自己看的&#xff0c;也欢迎大家在评论区指导…

【PZ-ZU47DR-KFB】璞致FPGA ZYNQ UltraScalePlus RFSOC QSPI Flash 固化常见问题说明

1 Flash 固化Flash 固化需要先生成 BOOT.bin 文件&#xff0c;这边以裸机的串口工程进行讲解如何生成 BOOT.bin 文件及 Flash 固化操作。有读者会遇到&#xff0c;只使用 PL 端的情况&#xff0c;也需要进行 Flash 固化。我们需要添加 PS 端最小配置&#xff08;包含 Flash 配置…

数据结构:查找表

一、数据结构的概念数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。它不仅仅是存储数据的方式&#xff0c;更强调数据之间的逻辑关系和操作方法。数据结构主要从以下几个角度来理解&#xff1a;1. 数据之间的关系逻辑结构&#xff1a;集合结构&#xff1a;元素之…

自建知识库,向量数据库 (十)之 文本向量化——仙盟创梦IDE

自建文章向量化技术&#xff1a;AI 浪潮下初学者的进阶指南 在人工智能&#xff08;AI&#xff09;蓬勃发展的浪潮中&#xff0c;向量化作为将文本数据转化为数值向量表示的关键技术&#xff0c;成为理解和处理文本的基石。本文将结合给定的代码示例&#xff0c;深入探讨自建文…

数据结构 -- 顺序表的特点、操作函数

线性表顺序存储的优缺点优点无需为表中的逻辑关系增加额外的存储空间&#xff0c;利用连续的内存单元存储数据&#xff0c;存储密度高。支持 随机访问&#xff0c;通过下标可在 O(1) 时间复杂度内定位元素&#xff08;如数组按索引取值&#xff09;&#xff0c;查询效率稳定。缺…

反向代理实现服务器联网

下载脚本&#xff1a;https://gitee.com/995770513/ssh-reverse-socket然后解压到 D:\Download在本机运行 cd D:\Download\ssh-reverse-socket-master\ssh-reverse-socket-master python socket5_proxy.py --ssh_cmd "xaserver10.150.10.51 -p 22" --socket5_port 78…

C语言关于函数传参和返回值的一些想法2(参数可修改的特殊情况)

我最近写了一篇文章名为“C语言关于函数传参和返回值的一些想法”&#xff08;C语言关于函数传参和返回值的一些想法-CSDN博客&#xff09;&#xff0c;里面提到了一种观点就是传参的参数在函数体内部是只读的&#xff0c;不能写它&#xff0c;因为如果写了&#xff0c;也就是污…

前端AI对话功能实现攻略

一、对话内容渲染 在前端页面的 AI 对话场景中&#xff0c;对话内容的渲染效果直接影响用户的阅读体验和交互效率。合理选择对话格式、优化流式对话呈现、嵌入自定义内容以及实现语音播报等功能&#xff0c;是提升整体体验的关键。 对话格式选择 MarkDown 作为一种轻量级标记语…

深入理解Redis持久化:让你的数据永不丢失

1 Redis持久化概述 1.1 什么是Redis持久化 Redis作为一个高性能的内存数据库,默认情况下数据存储在内存中,这意味着一旦服务器重启或发生故障,内存中的数据将会丢失。为了保证数据的持久性和可靠性,Redis提供了持久化机制,将内存中的数据保存到磁盘中。 持久化是Redis实…

IC验证 AHB-RAM 项目(二)——接口与事务代码的编写

目录准备工作接口相关代码编写事务相关代码编写准备工作 DVT&#xff08;Design and Verification Tools&#xff09;是一款专门为 IC 验证打造的 IDE 插件&#xff0c;可以理解为智能的 Verilog/System Verilog 编辑器&#xff0c;在 VS Code、Eclipse 软件中使用。 接口相关…

基于Spring Boot的智能民宿预订与游玩系统设计与实现 民宿管理系统 民宿预订系统 民宿订房系统

&#x1f525;作者&#xff1a;it毕设实战小研&#x1f525; &#x1f496;简介&#xff1a;java、微信小程序、安卓&#xff1b;定制开发&#xff0c;远程调试 代码讲解&#xff0c;文档指导&#xff0c;ppt制作&#x1f496; 精彩专栏推荐订阅&#xff1a;在下方专栏&#x1…

大模型的底层运算线性代数

深度学习的本质是用数学语言描述并处理真实世界中的信息&#xff0c;而线性代数正是这门语言的基石。它不仅提供了高效的数值计算工具&#xff0c;更在根本上定义了如何以可计算、可组合、可度量的方式表示和变换数据。 1 如何描述世界&#x1f4ca; 真实世界的数据&#xff08…

Rust 中 i32 与 *i32 的深度解析

Rust 中 &i32 与 *i32 的深度解析 在 Rust 中&#xff0c;&i32 和 *i32 是两种完全不同的指针类型&#xff0c;它们在安全性、所有权和使用方式上有本质区别。以下是详细对比&#xff1a; 核心区别概览 #mermaid-svg-rCa8lLmHB7MK9P6K {font-family:"trebuchet ms…

【PyTorch项目实战】OpenNMT本地机器翻译框架 —— 支持本地部署和自定义训练

文章目录一、OpenNMT&#xff08;Neural Machine Translation&#xff0c;NMT&#xff09;1. 概述2. 核心特性3. 系统架构4. 与其他翻译工具的区别二、基于 OpenNMT-py 的机器翻译框架1. 环境配置&#xff08;以OpenNMT-py版本为例&#xff09;&#xff08;1&#xff09;pip安装…

基于prompt的生物信息学:多组学分析的新界面

以前总以为综述/评论是假大空&#xff0c;最近在朋友的影响下才发现&#xff0c;大佬的综述/评论内容的确很值得一读&#xff0c;也值得分享的。比如这篇讲我比较感兴趣的AI辅助生信分析的&#xff0c;相信大家都是已经实践中用上了&#xff0c;看看大佬的评论&#xff0c;拓宽…

Nacos-8--分析一下nacos中的AP和CP模式

Nacos支持两种模式来满足不同场景下的需求&#xff1a;AP模式&#xff08;强调可用性&#xff09;和CP模式&#xff08;强调一致性&#xff09;。 这两种模式的选择主要基于CAP理论&#xff0c;该理论指出在一个分布式系统中&#xff0c;无法同时保证一致性&#xff08;Consist…

水闸安全监测的主要核心内容

水闸安全监测是指通过一系列技术手段和管理措施&#xff0c;对水闸的结构状态、运行性能及环境条件进行实时或定期的观测与评估&#xff0c;以确保水闸在设计寿命期内的安全性和可靠性。其核心目标是及时发现潜在的安全隐患&#xff0c;防止事故发生&#xff0c;保障水利工程的…

嵌入式系统学习Day19(数据结构)

数据结构的概念&#xff1a; 相互之间存在一种或多种特定关系的数据元素的集合。数据之间关系&#xff1a;逻辑关系&#xff1a;集合&#xff0c;线性&#xff08;1对1&#xff0c;中间位置的值有且仅有一个前驱&#xff0c;一个后继&#xff09;&#xff0c;树&#xff08;1对…

Pandas中数据清理、连接数据以及合并多个数据集的方法

一、简介1.数据清理的重要性&#xff1a;在进行数据分析前&#xff0c;需进行数据清理&#xff0c;使每个观测值成一行、每个变量成一列、每种观测单元构成一张表格。2.数据组合的必要性&#xff1a;数据整理好后&#xff0c;可能需要将多张表格组合才能进行某些分析&#xff0…