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

【EDA软件】【设计约束和分析操作方法】

1. 设计约束

设计约束主要分为物理约束和时序约束。

物理约束主要包括I/O接口约束(如引脚分配、电平标准设定等物理属性的约束)、布局约束、布线约束以及配置约束。

时序约束是FPGA内部的各种逻辑或走线的延时,反应系统的频率和速度的约束。

2. 物理约束

在Vivado中,物理约束通常是在*_pins.xdc文件实现,这也是推荐的使用方法。

FUXI软件有专用的IO GUI界面,暂不支持手动编译。点击IO Editor,如下图所示。

注意:和Vivado类似,需要先完成Systhesize。

软件会打开*.aoc文件,根据硬件设计选择Pin Name,IO Standard等。

*.aoc文件内容:

<?xml version="1.0" encoding="UTF-8"?>
<aoc version="2.3" device="P2P50N0V324-M4H1C7"><ioConstraint><IO signal_name="sys_osc_clk" pad_name="io16_dmux5_clk0" location="IO16_GCLK0_0" pin_no="L4" inst_name="io_sys_osc_clk_inst" direction="input" operation_mode="clock"/><IO signal_name="sys_rst_n" pad_name="io30_busyout" location="IO30_BUSYOUT_0" pin_no="R1" inst_name="io_sys_rst_n_inst" direction="input" operation_mode="normal"/><IO signal_name="uart0_rx" pad_name="io32_lcsn" location="IO32_LCSN_0" pin_no="R2" inst_name="io_uart0_rx_inst" direction="input" operation_mode="normal"/><IO signal_name="uart0_tx" pad_name="io36_d6_dmux10" location="IO36_D6_0" pin_no="V2" inst_name="io_uart0_tx_inst" direction="output" operation_mode="normal"/></ioConstraint>
</aoc>

3. 时序约束

在Vivado中,物理约束通常是在*_timing.xdc文件实现,这也是推荐的使用方法。

FUXI软件有专用的Timing Contrains GUI界面,不推荐手动编译。点击Timing Contrains Editor,如下图所示。

从上图可以看到,已经包含业界常使用的约束命令。

*.sdc文件内容:

create_clock -period 50 -name {sys_osc_clk} [get_ports {sys_osc_clk}]
create_clock -period 10 -name {u_pll_v1_pll_u0/CO0} [get_pins {u_pll_v1_pll_u0/CO0}]
create_clock -period 5 -name {u_pll_v1_pll_u0/CO1} [get_pins {u_pll_v1_pll_u0/CO1}]
set_false_path -from [get_clocks {sys_osc_clk}] -to [get_clocks {u_pll_v1_pll_u0/CO0}]
set_false_path -from [get_clocks {sys_osc_clk}] -to [get_clocks {u_pll_v1_pll_u0/CO1}]
set_false_path -from [get_clocks {u_pll_v1_pll_u0/CO0}] -to [get_clocks {sys_osc_clk}]
set_false_path -from [get_clocks {u_pll_v1_pll_u0/CO1}] -to [get_clocks {sys_osc_clk}]

4. 时序分析

先运行Run Timing,完成后点击Timing Analysis分析时序报告。

小结:

时序约束通常可以分为以下4个主要步骤:

始终约束(Create Clock)->输入/输出接口约束(Input/Output Delay,I/O约束)、时钟分组和跨时钟约束(Clock Group and CDC)、时钟例外约束(Timing Exceptions)。

注意:必选要正确的梳理时钟树。

相关文章:

  • ai学习中收藏网址【1】
  • Python学习之Seaborn
  • Redis 的持久化机制(RDB, AOF)对微服务的数据一致性和恢复性有何影响?如何选择?
  • CiteULike 数据集介绍与下载指南
  • docker底层原理
  • 使用Redis5.X部署一个集群
  • FPGA——基于DE2_115实现DDS信号发生器
  • 2024期刊综述论文 Knowledge Graphs and Semantic Web Tools in Cyber Threat Intelligence
  • 2025.04.19【Spider】| 蜘蛛图绘制技巧精解
  • TDOA解算——牛顿迭代法|以4个基站的三维空间下TDOA定位为背景,使用牛顿迭代法解算。附完整代码,订阅专栏后可复制粘贴
  • XSS跨站脚本攻击漏洞
  • 哈希表简介
  • 1. 认识DartGoogle为Flutter选择了Dart语言已经是既
  • 行为审计软件:企业合规与内部监控的数字守门人
  • Spring AI 开发 - 快速入门
  • music21:伍佰 泪桥 MIDI 音乐分析
  • 计算机网络——常见的网络攻击手段
  • 【JDBC-54.5】JDBC批处理插入数据:大幅提升数据库操作性能
  • linux socket编程之udp(实现客户端和服务端消息的发送和接收)
  • Android 下拉栏中的禁用摄像头和麦克风隐藏
  • 秦洪看盘|A股缩量窄幅震荡,短线或延续有韧性、无弹性走势
  • 王毅、董军将主持召开中印尼外长防长“2+2”对话机制首次部长级会议
  • 一镇一链、一园一策,上海闵行发布重点产业区镇协同产业地图
  • 突然手抖心慌?低血糖的“死亡连锁反应”,3步急救法必看
  • 浙江、安徽公布一季度外贸数据,出口增速均达到两位数
  • 遇见古籍里的先贤,山西博物院“晋国垂棘”明日开展