tag 标签: 原创奖励

相关帖子
相关博文
  • 热度 6
    2024-11-18 19:39
    364 次阅读|
    2 个评论
    为什么我要起一个这么奇怪的话题?其实这是我之前困惑的事,进一些知名的高科技企业总能遇到HR关卡 —— 人才测评,让填一个问卷,HR用计算机的结论看看我是否适岗。 在我刚毕业时,在我单纯只做技术工作时,那东西测出来的结果,看起来好像还是那么回事儿,确实结果还可以。但随着我渐渐发展到公司管理层,工作中有越来越多的人和事要平衡,还要承担和发愁部门KPI指标之后,遇到的人才测评结果却总会“爆表”、“异常”、“看不懂”,有的公司通过猎头找到的我,但最后面试官会认为,我是在故意乱填(甚至有的公司夸张到,以为我是同行派来捣乱的)。 后来实在是太好奇这个事了!因为它真的是让我错过了进名企的好机会,有一次虽然面试都到了最后一关完成,在跟各部门领导开茶话会了,但依旧因为人才测评不对劲,那位管入职的领导冲进来质问我,为什么我的思考那项完全不像技术人?现场瞬间鸦雀无声(本来人们是来跟我认脸熟的)。 到底是计算机的算法有问题?还是我自己发展起来的路径有问题? 刚好有幸在我们公司的一个海外研发项目中,接触并学习了组织测量模型的设计原理,还考了个国际测评分析师的证。 于是谜底解开! 原来人才测评工具在设计时都有一个应用范围,不同的应用有对应的不同的算法和指标。但中国国内这方面的市场不太规范,HR也不具备模型的鉴别能力,他们在采购时只能看第三方服务过的企业logo(很多是假的)来判断模型是否专业。而且国内人才测评模型“套壳”的现象非常多,其模型主要来源于两个门类,好点儿的是国外专利到期的医学应用模型、心理学开源模型(用于测量心理有障碍的人群),差点儿的干脆就是类似于FBTI这类娱乐型模型改的(FBTI被美国学术界称为上世纪的骗局)。 我用了我们国际项目中的海外模型测了一下我自己,嗯!真像我的风格:技术型+策略型,本性还有点儿内向,还测出在项目中有53%的负压力(焦虑来源),来源是因为缺乏必要的支持(确实我英语不太好,数据基础也有点儿跟不上)。 总结:国内有的人才测评是用在医学上,测量精神和心理问题的。 写出来可能会被怼,但我只希望高科技企业理智点儿判断你们要的复合型人才,因为技术人员发展到管理层,那些业绩非常好的人,真的会有更契合实际的商业视角与思维,因为他们懂技术能看得更远更实用。 -------- 本文由 姚晶磊(我) 原创,并仅在EET发布,另: 做了跨界内容的微信公众号【牛言喵语】,推动跨界思维与职场经验,欢迎关注!
  • 热度 2
    2024-11-16 13:54
    309 次阅读|
    0 个评论
    不同ADC采样同一前端模拟信号时转换用时差异分析
    概述 同一组前端模拟信号接入由不同型号ADC组成的模数转换电路时,采样后在FPGA中发现采样用时差异较大。本文主要分析这个时间差异形成的原因,并记录该差异产生对系统造成的影响。 系统数字化简介 项目前端的模拟信号是由PMT或者SiPM加上LYSO探测器产生的整形脉冲波,同时随路产生时间脉冲,这个两个脉冲到达数字化板的时间保持不变,所以可以以时间脉冲为参考检测数字化后的整形模拟脉冲。即数字化脉冲上升沿触发后,固定周期后就可以得到对应的整形脉冲位置。如图1所示,在逻辑上,t1与t2之间的时间间隔在硬件确定后,即已确定,宏观上的差异不会存在纳秒级以上。 图1:模拟信号数字化框图及逻辑时序关系 数字化转换时差展示 这里需要首先明确一个前提,即大转换时差仅存在于AD采样电路中使用了不同型号的ADC。如果使用相同的AD采样电路,虽然存在采样时差,但是差异很小,这时候讨论的不是宏观的时差,而应该是通道之间的skew。 另外,本系统早期使用了AD9288 ADC,中期修改为AD9218,当前升级为AD9633。这里比较的是AD9218与AD9633之间的转换时间差异。如图2所示,即为早期AD9218采集PMT整形脉冲的实际时序关系。 图2:AD9218采集PMT产生的整形脉冲结果 如图2所示,SignalTapII的触发脉冲是时间脉冲信号,时间脉冲触动后,大概10个系统时钟后,整形脉冲被数字化完成并送到了FPGA。SiPM系统的时间关系大致如此,这个时间关系与硬件电路上的布线延时以及线缆连接造成的延时关系不大,因为这里关注的是基于系统时钟(100MHz)周期上的差异。硬件布线、连接等造成的延时基本上达不到时钟周期级别,故可忽略。图3则展示了AD9633采集SiPM后得到的时间脉冲与整形之间的时序关系。 图3:AD9633采集SiPM产生的整形脉冲结果 如上图所示及之前分析,PMT与SiPM硬件电路上产生的时间脉冲与整形脉冲之间时间间隔差异并不大,这个也使用AD9218采样后验证过。而上图使用AD9633采集后得到的这个时间间隔在30个时钟周期,大于图2中的10个时钟周期,差异在20个时钟周期。 数字化转换时差原因分析 通过查看两个ADC的数据手册,发现在流水延迟这个参数上,二者有着很大的不同。AD9218给出的数字输出流水延迟是5个时钟周期,如图3所示中箭头所指。 图3:AD9218正常工作的通道时序 而同样的参数,AD9633给出的是16个时钟周期,所以这里的差异在11个时钟周期。但是,还有9个左右的时钟差异在哪儿呢? 剩下的9个时钟差异应该来自于FPGA内部,因为AD9218是并行输出,FPGA直接获取AD的输出数字码,而AD9633是LVDS串行输出,FPGA收到后首先需要进行解串,解串LVDS逻辑模块运行周期目前还不明确,需要查看资料确认。 参考 LVDS SERDES Intel FPGA IP User Guide: Intel Arria 10 and Intel Cyclone 10 Devvices. AD9218手册 AD9633手册
  • 热度 1
    2024-11-10 13:04
    344 次阅读|
    0 个评论
    ALTERA Cyclone 10器件的使用-7:FPGA片内RAM资源利用率思考
    概述 项目使用的FPGA目标器件为Cyclone 10 GX系列规模最大一颗料,由于功能升级增加了功能模块更多,发现器件片内RAM不够使用了。为了探索片内RAM使用的利用率问题,从代码RTL级与编译软件的优化选项方面进行了思考。表1是器件手册中给出的C10GX器件片内RAM颗粒,即M20K,可配置模式。 表1:Intel Cyclone 10 GX器件单端口片内存储器配置 对于MLAB来说,一个MLAB大小是640bit,是由双功能逻辑阵列模块(LAB)配置而成。MLAB是宽而浅型存储阵列的最佳选择,每个MLAB由10个自适应逻辑模块(ALM)组成,在Intel Cyclone 10 GX器件中,这些ALM可配置成10个32x2模块,这样的每个MLAB可实现32x20的简单双端口SRAM模块,Cyclone 10 GX系列器件中片内存储器性能及分布如表2所示。 表2:Intel Cyclone 10 GX器件中片内存储器性能及分布 项目遭遇片内RAM不够问题 升级的项目,在之前逻辑设计的基础上增加了两个模块,理论上存储器消耗要增加一倍。逻辑修改后,工程全编译时,在Fit阶段报错,提示目标器件无法提供足够的RAM来完成布局,如图1所示。 图1:因RAM不足,导致布局失败 Info ( 170034 ) : Selected device has 587 memory locations of type M20K block. The current design requires 626 memory locations of type M20K block to successfully fit. Info ( 170033 ) : Memory usage required for the design in the current device: 107 % M20K block memory block locations required Info ( 170043 ) : The Fitter setting for Equivalent RAM and MLAB Paused Read Capabilities is currently set to Care. More RAMs may be placed in MLAB locations if a different paused read behavior is allowed. 从编译消息列表中摘出上述3条有关出错的消息,第一条提示器件总共587个M20K颗粒,当前设计需要626个来完成布局。第二条给出当前设计完成布局需要消耗器件片内RAM颗粒数量是目标器件能提供的107%。第三条消息提示Fitter的关于“Equivalent RAM and MLAB Paused Read Capabilities”当前设置是“Care”,如果允许更改该设置,则可以将更多的RAM消耗替换为MLAB消耗。 在Quartus的Settings设置中,找到编译器设置页面,并在该页面中找到属于Fitter的Settings高级设置按钮,如图2所示,并点击此按钮进入高级Fitter设置页面。 图2:编译器设置页面 如图3所示,为Fitter的高级设置页面,找到“Equivalent RAM and MLAB Paused Read Capabilities”设置选项,可以将默认设置“Care”修改为“Don’t Care”,如此再重新编译后则可以解决上述报错问题,如图4。 如图4所示,虽然经过上述修改解决该报错问题,但是整个RAM消耗已经达到了100%。100%的RAM消耗率,如果设计功能已经达到目标要求,则是可以作为最终设计提交,但是这仅仅这是项目的预先编译评估,所以并不能就此停止。比如,在后期调试时需要添加SignalTap功能的时候,就可能面临无RAM可用的情况。同时,还需要了解上述设置修改对逻辑设计是否产生负面影响进行评估,即需要对该设置进行深入了解,否则不要轻易修改默认设置。 如果需要进一步减小RAM消耗,那么就需要针对当前设计进行深度优化,这是下一节的内容。 图3:高级Fitter设置页面 片内RAM耗尽后,优化思考 Cyclone 10 GX最大型号器件,总共有587颗片内M20K颗粒,如图4所示,按照图3所示对Fitter高级设置进行修改后,对工程再编译,全编译无报错通过,编译报告提示所有M20K颗粒已经100%耗尽。 图4:M20K颗粒耗尽统计报告信息 如果查看Fitter给出的各个M20K颗粒使用详尽信息,可以发现,各个颗粒容量的使用率不尽相同,有些颗粒甚至使用了不到1%,如图5所示,这些颗粒有12个。 图5:Cyclone 10 GX系列最大器件中M20K颗粒使用情况信息 上述不到1%利用率的M20K颗粒很大可能是为了与其它颗粒“凑整”过程中被消耗的,一旦被占据,该M20K颗粒空余空间就无法开放给其它逻辑使用了。如此大大降低了RAM颗粒的利用率,在进行逻辑设计的初始阶段就应该核算RAM、FIFO或ROM的大小与实际片内RAM颗粒的尺寸来进行规划,提高资源的利用效率。 举个简单的例子说明RAM被“奢侈”利用,AD9633分解为8个LVDS接收器通道,解串后得到了48-bit的并行数据,这时创建了一个FIFO来缓冲该数字转换数据,所以FIFO的位宽48-bit,深度选择为8。所以一个FIFO实际消耗384-bit的RAM,但是经过编译,该FIFO必须要使用2个M20K颗粒(共40960-bit)来实现,RAM利用率不到1%。是不是很奢侈,很浪费?! 这个FIFO的读写时钟不一样,所以属于异步FIFO,修改图3所示的高级设置选项也无法将FIFO转换为MLAB来实现。在例化FIFO的时候倒是可以强制指定使用MLAB来实现它。 参考 Intel Cyclone 10 Devvices Overview.
  • 热度 2
    2024-11-9 10:26
    301 次阅读|
    0 个评论
    AD9633默认情况下调试记录(二)
    概述 所谓默认情况,即如器件手册中图2所标示那样。对应AD9633的调试,除了涉及到ADC自身,还需要兼顾前端驱动器,系统中AD9633驱动器使用了差分运算放大器,这里不在赘述,笔者已有相关文章论述。 此外,默认情况下的调试,还有一文已经谈及了与FPGA联调时如何让逻辑进行“字”对齐,参考《AD9633在旁路SPI接口时如何出在FPGA逻辑中确认字边界》一文(已更名:AD9633默认情况下调试记录(一))。故本文属于默认调试记录(二)。 AD9633默认工作设置 AD9633是4通道、12位、80/105/125 MSPS高速串行LVDS模数转换器(SST使用100MHz采样率,故选购的芯片为105MSPS即可)。该ADC会自动倍乘采样速率时钟,以便产生合适的LVDS串行数据速率。它提供一个数据时钟输出(DCO)用于在输出端捕获数据,以及一个帧时钟输出(FCO)用于发送新输出字节信号。每一个通道都拥有两组LVDS差分数据线,在默认模式下分别串行传输低数位和高数位数据。图1是AD9633在默认工作模式下的时序图(截取手册中Figure 2): 图1:AD9633默认工作时序图,DDR/SDR,12-bit,双道,x1帧模式 尽管ADI的这类ADC支持单道输出,但是由于采样频率比较高,单道输出串行数据率会超过1Gbps的限制。退而求其次使用双道,这样就需要消耗双倍的FPGA接收LVDS引脚数量。 而ADC的输出双道数据流又有两种模式,如图1所示,分别为BITWISE MODE和BYTEWISE MODE。BITWISE MODE下,双道分别串行传输偶数位和奇数位数据。BYTEWISE MODE下,双道分别串行传输高6-bit和低6-bit。如图2所示,AD9633数据手册中,表21提供片内寄存器21对于串行输出的设定,默认情况下为双道BYTEWISE。用户如果不喜欢这种模式,可以打通器件的SPI通信接口,进行修改配置。 图2:手册表格21显示了AD9633默认输出设定 AD9633默认配置调试遇到的问题 上面介绍了AD9633串行输出的具体模式,到此笔者在调试的时候一开始认为已经认清了该ADC输出的一切面目,然而在FPGA侧对接收数据进行分析时还是遇到了问题,除了上文提到的另一文中,即《默认情况调试记录一》,讨论到的字边界未对齐问题外,还出现了如图3所示的问题。 图3:SignalTap II观测ADC采样后的数字输出 如图3所示,信号源提供了正弦波信号,而AD9633采样出来的只是得到了上半周期。这个问题困扰了我们一段时间,从怀疑信号源输出幅度不够,到怀疑前端驱动器的直流偏置不对等等。把所有想到的可能检查个遍都未能找到问题根源。如图4所示,更改信号源正弦波各种参数,使用单极性、双极性不同频率、幅度,得到不同的正弦波,采样结果都类似。如图5所示,在调整正弦波幅度后,尽管SignalTap II里可以得到完整的正弦波形,但这是在牺牲ADC一半动态范围的情况下得到的。也即ADC仅利用到了图示中上半部分动态范围,下半部分依然被忽视了。 图4:信号源为AD9633提供不同正弦波 图5:调整正弦波幅度后,虽然能观察到完整的波形,但是ADC只有上半部分动态范围 这个问题最终得到解决,只是因为SignalTap II显示问题。因为AD9633默认输出模式是 2的补码 模式,所以正常采样的时候,如果SignalTap II选择的是无符号线显示就会显示如图3或图5那样,如果选择有符号线,则如图6所示。 图6:显示设置成“Signed Line”模式后,ADC完整动态范围可以显现出正弦波完整波形 参考 Quad, 12-Bit, 80 MSPS/105 MSPS/125 MSPS, Serial LVDS 1.8 V ADC Datasheet LVDS SERDES Intel FPGA IP User Guide: Intel Arria 10 and Intel Cyclone 10 Devices.
  • 热度 5
    2024-11-8 13:49
    1063 次阅读|
    6 个评论
    好久没来写了,觉得有点儿愧对EET的信任。刚好最近偶遇一个年轻时梦想过的技术角色,经常进实验室,于是有点儿小感触,来写一段吧。别猜是哪家实验室,可能我就是你同事呢,哈哈(跟HR说好了不表明身份,职场上第一次被人称呼:“喂”)。 上次我在EET博主的群里略微吐槽了一下,从技术岗晋升到职能岗,走所谓的“Y通道”,结果其实很难如意!我不知道写这么一篇文章,对做工程师的各位会不会有用,但总之,我经历了这么一个超级漫长的过程,如今又遇到类似于几十年前刚毕业时的工作场景,当初在职场瞎想,如今会是什么样?有点儿感触和哭笑不得。 先说刚毕业时,我的起点是在某大型造船业做现场电气(偏工艺),每天都得上船,造船业环境恶劣、条件艰苦是众所周知的。在这个人生第一份工作上,我做了好多年(同届同学在一年之内全都跳槽了)。虽说这家单位在国内一直非常非常有名,但却因为造船业普遍待遇低、环境差、工作强度大等问题,留不住年轻人。我当时负责的船电系统比较复杂,对理论、技术实操、问题解决和沟通能力要求很高,我几乎就是在本就忙得半死的几个老年工艺工程师、脾气差的一线班组长的强化培养下,最终实现了能淡定面对现场问题及独立调试整个系统。除此之外,我还自学了特定的专业英语,能与外籍设备商、船级社代表协调问题。 但年轻时的我,有那么点儿看不惯“职场世俗”,比如一些图纸上比较严重、久而未决的设计错误,每次都需要自己跑到厂部相关科室去签字(厂区面积非常大,有好几站路),跑多了就觉得麻烦,经常想:“为什么船研室的人,不到现场来解决问题”?每次去办公室解释图纸,让他们签字,他们还没概念,还要推脱!在周而复始的折腾之下,我终于辞职了! 当时的想法是:“逼我自己去外面闯一闯,有朝一日等我当领导有权了,再回来做一个能给下面签字、能解决现场问题的工艺人员”。 离开那个领域后,发现要回去没那么容易!可能还是年轻时社会经验浅,想得太美! 第二份工作是经济技术类国企,录用我的理由是因为我有特种技术背景(几个领导都是航天系统的),一进去就挺受各大领导青睐。从国际业务小朋友一直做到部门代理经理,主要工作是跟海外客户洽谈技术项目合作,还兼管公司的IT部及采购建议。之后又陆续跳到的其它公司,也都是带有研发或技术部门的企业,但我逐渐被用在了经营管理上(财务、运营、人力、战略等),进过几家非常有名的甲方及乙方企业(都是行业细分首位)。 在经营管理中,我的技术背景可以用在差异化绩效竞争上,比方说别的职业经理人只会说政策、愿景、写PPT或闭门造车。我可以看懂技术逻辑、研讨技术商用、翻译科技文献、看懂设备及数字化,再结合企业运营指标和战略目标,为顶层决策提供支持。在现场沟通方面,我能与基层和技术人员“丝滑”沟通并快速同频,一起分析问题、解决问题,现场确定低成本的解决方案,再返回总部给高层汇报。—— 但这并不会受到重视,顶多只能赢取做日常工作的群众人心,因为名企总是在顶层的通用型职业经理人的人数多,他们遇到竞争对手反倒会抱团反对,老板会端不稳“外来人才的那碗水”,而不明确支持(顶多偷偷鼓励)。 数十年来,我接触的都是难度很高的任务,跨了“经营+技术”,有的甚至还要跨“财务”,这些事在企业里本来就缺标准,业绩到底值多少钱,很难判断(有的老板都没想过有人真能给解决了)。所以我这个技术人员,偶尔走了“Y通道”的后果是:仅仅是在一堆只说不做的“文科生”高管中有生存感。虽说撇开其它不谈,拿到的待遇也不差,但失去了可持续发展保障,尤其是当我用技术手段和借力企业自身的技术团队共同突破了经营瓶颈之后,在高层基本上就没我啥事了(企业引进的多数所谓的职业经理人觉得你碍眼,技术方面他们又不懂,但我的竞争力和口碑又影响他们)。 再说今年的情况,在非常不经意间,我遇到了某个高科技企业,是非全职机会,进了研发中心和实验室做PE(工艺),涉密。于是想起了我自己在年轻时离开技术岗位前的想法:“有朝一日…”,结果发现,原来那是总部研发中心的职能设置问题,是“约定俗成”的传统管理!如今身处研发中心和实验室的我,也是一样的不能下现场。 唉,原来是这样! -------- 本文由 姚晶磊(我) 原创,并仅在EET发布,另: 做了跨界内容的微信公众号【牛言喵语】,推动跨界思维与职场经验,欢迎关注!