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,如下图,然后进行正常编译。
总的来说,硬件无需过多调试;
软件按上述流程移植,绝大部分情况下均能成功。
相关文章:

AGM CPLD 应用指南
AGM的部分料号跟Altera 硬件Pin to Pin兼容,映射关系表如下: EPM240T100CxN—>AG256SL100(CPLD) EPM240T100IxN---->AG256SL100(CPLD) EPM570T100CxN—>AG576SL100(CPLD) EPM570T100IxN---->AG576SL100(CPLD) EPM570T144CxN—>AG576SL144…...
(1)词法分析器
简单来说就是写一个函数,这个函数的输入是文字流,我们要把这个文字流的标签搞出来 比如某种语言标签如下 enum Token {tok_eof -1,// commandstok_def -2,tok_extern -3,// primarytok_identifier -4,tok_number -5, }; 然后词法分析器相当于一个…...

丢掉破解版,官方免费了!!!
哈喽!大家好。 几天不见,今天给大家带来一款海外的神器,官方宣布完全免费,但仅限于个人与教育用途,切勿商用噢! 不要看这个软件名字普普通通,实际上内蕴乾坤! 接下来看我给大家炫一…...
Termux
touch myfile.txt termux-setup-storage 访问手机文件 参考地址 apt update apt upgrade 命令参考链接...

yolo目标检测+目标跟踪+车辆计数+车辆分割+车道线变更检测+速度估计
这个项目使用YOLO进行车辆检测,使用SORT(简单在线实时跟踪器)进行车辆跟踪。该项目实现了以下任务: 车辆计数车道分割车道变更检测速度估计将所有这些详细信息转储到CSV文件中 车辆计数是指在道路上安装相应设备,通过…...
基于Java酒店管理系统
基于Java酒店管理系统 功能需求 1、客房管理:系统需要提供客房的信息管理功能,包括客房的类型、数量、价格、状态(如空闲、已预订、已入住等)等信息。此外,系统还应支持对客房信息的修改和查询操作。 2、预订管理&a…...

GoLong的学习之路,进阶,微服务之原理,RPC
其实我早就很想写这篇文章了,RPC是一切现代计算机应用中非常重要的思想。也是微服务和分布式的总体设计思想。只能说是非常中要,远的不说,就说进的这个是面试必问的。不管用的上不,但是就是非常重要。 文章目录 RPC的原理本地调用…...
vLLM介绍
简介 vLLM 工程github地址 Paged attention论文地址 vLLM开发者介绍 Woosuk Kwon vLLM: A high-throughput and memory-efficient inference and serving engine for LLMs. SkyPilot: A framework for easily and cost effectively running machine learning workloads on …...

DevOps搭建(一)-之swappiness安装详细步骤
1、安装swappiness yum install procps 修改配置 vim /etc/sysctl.conf 在配置文件中添加参数 vm.swappiness10 使生效 sysctl -p 如何确认swap分区是否开启 # free -mtotal used free shared buff/cache available Mem: 971 …...

微软发布Orca2,“调教式”教会小规模大语言模型如何推理!
我们都知道在大多数情况下,语言模型的体量和其推理能力之间存在着正相关的关系:模型越大,其处理复杂任务的能力往往越强。 然而,这并不意味着小型模型就永远无法展现出色的推理性能。最近,奶茶发现了微软的Orca2公开了…...

JVM 内存回收算法
文章目录 JVM 内存回收算法有哪些:一、分代收集1.分代收集理论2.垃圾收集 二、垃圾收集算法1. 标记-清除算法2. 复制算法3. 标记-整理算法 JVM就是Java虚拟机,JVM的内回收对其原理的认识也是很有必要的,当底层的系统出现内存溢出或者内存泄漏…...

11.28~11.29基本二叉树的性质、定义、复习;排序算法;堆
完全二叉树(Complete Binary Tree)是一种特殊的二叉树结构,它具有以下特点: 所有的叶子节点都集中在树的最后两层;最后一层的叶子节点都靠左排列;除了最后一层,其他层的节点数都达到最大值。 …...

轮播插件Slick.js使用方法详解
相比于Swiper而选择使用Slick.js的原因主要是因为其兼容不错并且在手机端的滑动效果更顺畅 参数: 1.基本使用:一般使用只需前十个属性 $(.box ul).slick({autoplay: true, //是否自动播放pauseOnHover: false, //鼠标悬停暂停自动播放speed: 1500, //…...

postgresql pg_hba.conf 配置详解
配置文件之pg_hba.conf介绍 该文件用于控制访问安全性,管理客户端对于PostgreSQL服务器的访问权限,内容包括:允许哪些用户连接到哪个数据库,允许哪些IP或者哪个网段的IP连接到本服务器,以及指定连接时使用的身份验证模…...

使用粗糙贴图制作粗纹皮革手提包3D模型
在线工具推荐: 3D数字孪生场景编辑器 - GLTF/GLB材质纹理编辑器 - 3D模型在线转换 - Three.js AI自动纹理开发包 - YOLO 虚幻合成数据生成器 - 三维模型预览图生成器 - 3D模型语义搜索引擎 当谈到游戏角色的3D模型风格时,有几种不同的风格…...

Chrome清除特定网站的Cookie,从而让网址能正常运行(例如GPT)
Chrome在使用某些网址的时候,例如GPT的时候,可能会出现无法访问这个网址的情况,就是点不动啥的 只需要把你需要重置的网址删除就好了...
history路由解决刷新出现404的问题
本文具体重点介绍怎么解决浏览器路由(history模式)解决404的问题。 在项目打包上线时,如果采用的是哈希模式,不会出现404,原因是 url 中 # 号后面的内容不会发给后端当作资源路径请求服务器。 具体流程(哈…...

ubuntu22下使用nvidia 2080T显卡部署pytorch
1.直接到NVIDA官网下载相应的驱动,然后安装官方驱动 | NVIDIA 2.下载相应版本cuda,并安装,安装时不安装驱动 3.conda install pytorch2.1.0 torchvision0.16.0 torchaudio2.1.0 pytorch-cuda12.1 -c pytorch -c nvidia 安装pytorch。 安装…...
【Spark基础】-- 理解 Spark shuffle
目录 前言 1、什么是 Spark shuffle? 2、Spark 的三种 shuffle 实现 3、参考 前言 以前,Spark 有3种不同类型的 shuffle 实现。每种实现方式都有他们自己的优缺点。在我们理解 Spark shuffle 之前,需要先熟悉 Spark 的 execution model 和一些基础概念,如:MapReduce、…...

软件测试入门:静态测试
什么是静态测试 顾名思义,这里的静态是指程序的状态,即在不执行代码的情况下检查软件应用程序中的缺陷。进行静态测试是为了仅早在开发的早期阶段发现程序缺陷,因为这样可以更快速地识别缺陷并低成本解决缺陷,它还有助于查找动态测…...

shell脚本--常见案例
1、自动备份文件或目录 2、批量重命名文件 3、查找并删除指定名称的文件: 4、批量删除文件 5、查找并替换文件内容 6、批量创建文件 7、创建文件夹并移动文件 8、在文件夹中查找文件...
Admin.Net中的消息通信SignalR解释
定义集线器接口 IOnlineUserHub public interface IOnlineUserHub {/// 在线用户列表Task OnlineUserList(OnlineUserList context);/// 强制下线Task ForceOffline(object context);/// 发布站内消息Task PublicNotice(SysNotice context);/// 接收消息Task ReceiveMessage(…...
在rocky linux 9.5上在线安装 docker
前面是指南,后面是日志 sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo sudo dnf install docker-ce docker-ce-cli containerd.io -y docker version sudo systemctl start docker sudo systemctl status docker …...

九天毕昇深度学习平台 | 如何安装库?
pip install 库名 -i https://pypi.tuna.tsinghua.edu.cn/simple --user 举个例子: 报错 ModuleNotFoundError: No module named torch 那么我需要安装 torch pip install torch -i https://pypi.tuna.tsinghua.edu.cn/simple --user pip install 库名&#x…...

处理vxe-table 表尾数据是单独一个接口,表格tableData数据更新后,需要点击两下,表尾才是正确的
修改bug思路: 分别把 tabledata 和 表尾相关数据 console.log() 发现 更新数据先后顺序不对 settimeout延迟查询表格接口 ——测试可行 升级↑:async await 等接口返回后再开始下一个接口查询 ________________________________________________________…...
作为测试我们应该关注redis哪些方面
1、功能测试 数据结构操作:验证字符串、列表、哈希、集合和有序的基本操作是否正确 持久化:测试aof和aof持久化机制,确保数据在开启后正确恢复。 事务:检查事务的原子性和回滚机制。 发布订阅:确保消息正确传递。 2、性…...

给网站添加live2d看板娘
给网站添加live2d看板娘 参考文献: stevenjoezhang/live2d-widget: 把萌萌哒的看板娘抱回家 (ノ≧∇≦)ノ | Live2D widget for web platformEikanya/Live2d-model: Live2d model collectionzenghongtu/live2d-model-assets 前言 网站环境如下,文章也主…...
云原生周刊:k0s 成为 CNCF 沙箱项目
开源项目推荐 HAMi HAMi(原名 k8s‑vGPU‑scheduler)是一款 CNCF Sandbox 级别的开源 K8s 中间件,通过虚拟化 GPU/NPU 等异构设备并支持内存、计算核心时间片隔离及共享调度,为容器提供统一接口,实现细粒度资源配额…...
区块链技术概述
区块链技术是一种去中心化、分布式账本技术,通过密码学、共识机制和智能合约等核心组件,实现数据不可篡改、透明可追溯的系统。 一、核心技术 1. 去中心化 特点:数据存储在网络中的多个节点(计算机),而非…...
CppCon 2015 学习:REFLECTION TECHNIQUES IN C++
关于 Reflection(反射) 这个概念,总结一下: Reflection(反射)是什么? 反射是对类型的自我检查能力(Introspection) 可以查看类的成员变量、成员函数等信息。反射允许枚…...