第二版tapout

先说说上次流回来的芯片的测试情况。

4月23日, 芯片采用裸片直接切片, bond在板子上,外面加了一个小塑料壳来保护,我们就直接拿回来测试了。

测试的主要分为模拟和数字两部分, 数字部分的模块基本都工作正常, 模拟的芯片不一致性很成问题,一共就回来了两片芯片,可是模拟部分的参数不同,同时设置的寄存器给出的可调参数也起不到作用,很让人困惑。于是,查到了5月2日又有一次流片计划,于是急急忙忙的就开始准备了。

很匆忙的, sky1301再次流出一版,其实有三个版本, v01主要就是模拟根据3月2日流出的芯片测试情况改变了模拟部分的一些电路,数字部分就是纠正了之前版本的一些问题,比如clear_fifo 命令, rx的parity的错误问题, tx的取crc的时机;v02则是数字部分添加了提速模块和防碰撞的cl_rx模块;v03就是typeA没提速,没加anti-collision加上了typeB的数字收发模块,能完成最基本的通信流。这三个版本的模拟部分是一模一样的。

1周时间,老实说还是挺紧的。其中的提速模块由于之前dr写的也测试过很久的时间了,基本已经定下来了,我主要负责是防碰撞的测试,由华老师来负责改代码,测试中还是发现了不少的问题的,比如总是在发生碰撞的时候会多往fifo里面多写1byte的无效数据,当碰撞bit是0或是1的时候就不能正常工作等问题。
基本在测试的工程中,问题也都暴露了出来,结果最后的模块我觉得鲁棒性还是不错的,还是等芯片回来好好测试吧。

接着是v03的芯片,加上了typeB协议的实现,tx方面用的是之前我写的发送模块,rx方面用的是杜主任写的一个模块,最后时间测试的还真的是很紧张的,不过在基本测试完anti-collision的时候,就开始了typeB的测试,杜主任的模块犯了一个错误就是threshold的初值是0,而他翻转的invert_pulse的高有效,正好是counter == threshold的时候,结果在reset完到配置到正常工作的threshold值的时候就会发生错误的翻转,于是就不能正常解得所要的数据。当把门限的初值改成非0,比如说正常工作的值是12,改成12,在reset后到正常配置钱的时候就不会发生不正常的翻转,数据就可以正常的解得。

封装好的第一版芯片估计还还得一周左右回来,芯片回来肯定还得好好测试吧。接着再有一个半月,这次5月2日的芯片就又要回来了,新一轮的测试就要开始了,拭目以待。

再接着说说这次后仿的问题,后仿也就是一天多一点的时间跑完的,由于后端做的东西基本就是基于上一版的,问题不是很多,主要呢就是碰到了两个问题。

第一个问题就是关于reset的问题,就比如像下面的波形图所致,reset肯定是异步的,但是后端的工具在生成器件之后拿给我们进行仿真,在器件库里data所在的dff对reset上升沿那里的时序是有一个recovery time的要求的,就是b和c之间的时间,为什么呢,可以这么理解,当你在reset的时候前一级的dff和本级的dff同时被复位,而此时你想将reset的电平抬起,脱离reset的状态,如果这样的话,前一级的D端的数据就会反映到Q端,使得本级的D端的数据无法满足和本级的CP端的时序要求,从而使得仿真会红,报出violation。所以如果想避免这种情况,就要使reset的上升沿与本级的clock上升沿离的足够远,按我的理解就应该至少比本级D端与CP的setup time要远(实际考虑上一级的Q端与本级的D端之间的组合逻辑延时与线延时就要更长)。这样就应该可以了。

第二个问题就是比如现在的case,我要仿真的是tx,结果rx模块会报一些不会红的violation,这是什么原因的呢,还是我们的rst_n起到的作用,就是说你在下达SPI_cmd(CMD_SW_RST)的时候,结果你由于rst会传递到各个模块的各个寄存器,结果有一些模块虽然没工作但是依然处于工具检查的状态,虽然最后不影响结果但是依然会红,会有影响,通常这种情况只要有异步的rst信号,就会有可能发生这种情况,如果真的是不用care的问题,那么可以在仿真的时候简单的加一个延时,让rst_n posedge 和clk posedge相隔的远一些就好了,基本就没有问题。同时,如果是可能产生的影响的话,虽然是异步的rst信号,就都要重新弄一个同步的版本给后面的模块!

转载于:https://www.cnblogs.com/poiu-elab/archive/2012/05/03/2481175.html

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

十八、完整神经网络模型验证步骤

网络训练好了,需要提供输入进行验证网络模型训练的效果 一、加载测试数据 创建python测试文件,beyond_test.py 保存在dataset文件夹下a文件夹里的1.jpg小狗图片 二、读取测试图片,重新设置模型所规定的大小(32,32),并转为tens…

二分法变种小结(leetcode 34、leetcode33、leetcode 81、leetcode 153、leetcode 74)

目录二分法细节1、leetcode 34 在排序数组中查找元素的第一个和最后一个位置2、不完全有序下的二分查找(leetcode33. 搜索旋转排序数组)3、含重复元素的不完全有序下的二分查找(81. 搜索旋转排序数组 II)3、不完全有序下的找最小元素(153. 寻找旋转排序数组中的最小值)4、二维矩…

ID3D11DeviceContext::Dispatch与numthread笔记

假定——[numthreads(TX, TY, TZ)] // 线程组尺寸。既线程组内有多少个线程。Dispatch(GX, GY, GZ); // 线程组的数量。既有多少个线程组。 那么——SV_GroupThreadID{iTX, iTY, iTZ} // 【线程组内的】线程3D编号SV_GroupID{iGX, iGY, iGZ} // 线程组的3D编号SV_DispatchT…

