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. 快速解决 const 与 typedef 类型组合时 ,const修饰谁的问题

    C++使用typedef 给复合类型定义别名时,与const结合会产生看似"令人困惑"的类型推定,例如 typedef char* pstring; const pstring c ...

  2. 手写raft(二) 实现日志复制

    1. Raft日志复制介绍 在上一篇博客中MyRaft实现了leader选举,为接下来实现日志复制功能打下了基础: 手写raft(一) 实现leader选举 日志复制是raft最核心也是最复杂的功能, ...

  3. MindSponge分子动力学模拟——Constraint约束

    技术背景 在前面的几篇博客中,我们已经介绍了MindSponge的基本使用方法,比如定义一个分子系统.计算分子的单点能以及迭代器的使用等.有了这些基础的教程,用户以及可以执行一些比较简单的模拟任务,比 ...

  4. 如何在kubernetes中实现分布式可扩展的WebSocket服务架构

    如何在kubernetes中实现分布式可扩展的WebSocket服务架构 How to implement a distributed and auto-scalable WebSocket serv ...

  5. 开源XL-LightHouse与Flink、ClickHouse之类技术相比有什么优势

    Flink是一款非常优秀的流式计算框架,而ClickHouse是一款非常优秀的OLAP类引擎,它们是各自所处领域的佼佼者,这一点是毋庸置疑的.Flink除了各种流式计算场景外也必然可以用于流式统计,C ...

  6. Python脚本批量造数据、跑定时任务协助测试

    批量造数据 连接Mysql的信息 1 import pymysql 2 # 数据库连接信息 3 # 多个库要有多个conn 4 conn = pymysql.connect( 5 host=" ...

  7. 对某个接口进行限流 以 Aop 注解的形式绑定接口 用redis实现

    简单的针对某个接口进行限流,如果需要整体限流的话还是建议在网关上面或者服务器上面动手Controller: @LimitRequest(count = 1,time = 60 * 1000 * 2) ...

  8. burpsuite验证码爆破后台夺权

    目录 准备工作 爆破 同时爆破用户名密码和验证码 筛查爆破结果的成功输出 创建新用户远程桌面连接 准备工作 安装python 安装muggle_ocr库 运行xp_CAPTCHA服务端 burpsui ...

  9. Apache(2.4.49 2.4.50)--目录遍历--命令执行--(CVE-2021-42013)&&(CVE-2021-41773)

    Apache(2.4.49 2.4.50)--目录遍历--命令执行--(CVE-2021-42013)&&(CVE-2021-41773) 复现环境 采用Vulfocus靶场环境进行复 ...

  10. commons中StringUtils的全解

    StringUtils()方法的导入包是:org.apache.commons.lang3.StringUtils 作用是:StringUtils()方法是 Apache Commons Lang 库 ...