Xilinx FPGA——ISE的UCF时序约束

        时序约束是我们对FPGA设计的要求和期望,例如,我们希望FPGA设计可以工作在多快的时钟频率下等等。

        设计是要求系统中的每一个时钟都进行时序约束

一、分组约束语法(NET、PIN、INST)

        TNM是最基本的分组约束语法,其语法定义如下:

        {NET|INST|PIN} "net_or_pin_or_inst_name" TNM = [predefined_group] identifier;

        可见,TNM的定义起始关键字可以有三种——NET(网络)、INST(实例)、PIN(端口)。

  • INST关键字用来指明一个实例,为后续该分组的搜索限制了一个范围;
  • PIN指的是端口,指明具体某个原语的管脚。
  • NET关键字用来指明网络分组,该分组约束会自动包含"net_or_pin_or_inst_name"名称中指定的那个网络名下游所连接的所有元素。

        predefined_group是一个可选的参数,不写明的时候,该分组包含所有可包含的元素;若注明,则该分组只包含[predefined_group]类的元素。针对ISE软件来说,预先定义好的分组大概有以下这些:FFS:触发器组;RAMs:存储器组;LATCHES:锁存器组;PADS:焊盘组;CPUS:处理器组;HSIOS:高速IO组;MULTS:乘法器组。

        最后identifier指明了该分组的名称,以供后续语法在调用该分组时使用。

二、分组时序约束(TNM_NET)

        TNM_NET也是一个基本的分组约束语法,其语法定义如下:

        {NET|INST} "net_name" TNM_NET = [predefined_group] identifier;

        TNM_NET分组定义语法几乎与TNM是一样的,除了两个区别:

  1. TNM_NET只能根据网络来定义分组
  2. TNM_NET指明的网络名在选择分组成员时,可以穿过IBUF、BUFG这样的原语去往下游扩散,而TNM则不行。因此,通常用TNM_NET来为FPGA芯片的焊盘部分指定分组。

