AGM CPLD 应用指南

AGM的部分料号跟Altera 硬件Pin to Pin兼容,映射关系表如下:
EPM240T100CxN—>AG256SL100(CPLD)
EPM240T100IxN---->AG256SL100(CPLD)
EPM570T100CxN—>AG576SL100(CPLD)
EPM570T100IxN---->AG576SL100(CPLD)
EPM570T144CxN—>AG576SL144(CPLD)
EPM570T144IxN---->AG576SL144(CPLD)

EP3C5E144—>AG6KL144
EP4CE6E22—>AG6KL144
EP3C5F256—>AG6KF256
EP4CE6F17—>AG6KF256
EP3C10E144—>AG10KL144
EP4CE10E22—>AG10KL144
EP3C10F256—>AG10KF256
EP4CE10F17—>AG10KF256
EP3C16F256—>AG16KF256
EP4CE15F17—>AG16KF256
Also for Lattice chip
ICE40LP1K-CM36, AGM also have Pin to Pin part " AG1KLPBGA36".
针对几颗用量广泛的CPLD料号,如AG256以及AG576系列,移植方法如下:
 软件流程选择
Supra 共有 3 种开发 Mode:Native 选项(AGM 自有 EDA 综合工具),Synplicity 选项(第三方综合工具,例如 Synplify,Mentor 等),Compatible 选项(兼容 Altera Quartus II 的综合工具)。
文档中的 Supra 主要基于 Quartus II 综合的设计流程,其它工具设计流程类似。
 AG576 IO
AG576SL100 的可用 IO 与 AG256SL100 一致,比 Altera EPM570T100 多 4 个 IO,分别为:
在这里插入图片描述

如果 PCB 兼容 EPM570,39/88 接 3.3V 供电的话,有可能会使芯片输入 IO 电流较大。可以通过设置,使 AG576 的未用 IO 为三态模式。请在 EPM570 的原设计中设置 Unused Pin 选项为
AS input tri-stated with weak pull-up。如下图:
在这里插入图片描述
如果希望利用 AG576 多的 4 个 IO,可以在 asf 文件中加入对这 4 个 pin 的分配,如:
set_location_assignment PIN_88 -to abc

 安全位设置
AG256/576 安全位(SECURITY_BIT)可以使 CPLD 烧写好后,无法读取出内部程序,只能擦除或覆盖,从而实现用户设计的安全性。
设置方法:
方法一:Quartus MAX II 工程中,选 Assignment-Device 菜单,点 Device and Pin Options,选 General 类别,选中 Enables security bit support。重新编译。运行 Supra 转换流程。
方法二:在 Supra 生成的 asf 文件中,加入一行:
set_global_assignment -name SECURITY_BIT “ON”

 PLL 的使用
AG576 内部带有 1 个 PLL,可通过以下方法调用:
在 Supra 中进入 Tools -> Create IP,选择 PLL 或 Memory。
PLL 类型选择 PLL,填写输入频率(MHz),输出频率,相移等数据。
注意:PLL 的输入时钟应是芯片的全局输入时钟 IO 管脚。
完成后点击 Generate,目录中会产生比如 pll0.v、pll0.ip 两个文件。在 Quartus II 设计代码中即可调用产生的模块(.v)。
新生成的 Quartus II 工程中编辑源文件(如.v)加入 pll 模块(这样,原 MAX II 工程就不能正确编译了,请留好备份)
Verilog 文件方式:
在这里插入图片描述
在 Supra Migrate 时需要将产生好的 IP 加入 IP Files(
.ip)。
如果在设计过程中添加或修改 IP 文件,Supra project 需要重新再新建一次并覆盖原工程,并执行 Migrate 一次,和运行 af_quartus.tcl。
应用 AGM IP 的 Quartus II 工程中需要注意并确认下面信息,正确执行 Tcl 后会出现:
由于 IP 声明包含在 alta_sim.v 的库文件中,这个文件默认在 supra 的安装目录中,如:
C:\Supra\etc\arch\rodinia,Quartus II project 应包含这个文件。
同时,alta_pll 应设为 Design Partition,如图:
在这里插入图片描述
注意:
如果 Supra 编译出错,有可能是新加入 PLL 使得 clk 时钟线布线不成功,说明 576 的全局时钟不够,可修改新项目中的下面设置:
Settings->Fitter Settings,More Settings, Maximum number of global clocks allowed,改为 2或 3(一共是 4,PLL 用 2 个或 1 个时钟)。

 UFM 的使用
