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. AT_agc064_a题解

    题面 题目大意 给定一个正整数 \(N\),要求构造一个序列.对于每一个在 \(1\) 到 \(N\) 之间的整数 \(i\),序列中包含了 \(i\) 个,并且将该序列首尾相接拼成环后,相邻两项之差 ...

  2. 老问题了:idea中使用maven archetype新建项目时卡住

    背景 作为一个后端Java打工人,idea就是最重要的打饭工具.创建项目,熟悉吧,但是,这么多年下来,因为idea换了版本,电脑换了等等,我还是时不时遇到根据maven archetype新建mave ...

  3. 【Hexo】配置主流搜索引擎收录流程记录

    目录 是否已经被收录 生成站点地图 提交站点地图 Google 注册 Search Console 验证网站所有权 提交站点地图 Bing 从 GSC 导入 手动添加网站 手动请求编入索引 参考资料 ...

  4. Java - ReentrantLock锁分析

    Java - JUC核心类AbstractQueuedSynchronizer(AQS)底层实现 一.  AQS内部结构介绍 JUC是Java中一个包   java.util.concurrent . ...

  5. embed简介

    go embed 是 Go 1.16 中引入的特性,它允许将文件嵌入到 Go 代码中,以便在运行时访问这些文件.这对于将静态资源(如 HTML.CSS.JavaScript 文件)直接嵌入到 Go 二 ...

  6. Web服务器部署上线的踩坑流程回顾与知新

    5月份时曾部署上线了C++的Web服务器,温故而知新,本篇文章梳理总结一下部署流程知识: 最初的解决方案:https://blog.csdn.net/BinBinCome/article/detail ...

  7. 2.9 PE结构:重建导入表结构

    脱壳修复是指在进行加壳保护后的二进制程序脱壳操作后,由于加壳操作的不同,有些程序的导入表可能会受到影响,导致脱壳后程序无法正常运行.因此,需要进行修复操作,将脱壳前的导入表覆盖到脱壳后的程序中,以使程 ...

  8. k8s证书到期处理

    证书续期提示 当执行kubectl get nodes等提示 Unable to connect to the server: x509: certificate has expired or is ...

  9. 日常Bug排查-读从库没有原子性?

    日常Bug排查系列都是一些简单Bug排查.问题虽小,但经常遇到,了解这些问题,会让我们少走点弯路,提升效率.说不定有些问题你遇到过哦:) Bug现场 业务开发同学突然问了笔者一个问题,从库读会不会没有 ...

  10. JUC并发编程(1)—CompletableFuture详解

    @ 目录 CompletableFuture介绍 1.创建异步任务 2.CompletableFuture API ①. 获得结果和触发计算(get.getNow.join.complete) ②. ...