三、输入时钟周期约束(TIMESPEC

       要对一个被输入时钟所驱动时钟域进行时序分析,需要先定义一个需要被分析的分组,然后再使用TIMESPEC语法指定并命名一个周期约束,例如: 

        NET “clk50MHz” TNM_NET = “clkIn”;

        TIMESPEC “TS_clkIn” = PERIOD “clkIn” 20.0 ns HIGH 50%;

        上例中的第一句分组约束,将所有clk50MHz端口网络所连接的元素全部加入到clkIn分组中。而第二句话则指明该时钟域的时钟信息,表示定义了一个名为TS_clkIn的周期约束,其内容为针对clkIN时序分组,添加了一个周期为20ns、起始电平为高电平、占空比为50%的周期约束。

        还可以直接指定时钟的频率,如下:

NET "sys_clk" TNM_NET = "sys_clk_pin";							
TIMESPEC TS_sys_clk_pin = PERIOD "sys_clk_pin" 50000 KHz;
NET "sys_clk" CLOCK_DEDICATED_ROUTE = FALSE;//NET		 	定义一个端口
//TNM_NET 	将使用 sys_clk 时钟的组件 分配到一个组中	
//TIMESPEC	约束周期、第一次出现的边沿、占空比

       

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

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

相关文章

【小布_ORACLE笔记】Part11-5 RMAN Backups

【小布_ORACLE笔记】Part11-5 RMAN Backups 文章目录 【小布_ORACLE笔记】Part11-5 RMAN Backups1. 增量备份(Incremental Backups)1.1差异增量备份(Differential Incremental Backup)1.2累积增量备份(Cumulative Incremental Bac…

C#WPF本地化语言实例

本文演示C#WPF中使用.resx资源文件本地化语言实例 一、更改默认Resources.resx 文件 在解决方案资源管理器中,您将在“属性”文件夹下看到 Resources.resx 文件。将访问修饰符从内部更改为公共,以便可以在 XAML 文件中访问它。 二、创建新资源文件 默认情况下,程序使用默…

uniapp如何与原生应用进行混合开发?

目录 前言 1.集成Uniapp 2.与原生应用进行通信 3.实现原生功能 4.使用原生UI组件 结论: 前言 随着移动应用市场的不断发展,使用原生开发的应用已经不能满足用户的需求,而混合开发成为了越来越流行的选择。其中,Uniapp作为一种跨平台的开…

【开源视频联动物联网平台】写一个物联网项目捐献给Dromara组织

一、平台简介 MzMedia开源视频联动物联网平台,简单易用,更适合中小企业和个人学习使用。适用于智能家居、农业监测、水利监测、工业控制,车联网,监控直播,慢直播等场景。 支持抖音,视频号等主流短视频平台…

Linux 磁盘分区处理

最近实施过程中遇到客户提供给我们的服务器操作系统和Docke容器环境都已经安装完成,但磁盘的分区没有进行整理好。磁盘总共270G,系统安装分配了60G,剩余未创建分配需要处理。由于分区情况每家不一样,但大致流程都是相同的&#xf…

[论文阅读]VoxSet——Voxel Set Transformer

VoxSet Voxel Set Transformer: A Set-to-Set Approach to 3D Object Detection from Point Clouds 论文网址:VoxSet 论文代码:VoxSet 简读论文 这篇论文提出了一个称为Voxel Set Transformer(VoxSeT)的3D目标检测模型,主要有以下几个亮点: 提出了基于…

QML学习一、GridView的使用和增加添加动画、删除动画

一、效果预览 二、源码分享 import QtQuick import QtQuick.ControlsApplicationWindow {visible: truewidth: 640height: 480title: "Test"property int cnt:cnt model.countListModel{id:modelListElement{index:0}ListElement{index:1}ListElement{index:2}List…

Docker 使用心得

创建一个docker 镜像,相关运行代码,放在docker镜像文件同级, pm2 不能与 docker一起使用() # node 服务docker FROM node:10.16.3LABEL author"sj"RUN mkdir -p /var/nodeCOPY ./node /var/nodeWORKDIR /va…

java_springboot企业人事考勤请假管理信息系统rsglxx+jsp

(1)熟练掌握Java开发的原理和方法 (2)熟练学习掌握SSM框架 (3)熟悉软件开发的流程 (4)了解中内外互联网中所主流的技术 (5)深层次的了解计算机学科领域的知识…

CCS中静态库lib的生成与调用

在调试DSP设备的时候,发现好多工程会把比较核心的代码生成静态库lib,代码运行的时候直接调用lib里面的相关函数就行。但是从外部是看不到lib库里面的内容的,这样通过静态库的方式实现对代码的加密。 在网上找了好久如何将函数生成静态库*.lib…

Mybatis 的简单运用介绍

Mybatis 用于操作数据库 操作数据库肯定需要: 1.SQL语句 2.数据库对象和 java 对象的映射 接下来我们看看怎么使用 Mybatis 我们先搞一些数据库内容 然后将其这些内容和Java对象进行映射 再创建一个类实现 select * from 再写一个类证明上述代码是否可以实现 别忘了在appli…

unity学习笔记13

一、常用物理关节 Unity中的物理关节(Physics Joints)是用于在游戏中模拟和控制物体之间的连接。物理关节允许你在对象之间应用各种约束,例如旋转、移动或固定连接,以模拟真实世界中的物理交互。 物理关节类型: 1.F…

C 语言-数组

1. 数组 1.1 引入 需求:记录班级10个学员的成绩 需要定义10个变量存在的问题:变量名起名困难变量管理困难需求:记录班级1000个学员的成绩 1.2 概念 作用:容纳 数据类型相同 的多个数据的容器 。 特点: 长度不可变容纳 数据类型…

Django 用户验证与权限管理详解

概要 Django是一款强大且灵活的Python Web框架,不仅在构建功能复杂的网站应用中表现出色,还在诸如用户验证、权限管理等细微之处提供了优秀的解决方案。在多用户、权限复杂的Web应用中,认证和权限管理尤其重要。接下来,我们就来探…

数据之美:数据可视化的力量与必要性

在当今信息爆炸的时代,数据量呈指数级增长,它们是我们日常生活和工作中的重要组成部分。然而,数据本身是无生命的数字和统计,若不能有效地被理解、传达和利用,其潜力就难以实现。这正是数据可视化变得越来越重要的原因…

深入了解Java8新特性-日期时间API之ChronoUnit、ChronoField

阅读建议 嗨,伙计!刷到这篇文章咱们就是有缘人,在阅读这篇文章前我有一些建议: 本篇文章大概3000多字,预计阅读时间长需要5分钟。本篇文章的实战性、理论性较强,是一篇质量分数较高的技术干货文章&#x…

基于gitlab的webhook集成jenkins,并在gitlab流水线中展示jenkins的job状态信息

文章目录 1. 环境信息2. gitlab 部署3. jenkins部署4. gitlab集成jenkins4.1 jenkins的凭据上保存gitlab的账号信息4.2 jenkins中配置gitlab的连接信息4.3 编写jenkins上pipeline文件4.4 jenkins上创建pipeline项目4.5 gitlab上配置webhooks事件4.6 测试 1. 环境信息 gitlab服…

LangChain 16 通过Memory记住历史对话的内容

LangChain系列文章 LangChain 实现给动物取名字,LangChain 2模块化prompt template并用streamlit生成网站 实现给动物取名字LangChain 3使用Agent访问Wikipedia和llm-math计算狗的平均年龄LangChain 4用向量数据库Faiss存储,读取YouTube的视频文本搜索I…

Windows系列:windows2003-建立域

windows2003-建立域 Active Directory建立DNS建立域查看日志xp 加入域 Active Directory 活动目录是一个包括文件、打印机、应用程序、服务器、域、用户账户等对象的数据库。 常见概念:对象、属性、容器 域组件(Domain Component,DC&#x…

snat与dnat

一.SNAT的原理介绍 1.应用环境 局域网主机共享单个公网IP地址接入Internet (私有IP不能在Internet中正常路由) 2.SNAT原理 源地址转换,根据指定条件修改数据包的源IP地址,通常被叫做源映谢 数据包从内网发送到公网时&#xf…