需要调用 alta_ufms 模块:
在这里插入图片描述
使用 USER FLASH,需要通过 SPI 口控制输入输出。
同时提供内部晶振 OSC,可输出 4MHz 左右时钟,用于精度不高的时钟设计。
在设计中加入后,转换好的项目中,alta_ufms 需要在 Quartus II 中设为 Design Partition,如下图,然后进行正常编译。
在这里插入图片描述
总的来说,硬件无需过多调试;
软件按上述流程移植,绝大部分情况下均能成功。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/229452.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

机器人纯阻抗控制接触刚性环境

问题描述 在机器人学中,阻抗控制是一种常用的控制策略,用于管理机器人在与环境交互时的运动和力。阻抗控制背后的关键概念是将环境视为导纳,而将机器人视为阻抗。 纯阻抗控制接触刚性环境时,机器人的行为方式主要受其阻抗参数的…

虚拟化之指令的Trap和仿真

有时,虚拟机监控程序需要在虚拟机(VM)中模拟操作。例如,VM内的软件可能尝试配置与功耗管理或缓存一致性相关的低级处理器控件。通常,您不希望将VM直接访问这些控件,因为它们可能被用于突破隔离,或影响系统中的其他VM。 trap在执行给定操作(例如读取寄存器)时引发异常…

二分查找算法

文章目录 二分查找二分的实战讲解二分查找普通二分模版 在排序数组中查找元素的第一个和最后一个位置万能二分模版 总结 二分查找 什么是二分查找:就是定义左右2个指针(此指针非真指针)取中间值 通过一次次取中间值找到要找到的数 二分的实战讲解 二分查找 题目:地址 题目解析…

实现SQL server数据库完整性

1.创建一个数据库名为“erp” 主数据文件:初始容量为5MB,最大容量为50MB,递增量为1MB,其余参数自设。事务日志文件:初始容量为3MB,最大容量为20MB,递增量为10%,其余参数自设。 创建…

Linux下c开发

编程环境 Linux 下的 C 语言程序设计与在其他环境中的 C 程序设计一样, 主要涉及到编辑器、编译链接器、调试器及项目管理工具。编译流程 编辑器 Linux 中最常用的编辑器有 Vi。编译连接器 编译是指源代码转化生成可执行代码的过程。在 Linux 中,最常用…

WMMSE方法的使用笔记

标题很帅 原论文的描述WMMSE的简单应用 无线蜂窝通信系统的预编码设计问题中,经常提到用WMMSE方法设计多用户和速率最大化的预编码,其中最为关键的一步是将原和速率最大化问题转化为均方误差最小化问题,从而将问题由非凸变为关于三个新变量的…

Vue3实现一个拾色器功能

​ <template><div class"color"><button v-if"hasEyeDrop" click"nativePick">点击取色</button><input v-else type"color" input"nativePick" v-model"selectedColor" /><p&…

【学一点儿前端】真机调试本地公众号网页项目

前言 微信公众号网页开发的真机调试一直是很头疼的事情。 原因一 微信公众号配置的JS安全域名只有三个&#xff0c;一个大中型的公众号这三个JS安全域名都是生产的域名&#xff0c;不可能预留域名用于开发和调试。 原因二 在微信里面只有访问正确的安全域名才能调用wx.config用…

Ubuntu 22.04源码安装yasm 1.3.0

sudo lsb_release -r看到操作系统的版本是22.04&#xff0c;sudo uname -r可以看到内核版本是5.15.0-86-generic&#xff0c;sudo gcc --version可以看到版本是11.2.0&#xff0c;sudo make --version可以看到版本是GNU Make 4.3。 下载yasm http://yasm.tortall.net/Downlo…

《Android编程权威指南》之第二个activity源码及挑战

文章目录 前言效果图依赖MainactivityKotlin的“ &#xff1f;”kotlin的符号 QuizViewModelQuestion类CheatActivityonBackPressed()companion CheatViewModelstring.xml 前言 实现禁止一题多答&#xff0c;按题记录作弊状态、偷看次数限制、横竖屏切换依旧保存状态数据 个人…

