Lattice Crosslink开发简介
Crosslink的开发工具是Diamond,内部逻辑资源lut大概有6k,并且有两个MIPI DPHY硬核,所以用户经常用它做MIPI接口桥接芯片。
硬件设计
Crosslink硬件设计,个人觉得有几份资料是必看的,我现在罗列出来供大家参考。
(1)Crosslink数据手册、Hardware Checklist、pinout信息等。资料下载链接为
http://www.latticesemi.com/en/Products/FPGAandCPLD/CrossLink
数据手册:简单介绍器件基本特性,比如逻辑资源、管脚数量、管脚速率、bank电压等等。
Hardware Checklist:用户画完原理图之后,再次通过这份文档检查一下,如果没有发现问题,那么证明原理图起码没有引脚分配之外的问题。
除此之外,官网还有一些PCB布局布线的一些推荐文档,原理图库,参考设计等,非常有用。
(2)crosslink开发板
在用户开发之前,如果能够得到一块开发板,那无疑非常有用,这不仅可以帮助我们快速熟悉器件软硬件环境,而且还可以作为一个硬件工程师开发的良好范本。上述链接pdf文档后面,有Crosslink的参考原理图,新用户可以借助它快速绘制原理图。
除了上述官网提供的资料以外,Lattice Crosslink还经常会遇到管脚分配的问题;
该开发板比lattice官方开发板降低了设计难度。把基本上IO引脚做了等长,MIPI引脚引出。板上可以通过选择不同bank的电压。
也可以用约束语句,约束IP核生产的引脚在对应MIPI通道上。
(2) Crosslink下载方式有两种,分别是IIC下载方式和SPI下载方式。软件默认SPI下载方式,会自动分配引脚,用户不用手动分配。
要注意有配置有两种模式,一个外部spi-flash和内部nvcm。内部ncvm是一次性编程不能再次修改。要注意。
(3) Crosslink有些IP会使用到特殊引脚,用户任意分配引脚会导致软件编译不了,出现错误。
除了上述问题之外,lattice管脚分配可能还会遇到一些问题,所以建议用户在分配完引脚之后,做一下“管脚评估”,这样就可以避免管脚分配错误带来的问题。
软件设计
Crosslink的代码开发工具是lattice Diamond,关于这个工具如何使用,我已在另一篇文章简单讲过,在这里不再赘述。打开IP核生成界面,里面有很多Crosslink上能够使用的IP核,并且每个IP核都有简单介绍,非常方便。
大家知道,Crosslink只有SPI和iic下载口,并没有JTAG调试口。Lattice原意是用户直接用他们生成好的IP,只需要分配好引脚即可完成开发,但是后续Crosslink IP核在使用的过程中有时会遇到问题,而且用户有可能会在Crosslink上开发一些自己的代码,经常会遇到需要调试代码的状况,所以后续lattice建议用户在开发Crosslink过程中,把JTAG口预留出来。
首先我要说一下,我上面说的JTAG是指Crosslink用软件模拟出来的JTAG,这个JTAG口不能用于下载,只能用来调试。
Crosslink 模拟JTAG调试步骤
(1)建立完整的Crosslink工程。
(2)点击reveal insert按钮,在工程中插入reveal analyzer,分配好采样时钟、触发信号、采样信号等,然后保存为.rvl文件。
(3)重新编译工程。编译好之后,打开Reports标签页下的Signal/Pad,查看Diamond软件给JTAG分配的引脚。当然,用户也可以分配好JTAG引脚之后再编译,如果引脚分配不合理,Diamond就会给出错误报告。

