时序约束和综合+跨时钟产生的问题+spyglass的使用+SOC设计问题

news/2024/10/19 22:02:02

时序约束和综合

时钟频率

# 时钟单位为ns,2ns对应500M时钟频率
create_clock -period 2 [get ports clk]

skew

# 设置时钟的skew,即上升沿之间的误差,当前设置为0.3ns
set_clock_uncertainty -setup 0.3 [get_clocks CLK]

image

transition

# 设置时钟上升沿的转化时间
set_clock_transition -max 0.15 [get_clocks CLK]

image

latency

# 设置晶振源到时钟输入端的延时
set_clock_latency -max 0.7 [get clocks CLK]

image

input delay

# 0.6的值为电路M的最大时间,从FF1的Q端到到下一个设计的A端口需要的时间
以Ck的上升沿作为计算的起点。
M和N为两块电路,总延时不变的情况下,M给定约束,则综合工具尽可能减少N部分的时间。
set_input_delay -max 0.6 -clock Clk [getports A]

image

output delay

# 给定了外部电路FF4中的T的延时总为0.8。
以CLk作为时钟参考,上升沿开始计算,信号从S到T的的总时间一定,T已知,那么S最大值可由综合工具得出set_output_delay -max 0.8 -clock Clk [getports B]

image

input transition

输入的充电时间,从低电平到高电平需要的时间
set_input_transition 0.12 [get_ports A]

image

set load

# 设置电容负载最大值,当前设定为0.03
set load [expr{30.0/1000}] [get ports B]

image

输出sdc

# 输出sdc
write_sdc xxxx.sdc(新思约束文件信息)
# 输出网表和sdc文件
write -f ddc -hier -output xxxx.ddc(网表和sdc文件信息)
# 输出网表
write -f verilog -hier -output xxxx.gv(网表文件,额外的sdf标准延时文件用于反标到gv文件上,做后仿真)

design_version内的约束和输出设置

如设置线载模型
image
如输出报告
image

综合的等级

编译划分为三个部分,

  1. 架构级别的调整
  2. 级别的优化,即使用什么类型的逻辑单元完成功能,与门还是异或门?
  3. 确定好使用的逻辑单元后,使用什么样的器件完成功能,使用型号1的与门,还是型号2的与门?
    编译有两种方式
compile 预编译,普通编译
compile_ultra 超级编译,尽可能优化

跨时钟产生的问题

手册:SpyGlass® CDC Submethodology (for GuideWare 2.0 xxxx)

亚稳态产生

亚稳态产生的根本原因是建立保持时间不够。设计时不可控的外界因素,则是工艺、温度、电压、电磁波等的影响。

设计问题主要是时钟采样频率、采样位置、复位释放时机等不合适,导致无法满足建立保持时间。缓解亚稳态的方法主要是信号打拍。
image
对于多bit信号,采用握手。
image

Reconvergence问题

在多个bit出现反转的时候,从X4到Y4的信息,可能出现多bit采样时候,无法完全同步得到采样,使用格雷码可以解决问题
https://www.elecfans.com/d/2077894.html
image

数据丢失的问题

从快时钟到慢时钟,传递信息,慢时钟采样的时间短,需要额外增补数据保持的时间,即使用与门,或者或门,增加低电平或高电平的持续时间
image

设计意图产生的问题

在一些需要做出跨时钟的设计意图时候,需要采用fifo或者单bit握手方式,实现握手。

image

复位问题

复位需要异步复位,同步释放。果复位是异步释放,则导致异步的数据送出到各种组合逻辑,而时钟采样这些组合逻辑,容易导致亚稳态。同步复位的设计是使用两级同步实现。
image

CDC典型问题

image

时钟频率切换问题

频率切换使用以下方法,可以安全切换
image

spyglass的使用

使用spyglass提前发现CDC的问题,可以减少返工,提高效率,spyglass还可以检查STA

读入文件和类型

spyglass可以读入的文件类型有很多

read_file -type <type> <file-name>

image

选择要检查的位置,使用外部控制

spyglass -batch project Project-1.prj-goal G1

下述代码选择了第一个选项,即set_parameter fa_modulelist {M1 M2}

set_option top T1current_goal Gl -top T1
set_parameter fa_modulelist {M1 M2}current_goal G1 -top T2
set_parameter fa_modulelist {M3 M4}current_goal G1 -alltop
set_parameter fa_modulelistk {Ml M2 M3 M4}

spyglass cdc工具功能

SpyGlass® Constraints Submethodology (for GuideWare 2.0 and 2015.12) 手册
image

