当前位置: 首页 > news >正文

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模型风格时,有几种不同的风格&#xf…...

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、…...

软件测试入门:静态测试

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

使用VSCode开发Django指南

使用VSCode开发Django指南 一、概述 Django 是一个高级 Python 框架,专为快速、安全和可扩展的 Web 开发而设计。Django 包含对 URL 路由、页面模板和数据处理的丰富支持。 本文将创建一个简单的 Django 应用,其中包含三个使用通用基本模板的页面。在此…...

脑机新手指南(八):OpenBCI_GUI:从环境搭建到数据可视化(下)

一、数据处理与分析实战 (一)实时滤波与参数调整 基础滤波操作 60Hz 工频滤波:勾选界面右侧 “60Hz” 复选框,可有效抑制电网干扰(适用于北美地区,欧洲用户可调整为 50Hz)。 平滑处理&…...

前端倒计时误差!

提示:记录工作中遇到的需求及解决办法 文章目录 前言一、误差从何而来?二、五大解决方案1. 动态校准法(基础版)2. Web Worker 计时3. 服务器时间同步4. Performance API 高精度计时5. 页面可见性API优化三、生产环境最佳实践四、终极解决方案架构前言 前几天听说公司某个项…...

学习STC51单片机32(芯片为STC89C52RCRC)OLED显示屏2

每日一言 今天的每一份坚持,都是在为未来积攒底气。 案例:OLED显示一个A 这边观察到一个点,怎么雪花了就是都是乱七八糟的占满了屏幕。。 解释 : 如果代码里信号切换太快(比如 SDA 刚变,SCL 立刻变&#…...

Linux C语言网络编程详细入门教程:如何一步步实现TCP服务端与客户端通信

文章目录 Linux C语言网络编程详细入门教程:如何一步步实现TCP服务端与客户端通信前言一、网络通信基础概念二、服务端与客户端的完整流程图解三、每一步的详细讲解和代码示例1. 创建Socket(服务端和客户端都要)2. 绑定本地地址和端口&#x…...

基于TurtleBot3在Gazebo地图实现机器人远程控制

1. TurtleBot3环境配置 # 下载TurtleBot3核心包 mkdir -p ~/catkin_ws/src cd ~/catkin_ws/src git clone -b noetic-devel https://github.com/ROBOTIS-GIT/turtlebot3.git git clone -b noetic https://github.com/ROBOTIS-GIT/turtlebot3_msgs.git git clone -b noetic-dev…...

LINUX 69 FTP 客服管理系统 man 5 /etc/vsftpd/vsftpd.conf

FTP 客服管理系统 实现kefu123登录,不允许匿名访问,kefu只能访问/data/kefu目录,不能查看其他目录 创建账号密码 useradd kefu echo 123|passwd -stdin kefu [rootcode caozx26420]# echo 123|passwd --stdin kefu 更改用户 kefu 的密码…...

怎么让Comfyui导出的图像不包含工作流信息,

为了数据安全,让Comfyui导出的图像不包含工作流信息,导出的图像就不会拖到comfyui中加载出来工作流。 ComfyUI的目录下node.py 直接移除 pnginfo(推荐)​​ 在 save_images 方法中,​​删除或注释掉所有与 metadata …...

鸿蒙(HarmonyOS5)实现跳一跳小游戏

下面我将介绍如何使用鸿蒙的ArkUI框架,实现一个简单的跳一跳小游戏。 1. 项目结构 src/main/ets/ ├── MainAbility │ ├── pages │ │ ├── Index.ets // 主页面 │ │ └── GamePage.ets // 游戏页面 │ └── model │ …...

在RK3588上搭建ROS1环境:创建节点与数据可视化实战指南

在RK3588上搭建ROS1环境:创建节点与数据可视化实战指南 背景介绍完整操作步骤1. 创建Docker容器环境2. 验证GUI显示功能3. 安装ROS Noetic4. 配置环境变量5. 创建ROS节点(小球运动模拟)6. 配置RVIZ默认视图7. 创建启动脚本8. 运行可视化系统效果展示与交互技术解析ROS节点通…...