Lattice Crosslink开发简介的更多相关文章
- Scrum敏捷开发简介
Agile 敏捷开发实践中,强调团队的自我管理.在 Scrum 中,自我团队管理体现在每天的 Scrum 会议中和日常的协同工作,在每天的 Scrum 例会中,团队成员一般回答一下几个问题 : 昨天完 ...
- Kendo UI 移动应用开发简介
Kendo UI 移动应用开发简介 Kendo UI 支持开发 Web 应用,前面介绍的 SPA,也支持开发移动应用,至于使用 HTML5 + JavaScript + CSS 开发移动是不是一个好的 ...
- Webservice WCF WebApi 前端数据可视化 前端数据可视化 C# asp.net PhoneGap html5 C# Where 网站分布式开发简介 EntityFramework Core依赖注入上下文方式不同造成内存泄漏了解一下? SQL Server之深入理解STUFF 你必须知道的EntityFramework 6.x和EntityFramework Cor
Webservice WCF WebApi 注明:改编加组合 在.net平台下,有大量的技术让你创建一个HTTP服务,像Web Service,WCF,现在又出了Web API.在.net平台下, ...
- Defi开发简介
Defi开发简介 介绍 Defi是去中心化金融的缩写, 是一项旨在利用区块链技术和智能合约创建更加开放,可访问和透明的金融体系的运动. 这与传统金融形成鲜明对比,传统金融通常由少数大型银行和金融机构控 ...
- Linux C++ 开发简介
主要介绍将Windows程序迁移到Linux系统相关知识 简介 Windows程序迁移到Linux系统可能需要修改很多代码, 既需要了解Linux平台的开发知识, 也需要了解Windows平台代码如何 ...
- Linux C++ 开发简介(包括Linux守护线程)
阅读目录 简介 操作系统 编辑器 编译器 构建系统 调试 IDE 可执行程序.动态库.静态库 服务 Windows服务简介 创建Windows服务 注册Windows服务 管理Windows服务 Li ...
- 机器学习的Spark与Scala开发简介
一.机器学习常用开发软件:Spark.Scala 1. Spark简介: MLlib包含的库文件有: 分类 降维 回归 聚类 推荐系统 自然语言处理 在线学习 统计学习方法:偏向理论性,数理统计的方 ...
- Python自动化开发-简介
1.Python简介 Python创始人 Guido Van Rossum,人称"龟叔",1989年圣诞节期间,为了在阿姆斯特丹打发时间,开发的一个新的脚本解释程序 作为ABC语 ...
- 微信小程序原生开发简介
简介: 总结: 1. 逻辑层使用js引擎,视图层使用webview渲染 2. 微信小程序已经支持了绝大部分的 ES6 API 3. 可以自动补全css的兼容语法 文档:https://develope ...
- JUC——JUC开发简介(一)
前言 JUC是Java5.0开始提供的一组专门实现多线程并发处理的开发框架,利用JUC开发架构可以有效的解决实际线程项目开发之中出现的死锁.阻塞.资源访问与公平机制. 此笔记主要记录java.util ...
随机推荐
- 关于黑客网络 for linux,这个游戏的启动解决方法
原帖位置https://tieba.baidu.com/p/6200215090
- 基于Python的子进程获取键盘输入
一 概念 众所周知,python中的获取键盘输入,input函数是没办法用在子程序的,这就限制了它的用途.想要在子程序中获取键盘输入.唯有 fn=sys.stdin.fileno函数了. 二 实例解析 ...
- ESP8266 SPI 开发之软件驱动代码分析
一 基本概述 esp8266的SPI代码流程非常的清晰,主要有三部分构成: spi_init 配置 spi_trans 配置 data_transfer 配置这三块组成. 在这里,笔者就针对spi的这 ...
- leetcode数据库sql之Department Top Three Salaries
leetcode原文引用: How would you print just the 10th line of a file? For example, assume that file.txt ha ...
- Ubuntu(Linux) PyQt5 QtUIFile 转换为 PythonModule (pyuic.py/pyuic脚本)
PS:要转载请注明出处,本人版权所有. PS: 这个只是基于<我自己>的理解, 如果和你的原则及想法相冲突,请谅解,勿喷. 前置说明 本文作为本人csdn blog的主站的备份.(Bl ...
- java的接口和抽象类区别
转自:深入理解Java的接口和抽象类 对于面向对象编程来说,抽象是它的一大特征之一.在Java中,可以通过两种形式来体现OOP的抽象:接口和抽象类.这两者有太多相似的地方,又有太多不同的地方.很多人在 ...
- CentOS 安装webmin
下载地址 http://download.webmin.com/download/yum/ 安装依赖 sudo yum -y install openssl perl perl-Net-SSLeay ...
- C# 获取QQ会话聊天信息
利用UIAutomation获取QQ会话聊天信息 AutomationElement window = AutomationElement.FromHandle(get.WindowHwnd); Au ...
- KingbaseES Json 系列六:Json记录操作函数一
KingbaseES Json 系列六--Json记录操作函数一(JSONB_TO_RECORD,JSONB_TO_RECORDSET,JSON_TO_RECORD,JSON_TO_RECORDSET ...
- Lab2:System Call
trace 该系统调用程序,可以跟踪其他的系统调用命令,该系统调用的形参为一个整数掩码.其具体实参为1 << sys_call所得到的整数值,sys_call是一个系统调用指令在内核中定义 ...