SOC设计问题

设计重点

SOC设计的三个重点内容:时钟、接口、复位。称为CIR文件。

DFT功能

SOC有正常工作状态和DFT工作状态。DFT主要用于硅后的检查,良率控制。
DFT对逻辑门的开路和短路进行检查,通过PinMux外部的PAD切换工作状态。
最优的DFT/BIST策略保证产品测试错误覆盖率最大,测试时间最短
image

MBIST

内存内置的自检电路,是DFT的一种实现实例,用于检查内存是否正确。检查错误时立马退出,送出fail信号。
image
March算法是一种较为高效的内存检查算法,其步骤存在变体,一种情况如下:
image

PIN和PAD

PIN是内部的芯片送出信号,外部到PCB板上是PAD
image

FloorPlan

用于规划各个模块的位置
image

电源分布

物理设计部分
image

Layout版图

送入芯片生产前的最后步骤
image

SRAM的大小含义

比如大小为8K*8,则其深度为8K,宽度为8bit。划分为两个bank,每个bank独立的选通信号,一个bank最终的大小是8K*32,。
image

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

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

相关文章

java锁的问题速通

1.syncronized底层原理——悲观锁 synchronized有对象锁和类锁两种,多个线程中只有一个线程可以获取对象锁,其他线程都会处于阻塞状态 synchronized是底层是基于monitor实现的。monitor是C++编写的jvm对象,主要分为owner(这个只会存一个线程的信息,记录当前锁被哪个线程获…

PbootCMS登录请求发生错误

PbootCMS登录请求发生错误排查步骤删除runtime目录进入PbootCMS的根目录。 找到并删除runtime目录。 刷新页面后重新尝试登录。检查会话文件存储目录的写入权限确认data/session目录存在且具有写入权限。 可以通过FTP或服务器管理工具检查和修改目录权限,确保Web服务器用户(如…

征程 6E DISPLAY 功能介绍及上手实践

01 功能概述 本文将带大家一起实现单路、多路 MIPI CSI TX 输出、IDU 回写、IDU oneshot 模式、绑定输出 VPS 数据等功能,此处主要介绍各 sample 的实现与使用方法。 02 软件架构说明 本文中绑定 VPS 输出功能基于 libvio API 实现,调用 libvio 提供的 API,同时通过配置文件…

The 2022 ICPC Asia Nanjing Regional Contest IGDA,和令人疑惑的M

The 2022 ICPC Asia Nanjing Regional Contest IGDA,和令人疑惑的MI - 完美回文 题意 把单词改成一串相同的字母,最小修改次数 思路 把所有字母改成这个单词中出现次数最多的字母 代码 #include <bits/stdc++.h> using namespace std;void solve() {string s;map<cha…

fastStone Capture截图神器,你想要的功能它都有!

前言 大家好,我是小徐啊。从今天开始,小徐将介绍很多Java开发领域相关的软件工具资源,欢迎大家关注。今天,介绍一款非常小巧,但功能十分强大的图片软件,fastStone Capture。这款工具,主要是图片的截图,编辑,以及屏幕录屏等功能,可以说非常强大了。文末附获取方式。 安…

低功耗4G模组:LCD应用示例

​ 今天我们学习合宙Air780E开发板LCD应用示例,文末【阅读原文】获取最新资料。本文档适用于Air780E开发板关联文档和使用工具lcd-demo: https://gitee.com/openLuat/LuatOS/tree/master/demo/lcdLuatools下载调试工具一、环境准备 1.1 Air780E开发板一套​1.2 屏幕一个 这里…

告别繁琐的云平台开发!IoT_CLOUD之【百度云】

​ 众所周知,市面上有很多云平台,阿里云、腾讯云、中移OneNET、华为云、百度云、涂鸦云、Tlink云等等......并且每家云平台都有自己的协议,工程师要移植不同的SDK代码或基于各家的手册文档对接不同的协议,看着都头大!!! 为解决繁琐的云平台开发困扰,合宙IoT_CLOUD应运而…

低功耗4G模组Air780E快速入门:使用文件系统存储温湿度数据

​ 伙伴们,今天我们来学习合宙低功耗4G模组Air780E快速入门之使用文件系统存储温湿度数据。 一、编写脚本 1.1 准备资料 780E开发板购买链接 780E开发板设计资料 LuatOS-Air780E-文件系统的使用-程序源码demo 合宙的TCP/UDP测试服务器 API使用介绍 780E开发板和DHT11​1.2 程序…