serdes是 IP中间比较大的复杂的一个。集成前需要进行准备工作,千万不要一上来就写代码,这样非容易越写越差,先要做好规划,与合入计划。

1.收到IP材料后,第一时间检查内容都有哪些资料可以学习,使用。

2.重点学习数据手册或用户手册或集成手册,先了解内部模块框图,再看接口信号描述,资源要求比如RAM、FIFO的规格,地址空间,总线配置位宽范围,时钟频率等。

看下top层代码是否和手册有出入。

3.写详细设计方案和时钟复位框图。需要包括以下内容:

  • 项目需求规格尤其速率,并口位宽,输入差分时钟频率,功耗,插损范围。
  • harden划分与示意图
  • IP差分时钟级联示意图
  • 时钟与复位设计方案
  • 内部子模块设计说明
  • 总线划分地址仲裁说明(总线转换需求)
  • RAM/ROM规格说明
  • IP内部地址范围
  • PAD需求使用说明
  • JTAG口连接关系
  • ATE IP TEST方案

4.开始代码设计与寄存器表格填写生成。

申请RAM资源:是否有特殊需求,比如超大RAM,大于8K的就算超大RAM。电源是否和数字CORE是否一致,如果不一样要通知后端联系采购或者联系厂家提供准备;是否有字节使能功能;是否有ECC/PARITY校验需求;读写延时需求;大于1K的必须用RAM库,小于1K的可以用REG搭建。

建议先写整体的从顶层到底层的模块名称例化。

然后用IP包一层需要的PHY,尽量提供复用律,能一个PHY解决所有harden的需求。

复位同步处理,到对应的时钟。

输入输出top的信号必须加打拍模块,尤其是并口数据到PCS的至少打3拍(500MHZ以上的),其他的状态信号打1拍就可以。

DFT先不要连接,等DFT的正式方案出来后再连接,因为DFT方案也在反复的调整,提前连接会导致反复的无效修改。

用PHY再去和集成top连接,top 外再单独加一层甚至两层,可以用来做Lever shift以及整体打拍fed.

电源管脚不要例化出来,后端会自行处理。

PAD用或者不用全都拉到top层。

最后做整体集成连接,VCS编译,nlint检查。

然后增加ATE 测试的相关test mode,rst,en,GPIO等信号。

提交DC LINK,检查代码规范,信号跨时钟处理。

5.提交验证进行通流测试,用IP 的testbech配置,搭建UVM测试PRBS。先保证同流,然后检查输出的各种rdy,lock,valid信号是否有效。

6.综合 SDC确认,综合log 告警消除分析。给后端设计进行时钟频率,数据流介绍。根据后端要求进行处理优化。

7.预留管脚,接口的输入输出信号预留一定数量的bit,用于100%后的临时增加信号只在和harden内部进行修改。寄存器需要预留5+5个输入输出寄存器,防止后续ECO时需要临时增加寄存器。

8.准备前端设计的接口信号和对接模块,chip top 进行评审;准备IP接口信号设计用法处理材料与厂家预约会议进行讲解review,发现问题及时修改。