GeoPandas初体验:它是什么,我用它展示一下shp矢量数据

GeoPandas 是一个开源的 Python 库&#xff0c;用于处理地理空间数据。它扩展了 Pandas 这个流行的 Python 数据操作库&#xff0c;增加了对地理数据类型和操作的支持。GeoPandas 结合了 Pandas、Matplotlib 和 Shapely 的功能&#xff0c;提供了一个易于使用且高效的工具&…

“我要报名”参观双十二外贸电商节,报名方式都在这!

双十二外贸电商节深圳进出口贸易博览会 2023年12月11-12日 深圳福田会展中心 近1万方展览面积 30000专业观众 跨境选品 外贸采购 行业趋势 人才对接 ▼▼▼▼ 展会时间 2023年12月11日-12日 展会地点 深圳福田会展中心 双十二外贸电商节暨2023深圳进出口贸易博览会选…

【SpringCache】快速入门 通俗易懂

1. 介绍 Spring Cache 是一个框架&#xff0c;实现了基于注解的缓存功能&#xff0c;只需要简单地加一个注解&#xff0c;就能实现缓存功能。 Spring Cache 提供了一层抽象&#xff0c;底层可以切换不同的缓存实现&#xff0c;例如&#xff1a; EHCache Caffeine Redis(常用…

云服务器Centos中安装Docker

云服务器Centos中安装Docker 1 简介DockerCentosCentos和Ubuntu区别 2 安装3 测试hello-world的镜像测试 1 简介 Docker Docker是一个开源的应用容器引擎&#xff0c;利用操作系统本身已有的机制和特性&#xff0c;可以实现远超传统虚拟机的轻量级虚拟化。它支持将软件编译成…

Python 日志指南

目录 日志指南 日志基础教程 什么时候使用日志 一个简单的例子 记录日志到文件 从多个模块记录日志 记录变量数据 更改显示消息的格式 在消息中显示日期/时间 后续步骤 进阶日志教程 记录流程 记录器 处理器 格式器 配置日志记录 如果没有提供配置会发生什么 …

python-04(入门基础篇4——lists相关的部分语法)

python-04&#xff08;入门基础篇4——lists相关的部分语法&#xff09; 1. 前言1.1 python入门1.2 参考官网 2. 关于索引和切片3. 在列表追加元素3.1 支持拼接3.2 使用list.append() 方法在列表末尾添加新项 4. 列表是可变类型4.1 更改其中某元素内容4.2 使用切片更改列表大小…

数据结构与算法(六)分支限界法(Java)

目录 一、简介1.1 定义1.2 知识回顾1.3 两种解空间树1.4 三种分支限界法1.5 回溯法与分支线定法对比1.6 使用步骤 二、经典示例&#xff1a;0-1背包问题2.1 题目2.2 分析1&#xff09;暴力枚举2&#xff09;分支限界法 2.3 代码实现1&#xff09;实现广度优先策略遍历2&#xf…

视频批量剪辑方法:AI智剪创新力,批量剪辑新风潮

随着数字媒体技术的不断发展&#xff0c;视频剪辑已经成为日常生活和工作中不可或缺的一部分。然而&#xff0c;对于许多非专业人士来说&#xff0c;视频剪辑仍然是一个相对繁琐和复杂的过程。AI智剪是一种基于人工智能技术的视频批量剪辑方法。它可以通过自动化和智能化的方式…

用23种设计模式打造一个cocos creator的游戏框架----(五)工厂方法模式

1、模式标准 模式名称&#xff1a;工厂方法模式 模式分类&#xff1a;创建型 模式意图&#xff1a;定义一个用于创建对象的接口&#xff0c;让子类决定实例化哪一个类。工厂方法使一个类的实例化延迟到其子类。 结构图&#xff1a; 适用于&#xff1a; 1、当一个类不知道它…

安装以及使用Minio分布式文件系统

简介 MinIO 是一个非常轻量的服务,可以很简单的和其他应用的结合使用&#xff0c;它兼容亚马逊 S3 云存储服务接口&#xff0c;非常适合于存储大容量非结构化的数据&#xff0c;例如图片、视频、日志文件、备份数据和容器/虚拟机镜像等。 它一大特点就是轻量&#xff0c;使用…