小米手环6解决天气未同步问题

最近我发现了我的米6手环天气不同步,打开Zepp Life刷新同步也不行,后来我找了一些网上的解决方法,尝试了一些也还不行,我这人喜欢瞎捣鼓,无意之间给整好了,后来我开始总结自己操作步骤,就在刚才…

C++ 内存分配层次以及memory primitives的基本用法

分配层次 C memory primitives 分配释放类型是否可重载mallocfree()C函数不可newdeleteC表达式不可::operator new()::operator delete()C函数可allocator::allocate()allocator::deallocate()C标准库可自由设计并以之搭配任何容器 分配与释放的四个用法 1、malloc and delet…

一、Pytorch对自定义表达式自动求导

例如:y ax bx c,分别对a,b,c求导 若当a3,b4,c5,x1时 import torch from torch import autogradx torch.tensor(1.) a torch.tensor(3.,requires_gradTrue) b torch.tensor(4.,requires…

css菜单下拉菜单_在CSS中创建下拉菜单

css菜单下拉菜单CSS | 创建下拉菜单 (CSS | Creating Dropdown) Trivia: 琐事: We know the importance of navigation bar on our webpage, we know the importance of a list of items too on our webpage but what is the importance of dropdown in web pages?…

C++ 内存基本构件new/delete的意义、运用方式以及重载方式

目录一、对new的理解1、new做了什么2、new被编译器转为了什么3、operate_new源代码长啥样二、对delete的理解1、delete做了什么2、delete被编译器转为了什么3、operator delete源代码长啥样三、构造函数与析构函数的直接调用参考一、对new的理解 1、new做了什么 C告诉我们&am…

二、线性代数

一、张量 张量表示由一个数值组成的数组,这个数组可能有多个维度 import torchx torch.arange(15) x # tensor([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14])1,shape shape属性可以访问张量的形状 x.shape # torch.Size([15])2&a…

Wordpress prettyPhoto插件跨站脚本漏洞

漏洞名称:Wordpress prettyPhoto插件跨站脚本漏洞CNNVD编号:CNNVD-201311-413发布时间:2013-11-28更新时间:2013-11-28危害等级: 漏洞类型:跨站脚本威胁类型:远程CVE编号: 漏洞来源…

JavaScript学习笔记1

Netscape 公司 DOM模型&#xff0c;层(layer)-用ID标识。 HTML标记页面上的元素&#xff0c; <div id "mydiv">This is my div</div> CSS为这个页面元素定位 #mydiv{ position:absolute; left:320px; top:110px; } JavaScript 访问 (DOM模块不同&#x…

C++ 内存基本构件new [] /delete []的意义、内存泄漏原因、VC下cookie的基本布局

目录一、对new [] delete [] 的理解1、delete的[]遗漏会带来什么影响二、以示例探讨三、cookie的理解一、对new [] delete [] 的理解 new的对象是个array类型的。 Complex* pca new Complex[3]; //唤起三次ctor //无法借由参数给予初值 ... delete[] pca; //唤起3次dtor如下…

01背包怎么不重复_带有重复物品的背包

01背包怎么不重复Problem statement: 问题陈述&#xff1a; Weights and values are given for n items along with the maximum capacity allowed W. What is the maximum value we can achieve if we can pick any weights, any number of times for the total allowed capa…

C++ 内存基本构件 placement new

用法以及编译器解释 placement new 允许我们将object构建于已经分配的内存上。(所以此时必须有个指针指向已经分配好的内存) 没有所谓的placement delete &#xff0c;因为placement new根本没有分配内存. 也有种说法&#xff0c;是将placement new对应的内存释放掉的操作为pl…

二维数组for遍历

<?php$conarray(array(1,高某,A公司,北京市,010,abc),array(2,罗某,B公司,天津市,020,bcd),array(3,冯某,C公司,上海市,021,cdf),array(4,书某,D公司,重庆市,022,dfg));echo <table border"1" width"600" align"center">;echo <cap…

Xcode调试相关小结

一.设置NSZombieEnabled 使用NSZombieEnabled功能,当代码中访问已经释放了内存的地方,会给你下面这样的提示,而不仅仅是EXEC_BAD_ACCESS: 2008-10-03 18:10:39.933 HelloWorld[1026:20b] *** -[GSFont ascender]: message sent to deallocated instance 0x126550 如果要查看上面…

ONGC的完整形式是什么?

ONGC&#xff1a;石油天然气公司 (ONGC: Oil and Natural Gas Corporation) ONGC is an abbreviation of Oil and Natural Gas Corporation. It is an Indian multinational corporation that is one of the leading producers of crude oil and natural gas in India. Its hea…

node 大写_大写Node.js模块

node 大写Today, lets see a third party module that helps us in working with upper-case letters without necessarily typing them in upper-case in our source code. 今天&#xff0c;让我们看一个第三方模块&#xff0c;它可以帮助我们处理大写字母&#xff0c;而不必在…

HDU嵌入式实验课程大作业分析报告

目录作业要求设计原理与思路扩展任务说明课程感受友情链接工程链接作业要求 体能测试记录仪设计 基于课程发放的实验板&#xff0c;设计一个带有计时和数据采集功能的体能测试记录仪。 基本设计内容 功能1&#xff1a;对应1000米体测场景&#xff0c;使用充电宝供电&#x…

html注释引用公共头部_HTML注释和引用

html注释引用公共头部HTML注释 (HTML Comments) To insert a comment in an HTML document, the comment tags are used. The comments are used to provide some information that could be useful for anyone who views the code of the webpage. The comments can be insert…