serdes集成流程前端的更多相关文章

  1. 基于JavaScript google map集成流程

    google地图集成流程 一.获取Google Map API密钥 1.进入Google官网 => https://www.google.com.hk/ ,申请一个谷歌账号(如果没有)然后访问下 ...

  2. 我在阿里这仨月 前端开发流程 前端进阶的思考 延伸学习的方式很简单:google 一个关键词你能看到十几篇优秀的博文,再这些博文中寻找新的关键字,直到整个大知识点得到突破

    我在阿里这仨月 Alibaba 试用期是三个月,转眼三个月过去了,也到了转正述职的时间.回想这三个月做过的事情,很多很杂,但还是有重点. 本文谈一谈工作中遇到的各种场景,需要用到的一些前端知识,以及我 ...

  3. iOS Sonar 集成流程

    https://gold.xitu.io/entry/5781e6872e958a0054c93368 作者:advancer_chen,原文链接:http://my.oschina.net/Chen ...

  4. JFinal Web开发学习(八)后台集成H-ui-admin前端框架

    h-ui-admin是一个很不错的前端框架h-ui实现的一个后台管理系统的前端. 1.在WebRoot目录下新建admin目录 2.下载h-ui-admin(当前最新是2.5版本)并解压至admin文 ...

  5. 使用Jenkins来实现内部的持续集成流程(上)

    前言 Jenkins和TeamCity都是大杀器,用于搭建内部持续集成环境都是妥妥的.本篇主要介绍Jenkins的安装,下篇将介绍相关配置和使用. 目录 安装和配置 第一次启动 插件安装,第一次进入时 ...

  6. 讯飞语音唤醒SDK集成流程

    唤醒功能,顾名思义,通过语音,唤醒服务,做我们想做的事情. 效果图(开启应用后说讯飞语音或者讯飞语点唤醒) 源码下载 地址:http://download.csdn.net/detail/q48788 ...

  7. 使用Jenkins来实现内部的持续集成流程(下)

    目录 配置项目构建 添加任务 添加源代码地址和登录凭据 添加构建触发器  TFS添加WebHook  添加构建步骤 后端UI  API端  配置项目构建 1.添加任务 2.添加源代码地址和登录凭据 添 ...

  8. Spring boot集成Websocket,前端监听心跳实现

    第一:引入jar 由于项目是springboot的项目所以我这边简单的应用了springboot自带的socket jar <dependency> <groupId>org. ...

  9. 时序数据库TDengine 详细安装+集成流程+问题解决

    官方文档:https://docs.taosdata.com/get-started/package/ 点击进入 产品简介 TDengine 是一款高性能.分布式.支持 SQL 的时序数据库 (Dat ...

  10. SpringBoot集成Freemarker前端模板

    1.在pom.xml中引入freemarker的jar包 <dependency> <groupId>org.springframework.boot</groupId& ...

随机推荐

  1. EXP 一款 Java 插件化热插拔框架

    EXP 一款 Java 插件化热插拔框架 前言 多年以来,ToB 的应用程序都面临定制化需求应该怎么搞的问题. 举例,大部分本地化软件厂家,都有一个标准程序,这个程序支持大部分企业的功能需求,但面对世 ...

  2. GitHub Deskhub使用

    (适合已经知道git是啥但是还不太熟到同学看-) GitHub deskhub就是一个图形化的github管理工具啦,比起来命令行使用舒服100倍哈哈哈- 链接:https://desktop.git ...

  3. shiro框架基本概念介绍

    什么是Shiro: Shiro 是一个强大灵活的开源安全框架,可以完全处理身份验证.授权.加密和会话管理 Shiro的核心功能包括: 身份验证(Authentication):验证用户的身份,确保用户 ...

  4. 论文日记五:QueryInst

    导读 实例分割领域21年的SOTA,整个模型结构设计总述为以下: 1)设计了类似于Cascade Mask R-CNN的多阶段迭代优化的bbox和mask预测头: 2)基于query的实例分割方法,延 ...

  5. Java语言与其环境:常见问题解答

    Java语言与其环境:常见问题解答 在本博客文章中,将深入探讨Java编程语言的特点和环境,解释一些常见的关于Java的疑问. Java语言的特点是什么? Java是一种高级编程语言,它具有以下几个主 ...

  6. springboot集成seata1.5.2+nacos2.1.1

    一.前言 Seata出现前,大部分公司使用的都是TCC或者MQ(RocketMq)等来解决分布式事务的问题,TCC代码编写复杂,每个业务均需要实现三个入口,侵入性强,RocketMQ保证的是最终一致性 ...

  7. 如何使用Java + React计算个人所得税?

    前言 在报表数据处理中,Excel公式拥有强大而多样的功能,广泛应用于各个业务领域.无论是投资收益计算.财务报表编制还是保险收益估算,Excel公式都扮演着不可或缺的角色.传统的做法是直接依赖Exce ...

  8. 第2章 Git安装

    兄弟,恭喜你,刷到这篇超详细安装GIt教程,就让Codeyang带你一步一步的安装Git!~~ Git官网地址: https://git-scm.com/ 查看 GNU 协议,可以直接点击下一步. 选 ...

  9. 分库表数据倾斜的处理让我联想到了AKF模型

    1 背景 最近在做需求的时候需要在一张表中增加一个字段. 这张表情况如下: 1.拆分了多个库多张表 2.库表拆分按表中商户编码字段hash之后取模进行拆分 由于库表拆分按照商户编码,有些大商家的单子数 ...

  10. C# 使用Windows身份验证连接Sql Server

    C# 使用Windows身份验证连接Sql Server 使用Windows身份验证连接Sql Server 的字符串为: server=.;database=test_user;Trusted_Co ...