登录
首页 » Others » TracePro应用实例详解-

TracePro应用实例详解-

于 2021-05-06 发布
0 329
下载积分: 1 下载次数: 1

代码说明:

TracePro应用实例详解-压缩版(内容不变)目录绪论光学设计基础知识1第一章导光管设计实例6第二章背光源设计实例12第三章LED设计实例-..1.18第四章手电筒设计实例由南南由南虚由由面鱼出面量自音s面自自鱼自自西由自由由由由由面由垂型由面由昏音面垂香量看证自音西垂45第五章积分球设计实例,54第六章LED设计实例二…第七章分光棱镜模拟实例……---77第八章LED汽车前照灯设计实例影中中中着,着看e,第九章简易荧光灯模型设计实例……100第十章投影仪设计实例…11111114第十一章红外光气体检测系统设计实例140第十二章荧光粉模拟实例150第十三章LED色温模拟实例…--1160第十四章消除杂散光模拟实例……167第十五章二级复合抛物面聚光器设计实例177第十六章矩形路灯聚光器的优化设计198第十七章一种LED植物生长灯的设计与制作…207第十八章简易筒灯的模拟与设计216绪论光学设计基础知识在开始本书前,我们需要了解一些基础的光学知识。一、光度学基本概念光通量:单位时间内光辐射能量的大小。它表示光源的发光能力。光通量单位:流明(lm),指lcd的均匀点光源在lsr内的光通量。发光强度(光强);光通量的角(空间的)密度,即在一定方向上的单位立体角内所发出的光通量。常用于说明光源和灯具发出的光通量在空间各方向或选定方向上的分布密度。发光强度的单位:坎德拉cd,lcd=1mSr,是国际单位制的基本单位。立体角:是任意一封闭的圆锥面内所包含的空间。单位是球面度(Sr),即以锥顶为球心,以r为半径作一圆球,如果锥面在圆球上截得的面积A为r的平方,则该立体角为一个单位立体角,而一个球体包含4π球面度。1979年10月第10届国际计量大会透过的坎德拉定义为:一个光源发出频率为540.0E1Hz的单色辐射(对应于空气中波长为550nm的单色辐射),若在一定方向上的辐射强度为1/683Wsr,则光源在该方向上的发光强度为1cd照度:单位面积(被照射面)上入射的光通量。照度单位;勒克斯(1x)注:1kx的照度是比较小的,在此照度下仅能大致辨认周围物体。晴朗的盈月夜晚,地面照度大约为0.2x;白天采光良好的室内照度为100-500x;晴天室外太阳散射光下,地面的照度约为10001x;中午太阳光照射下,地面的照度可达100001x光出射度:单位面积(发光面)上发射的光通量。其单位:辐射勒克斯(rlx)。亮度(台湾又称辉度):在一个广光源上取一个单元面积dA,从与表面法线成角的方向上去观察,在这个方向上的光强与所可见的光源面积之比,定义为光源在该方向的亮度。单位:尼特(坎德拉每平方米,cdm2)。注:太阳的亮度为1.6*10E9以上,碳极弧光灯(1.8-12)*10E8,钨丝灯(2.0-20)*10E6,蜡烛(0.5-1.0)*10OE4,蓝天0.8*10E4暗适应:由光亮处进入到黑暗处,开始一切都看不见,经过一段时间才能看见物体轮廊。所需时间较长,一般几分钟以上。明适应:有暗处进入到亮处时,开始也不能辨别物体,几秒到几十秒后才能看清物体。在有明暗变化的视场内,应考虑照明的过渡。后像:在高亮度的闪光之后,往往会感到有一连串的影像,以不规则的强度和不断降低的频率正负交替出现,即后像。强烈的后像对视力工作有很大害处。应避免。眩光:视场中有极高的亮度或强烈的亮度对比时,会造成视觉下降和眼睛的不舒适,这种现象称为眩光。前者为失能眩光,后者为不舒适眩光。不舒适眩光取决于视场内的尺寸亮度数量位置以及背景亮度等原素。注:一个明亮光源发出的光线,被一个有光泽或半光泽的表面射入观察者眼睛,可能产生轻度分散注意力甚至不舒适的感觉。当这种反射发生在作业面上时,称为“光幕反射”,如发生在作业面以外时,称为“反射眩光”。颜色:眼睛能够辨别背景上的被观察对象(细节),必须满足以下两个条件之对象与背景有不同的颜色(颜色对比),或者对象与背景在亮度上有一定的差别(亮度对比)。可见度(能见度,视度):表示被识别对象看清楚的程度。反射,折射,透射,吸收:1.据能量守衡定律,材料的反射系数+透射系数+吸收系数=1铝(普通)的反射系数为60-73%,吸收系数为2740%。铝(电解抛光)的反射系数为75-84%(光泽),62-70%(无光)。铬反射系数为65%,吸收系数为35%2.光的反射分类:定向反射( Specular reflection),散反射( Spread Reflection),漫反射( )effuse Reflection),混合反射( Compound Reflection)3.折射:水的临界折射角为48.5°,玻璃的临界折射角为30°到40°。玻璃的折射率为1.5左右。4.光的透射分类:定向透射,散透射( Spread Transmission),漫透射( DiffuseTransmission),混合透射( Mixed Transmission)5.光在玻璃表面垂直入射时,入射光在入射面被反射4%,在透过面被反射3-4%,被吸收2-8%,透过率为80-90%6.材料的表面的光反射和光透射具有光谱选择性。二、LED光学设计基础知识为了使LED芯片发出的光能够更好地输出,得到最大程度的利用,并且在照明区域内满足设计要求,需要对LED进行光学系统的设计。其中,在封装过程中的设计被称为一次光学设计;而在LED之外进行的光学设计被称为二次光学设计①一次光学设计LED芯片只是一块很小的固体,它的两个电极要在显微镜下才能看见,加入电流后它才会发光。在制作工艺上,除了要对LED芯片的两个电极进行焊接,从而引出正、负电极之外,同时还要对LED芯片和两个电极进行保护。因此,这就需要对LED芯片进行封装。在封装的过程中,为了能够最高效率地输出可见光的功能,需要进行光学设计,合适选择封装材料的形状、结构和材料,这种设计在业内被称为一次配光设计次配光设计主要是决定发光器件的出光度、光通量大小、光强大小、光强分布等。而影响封装出光效率的高低、效果的好坏,主要是由芯片、支架和模粒三要素来决定的。②二次光学设计在使用LED发光器件时,整个系统的出光效果、光强、色温的分布状况也必须进行设计,把器件发出的光线集中到期望的照明区域内,从而让整个LED照明系统能够满足设计的需要,这被称为二次光学设计。二次光学设计必须在LED发光器件次配光设计的基础上进行。一次配光设计是保证每个LED发光器件的出光质量,考虑将LED芯片中发出的光能尽量多地取出。而二次配光设计是考虑怎样把LED器件发出的光线集中到期望的照明区域上,从而让整个系统发出的光能满足设计需要。从某种意义上来说,只有封装设计即一次配光设计)合理,才能保证系统的二次配光设计顺利实现,从而提高照明和显示的效果。基于LED的二次配光设计,对最终的照明器件和产品的性能起着至关重要的作用。第一,部分光线未能达到有效的照明范围从而导致能量的损失,需要使用大数值孔径的光学系统对光线进行汇聚,进一步提高光能利用率;第二,封装之后,像面照度分布均匀性达不到改计要求,难以在每一点的照度值都大于要求的最低照度值,这都需要对LED进行二次配光设计。日前市场上常用的光学设计和分析程序主要有美国焦点软件公司开发的ZEMAX、 Optical Research Associates的 CODE V和 Light Tools、 Breault ResearchOrganization的ASAP以及 Lambda research的 TracePro等。ZEMAX是美国焦点软件公司所发展出的光学设计软件,可做光学组件设计与照明系统的照度分析,也可建立反射、折射、绕射等光学模型,并结合优化,公差等分析功能,是套可以运算 Sequential及Non- Sequential的软件。 ZEMAX不仅功能强大,而且具备直观性、软件灵活、优化快速、容易操作使用等优点,与其他软件不同的是 ZEMAX的CAD转档程序都是双向的,如IGES、STEP、SAT等格式都可转入及转出。当前有三种不同的版本: ZEMAX-SE(标准版); ZEMAX-XE(展版)ZEMAX-EE传专业版)。 ZEMAX在成像光学,特别是透镜设计方面应用十分广泛。CODE V是应用非常广泛的光学设计和分析软件,是世界上分析功能最全、优化功能最强的光学软件,为各国政府及军方研究部门、著名大学和各大光学公司广泛采用,并广泛适用于照相设备、摄影机和医疗器具等,功能强大使用简单灵活。其功能主要包括变焦结构优化和分析、环境热量分析、MIF和RMS波阵面基础公差分析、用户自定义优化、干涉和光学校正准直、非连续建模、矢量衍射计算及偏振、全球综合优化光学设计方法等。ASAP是 Breault Research Organization研制的一套不受限制的、非序列光线追迹软件。它具有对物理光学、成像系统和照明系统进行建模分析的强大功能,它的图形工具允许用户进行截图分析,或者对几何模型、光线追迹、分析结果进行三维演示。ASAP还可以分析散射、衍射、反射、折射、吸收、偏振、非序列光线追迹和高斯光束传播。Light Tools.是 Optical Research Associate制的一套全新的具有光学精度的交互式三维实体建模软件体系,它提供最现代化的手段直接描述光学系统中的光源、透镜、反射角、分束器、衍射光学元件、棱镜、机槭结构以及光路。由 Light Tools把光学和机械元件集合在统一的体系下处理,并配置“放置”光源、发射光线的非序列追迹强大功能,使它在系统初步设计、复杂系统设计规划、光机一体设计、杂光分析、照明系统设计分析、单位各部门间学术交流和数据交換、课题论证或产品推广等各环节中发挥重要的作用。TracePro是美国 Lambda Research公司开发的一款基于蒙特卡罗法( Mante Carlo)的非序列光线追迹(Non- Sequential Ray Tracing)软件,它是一套以符合工业标准的ACIS固体建模引擎为核心所发展出来的光学机构仿真软件,是一套结合了真实固体建模、强大光学分析功能、信息转换能力强及易上手的使用界面的仿真软件,它可将真实立体模型与光学分析紧密结合起来。目前,国际上在照明系统分析、传统光学分析、辐射度以及光度分析,在镜头杂散光分析、背光板、LED设计及应用、照明灯具、车灯、投影显示器等众多领域中已经大量采用该软件进行计算机辅助设计。本书主要采用该软件进行模拟设计(读者需对 TracePro软件的使用有一定了解,可以参考《 TracePro7.0中文使用手册》)。TracePro用于照明设计的一般流程如图1所示。建立模型□>建立模型建立光源优化属性结果不符合定义属性光线追迹结果分析图1模拟设计流程图三、几个知名品牌的LED模型下载地址下面是各个种类的LED模型下载地址,模型包括用在 Trace Pro里面的,也有Light Tools,,也有 ZEMAX的,下载下来直接在相应的软件上调用就可以了,十分方便。1.mh:http://www.philipslumileds.com/resources/design/listing.cfm?catoptical然后打开 Optical Design Resources点击LE链接2.lim(Cree):http:/www.cree.com/products/ledlamps.asp.然后打开 LED Components页面点击LED3.欧司朗http://www.osram-os.com/ray-filcs然后点击LED下载。第一章导光管设计实例在 TracePro中进行导光管设计,将使用到面平扫功能。主要步骤如下:打开 Trace Pro软件2.在下拉工具菜单 Insert选择实体模型 Insert/Primitive solids命令3.在基本实体模型设置对话框中,选择 Cylinder/Cone设置栏4.选中 Cylinder,在Bae下的 Major栏输入底面半径为2,在1op下的 Length输入30。如图1.1所示。■ nsert Pr盈itSolidsBlock Cylinder/Cone Torus I Sphere Thin Sheet IName: Obiect 1C Cylind. C Cone厂 EllipticalBTMajMajMinor aLength 30Base Posi tionBase rotationx:0Y:0Y:o2:in Degreesset,□li图1.15.点击 Insert插入,再点击缩放工具图标二如图1.2所示。ladel: [UntitledSurface 1tity 4Cyl/C图下一步将使用 Revolve对上面建立的导光管右端面进行旋转延伸操作:1.选中导光管右端面,即 Object 1下的 Surface22.执行下拉菜单 Edit/Surface/ Revolve命令。在 Revolve surface Selection对话框设置旋转角度为90度,半径为25mm。4.在位置坐标栏输入(0-2530);(100)。具体见图1.3所示。5.点击 Revolve surface插入旋转延伸。如图14所示。Revolve Surface Selection DXAngle 90planar suIfaces on副yDraft angle oin DegreesRadius250Positicn on axis of revolution Axis cf RevolutionPosition X 0Axis X 1Positon丫AxisY 0Position Z30Axis20Get Position fiom last mouse clickCalculate a Position using selected surfaceRevolve Surface图1.3Fuel: [Untitled1]回xobject I中 ur tace 0中 Surtace2Entity 4Model Source Radi anee图1最后将进行Swep面平扫,完成导光管的实体模型:1.选中端面 Surface3,执行下拉菜单 Edit/Surface/Sweep命令。2.在 Sweep Surface Selection对话框中,输入 Distance为l5mm,Draf为-2度。

下载说明:请别用迅雷下载,失败请重下,重下不扣分!

发表评论

0 个回复

  • UKF KF EKF MATLAB仿真
    【实例简介】介绍了卡尔曼滤波及各种改进算法,包括EKF,UKF等,并给出matlab仿真
    2021-11-07 00:36:44下载
    积分:1
  • matlab阵列信号处理工具箱
    matlab阵列信号处理工具箱DBT,版本2.20,阵列信号处理必备
    2021-05-07下载
    积分:1
  • 泛微Ecology9数据字典.zip
    【实例简介】数据库表结构设计文档,泛微数据字典,公共组件(前端组件+e9消息中心)、即时通讯-EMESSAGE 、移动引擎
    2021-11-21 00:36:28下载
    积分:1
  • 数学辞海(第六卷 Vol6)(全六卷) by 裘光明等 数学辞海辑委员会.pdf
    数学辞海(第六卷 Vol6)(全六卷) by 裘光明等 数学辞海编辑委员会.pdf
    2020-06-17下载
    积分:1
  • labviewPID控制
    labview中的pid控制程序,包括前面板和程序.比较实用的.适合毕业设计用.
    2020-11-30下载
    积分:1
  • 用于TDOA定位的CHAN算法
    用于TDOA定位的CHAN算法,包括2维定位和3维定位的详细算法,以及对算法的验证程序,正确可直接运行。
    2020-11-29下载
    积分:1
  • ZYNQ中文资料书
    中文版详细的ZYNQ基础知识,可以使刚接触ZYNQ有系统的认识。The zong book基于含有 ARM Cortex9的 Xilinx Zyng网-7000全可编程片上系统的嵌入式处理器se h. crockett ross a elliotMartin A. Enderwitz robert w. stewartJianfeng Lu(中文痂)Department of Electronic and Electrical EngineeringUniversity of StrathclydeScotland, uK翁恺博士Dr.K.Wen(h文翻译浙江大学(中国)第一版(中文版)This edition first published June 2016 by Strathclyde Academic MediaLouise h. crockett ross a. elliot, martin a. enderwitz and robert w. stewart开源许可此书既有印刷版又有电子版(PDF格式)。在衍生文件中明确标注参考内容初始来源的前提下,本书中任何文本和图表可以被复制,并用于非营利性的学术目的。参考格式应当遵循以下格式L.H. Crockett, R. A. Elliot, M. A. Enderwitz and R W. Stewart, The Zynq Book: Embedded Processing withthe ARM Cortex-A9 on the Xilinx Zynq-7000 All Programmable Soc, First Edition, Strathclyde AcademicMedia, 2016将本书中内容用于其他非营利性学术目的的,请联系info@zyngbook.com。此书不能以原始的格式使用,也不能被末授权的第三方机构销售。习题教材习题教材在本书的官方网站上发布:www.zynqbook.com参考此习题教材同样适用于开源许可条及在本页其他位看提到的警告和免麦声明警告和免责声明作者、出版人在硏究所包含的课趑和编写例懃时,已经尽了最大的努力来提供准确、最新的信息。本着倣得最好的理念,书中包含的材料以“原样”的形式提供,但是无论是作者还是出版人没有任何明确或者隐含的承诺来保证书中所包含内容的准确性。书中包含的任何信息直接或间接导致的任冋损失、损坏,作者和岀版人将不会承担法律责任。商标ARM, Cortex,AMBA, Thumb和 Trustzone都是ARM有限公司(或其子公司)在欧洲和(或)世界其他各地注册的商标。保留所有权利NECN是ARM有跟公司(或其子公司)在欧洲和(或)世界其他各地的商标。保留所有权利。此出版物是独立的,不属于ARM有限公司。ARM有限公司也没有认可、赞劻或授权此出版物Xinx(xinx公司的logo),Artⅸ,ISE, Kintex, LogiCORE, Petalogix, Spartan, virtex,vⅳado,zynq,和Web pAck是 Xilinx注册的商标。保留所有权利。MATLAB和 Simulink是 MathWork5公司注册的商标。Linux的是 Linus torvalds在美国和其他国家注册的商标。本书中使用的所有其他商标属于其各自的公司。本书中使用这些商标并不意味着本书拥有、认可这些商标。目录前言作者简介XXI鸭谢章节引言鲁鲁D自。自。自d看非鲁鲁。音D鲁。111zynq的片上系统12嵌入式SoC的简单剖析…..13设计重用14提升抽象层级1.5S0C设计流16实践单元17关于本书18参考文献PART A开始了解Zynq…13章节2Zynq芯片(“是什么”)1521处理器系统211应用处理器单元(APU)212关丁ARM模式…202.1.3处理器系统外部接口2122可编程逻辑22221逻辑部分2.2.2特殊资源:DSP48E1和块RAM522.3通用输入/输出28224通信接口2.2.5其他可编程逻辑扩展接1|……2923处理器系统与可编程逻辑的接口………30231AXI标准…3023.2AXⅠ互联和接口…23.3EMI0接口…342.34共他PL-PS信号3424安全241安仝引导,3524.2硬件支持3624.3运行时刻安全3625Zynq-7000系列成员…3926本章回顾4027架构参考指南4128参考文献4章节3zynq设计指南(“如何使用它?”)…473.1入门∴1483.11获取设计工具…3.12开发工具内部版本和证书31.3设计工具功能3.14第三方工具3.1.5系统安装和需求513.2设计流程概述32.1需求和技术参数…3.2,2系统设计···543.2.3硬件开发和测试324软件开发和测试…583.2.5系统集成和测试603.3S0C设计团队6034使用 Vivado进行以IP为重点的系统级设计35ISE和 Vivado设计套件3.51特性比较64352升级到Vl vado3.6开发板3.6.1 Zynq-7000 SoC ZC702 Evaluation Kit .....673.6.2 Zynq-7000 Soc video imaging kit693.6.3 Zyng-7000 ZC706 Evaluation kit693.6.4 ZedBoard63.6.5ZYB06936.6第三方开发板70367附件和扩展36.8使用开发板工作723.7支持和文档38章节回顾39参考文献章节4芯片比较(“为什么我需要Zyna?”)中中4.1芯片选择的条件42比较一:Zynq对FPGA80421Ⅶ icroblaze处理器8042,2Ⅶ icroblaze单片机系统844.2.3 Picoblaze854.2.4 ARM Cortex-M8542.5其他处理器类型…8542.6总结说明8743比较二:Zynq对标准处理器89431处理器操作89432执行分机433总结说明9444比较三:Zynq对分立的FPGA处理器组合45拓展Zynq架构和设计流9646本章回顾47参考文献…99章节5应用和机会(“拿它能做什么?”).1015.1应用的概述,10251.1汽车102512通信5.1.3防务和航空航大∴1035.14机器人、控制和仪器1045.1.5图像和视频处理l0451.6医药1055.1.7高性能计算(HPC)1055.18其他及未来的应用10552何时Zynq真的有用...1065.3通信:软仆定义无线电(SDR)107531在无线通信中的趋势10753,2介绍软件定义无线电(SDR)l08533SDR的实现和授权技术108534认知无线电54智能系统和智能网络11154.1什么是智能系统542智能系统的例子112543智能网络:智能系统的通信114544相关桃念∴5.5图像和视频处理,及计算机视觉5.5.1图像与视频处理1155.5,2计算机视觉…116553抽象的层级…..1175.54图像处理系统的实现1185.55Zynq上的计算机视觉的例子:道路标识识别…12056动态片上系统12156.1运行时刻系统灵活性121562动态部分重配置(DPR)12156.3DPR应用的例子…564DPR的好处…..124571什么是生态系统?系统57更多的机会:zynq的“生态,125125572有什么机会?12658本章回顾1285.9参考文献………128章节6 The Zedboard∴1336.1介绍Zed…336.2 edboard系统架构1346.3 Zedboard设计流程13664 SeaBoard入门」137641盒子里有什么?137642使件安装13764.3烧写 Zedboard1386.5 MicroZed14266文档,教程和支持14266.1关」 Zedboard的文档…126.62演小和教程14366.3在线课程…14366,4其他 Zedboard资源和支持14467 Zedboard.org社区…144671社区工程44672博客144673支持论坛14568本章回顾14569参考文献146章节7教育、研究和培训∴…自看·鲁。非。鲁自。自。鲁。鲁自普●。。●音。。鲁D。。。。自着垂··。音。鲁D1477.1技术趋势和SoC教育1487.2大学用Zynq教学149721用 Xilinx工具和板教学149722数字设计和FPGA教学…150723计算机科学…150724嵌入式系统和SOC设计1507.2.5算法实现(如信号、图像和视频处理15172.6设计重用152727新的和正在出现的设计方法15372.8传感、机器人和原型154729一个例子课程15473项日和竞争74学术研究75 Xilinx大学计划(XUP)15875,1介绍XUP752软件技术和许可158753XUP开发和教学板…159754XUP研讨会和培训材料159755对大学的投术支持1607.5.6资格160757联系XUP1607.6企业培训1607.6.1诛程的授权的培训提供者…1607.6.2其他资源16176.3在线视频l6177本章回顾16178参考文献章节8 Zynq的第一个工程.658.1软件安装指导目标和结果16683练习1A概述…ss………s……I6684练习1B概述1678.5练习1C概述l6886可能的扩展16987接下来是什么?16988参考文献169PART BZynq Soc&硬件设计。告D。垂D。0。春DD。。。。B看D。。。l71章节9嵌入式系统和FPGA.7391什么是嵌入式系统?173911应用1174912一般嵌入式系统架构…..17592处理器2.1协处理器17922处理器 cache177923执行周期179924中断18393总线184
    2020-12-11下载
    积分:1
  • AR模型参数估计、阶数确定准则,功率谱计算方法等
    AR模型的谱估计是现代谱估计的主要内容:1.AR模型的Yule—Walker方程和Levinson-Durbin递推算法;Burg算法:;3.改进的协方差法;AR模型阶数P的选择:MATLAB中AR模型的谱估计的函数说明:1. Pyulear函数:2. Pburg函数:3. Pcov函数:4.Pmcov:
    2020-11-30下载
    积分:1
  • BP_PID控制仿真.rar
    本资源为基于BP神经网络的PID连续控制系统Simulink仿真模型,BP神经网络学习算法通过S-function函数编写,各个参数已调好,可完美运行。如有怀疑,请浏览我的博客:基于BP神经网络PID控制+Simulink仿真 地址:https://blog.csdn.net/weixin_42650162/article/details/90678503
    2020-12-12下载
    积分:1
  • 华为面试数字芯片提纲.pdf
    本人面试华为海思数字芯片,总结出一份应对数字芯片面试的复习材料华为面试数字芯片提纲解答以及要点备注1、时序逻辑/组合逻辑时序逻辑电路主要由组合逻辑电路和触发器等记忆元件组成,输出不仅取决于当前输入,还和电路原米状态有关(这里原来状态是指的中间的触发器等记忆元件部分的端口值也可能会影响到当前的电路总的输出);组合逻辑电路主要由组合逻辑器件构成,电路无存储元件,输出仅仅取决于当前的输入。同步逻辑/异步逻辑同步逻辑是指的电路驱动时钟是有固定因果关系的逻,异步熤辑是电路驱动时钟之间没有固定因果关系的逻辑。通常同步逻辑电路的驱动时钟来源于同一个时钟源产生的相同时钟或者相位差可预知的不同时钟,这里不包括相位差在一定时钟周期内(例如1000ck)依然无法确定公共周期的同源时钟;异步逻辑的电路驱动时钟来自不同源时钟或者相位差关系不确定的时钟。同步时钟/异步时钟同步时钟指的是时钟源来自于同一个时钟源生成的时钟,其相位差可计算预知,这里不包拈来白同一时钟源但是在一定时钟周期内(例如1000ck)依然无汯确定公共周期的时钟,通常为由PLL生成的非整数分频或者倍频时钟。异步时钟是指的相位差无法预测的时钟,通常来自于不同的时钟源。2、亚稳态的概念/可能出现的场合和抑制手段亚稳态是指触发尜的建立时间或者保持时间不能满足时触发尜的输岀介于0或者1两者之间的某个不稳定态。理想的触发器在时钟到來时刻采样数据,但现实之中时钟边沿通常具有一定斜率,因此数据需要在时钟到来的前后各一段时间内保持稳定,使得触发器能够准确采样数据,否则就可能岀现亚稳态。亚稳态通常出现在同步时钟驱动电路的异步复位信号来临和消失的时候,或者是异步时钟域之冋数据传递的时候。前者解决方案是釆用同步复位(通常会导致电路逻辑资源占用面积增加)/或者是异步复位同步释放方式避免亚稳态;后者通常考虑用昦步FFo,双端口RAM,双触发器,或者是握于杋制等方法进行冋步ε比外还有例如降频,使用速度较快的触发器,改善时钟质量也会有一定效果。3、异步FIFO原理/FFO的深度计算/同步FFO/要求自凵写异步FFO代码/自凵尝试添加约束(H: Desktop Hardware study Async _ FIFO)异步FFO主要用于实现异步时钟域之间的数据传输。异步F|FO由以下几部分构成。●BRAM/DRAM组戍的缓冲区。用于缓存数据流,其深度的设定需要根据输入输岀数据的吋钟差别以及最大连续输入/输岀数据量确定。读写指针。其变化需要根椐FFO的空满状态以及当前的读写请求指令共同确定。当缓存为空则不读,读指针不变;当缓存为满不可写,写指针不变。空满状态标志。由于异步FFO工作在不同时钟域,因此对空满状态的判断依赖于不同时钟域的读指针和写指针。为了便于区分“快一圈”的现象,可以考虑将指针位宽多设置一位,当最髙位相同时候,读指针等于写指针认为是读空,当最高位不同的吋候,读指针等于写指针认为是写满●同步电路。由于两者读写指针比较是在不同时钟域下进行,因此为了避免亚稳态需要进行同步设计。此处通常采用格雷码进行比较(传输端首先 BIN TO GRAY,经过两级触发器在目的端同步,然后 GRAY TO BIN,进行下一步的比较,得出空满状态),保证一次只有一位数据变化,利用格雷码结合两级触发器进行同步后,可以严格保证至少数据不会出错(起码是原地踏步,不会造成满状态写入的情况),中间加的两级触发器公对实际状态做延迟比较(避免了空读和满写),也属于保守预估,最多是不是真空/真满情况下告知空淸,但是不会导致数据出错,属于保守的方法●FFO深度计算,计算主要考虑最坏的情况,例如100wclk里血进来80个这种,需要考虑200个时钟内连续进米160个的情况,然后计算深度也是根据“平均进米一个出去几个,然后乘以最大连续量即可得到FFO深度”这样的方式考虑最大深度同步FFO由」驱动时钟同步,因此可省去中闩同步器以及格雷码编码机制,其作用原理和异步FIFO类似4、双端口RAM的实现/要求自己写双端口RAM(H: Desktop Hardware study async_ Dual _port ram)FPGA内部RAM资源分为 Block ram和 Distribute ram,前者一殷用于大量数据的缓存,后者多用于小部分数据缓存。就速度而言由于 Distribυ ute ran利用FPGA内部 Slicer的LUT存储资源,少量存储的话速度比较快,但是大量存储会对布线造成影响,难以保让时序。FPGA可以配置 Single-port-ram, Simple-port-ram,True- port-ram等形式的RAM,读写模式有 write-first,read-frst,no- change等模式, write-first表明输出端口的数据和写入的数据相冋, read-first表明输出端口的数据为当前地址之前存储的数据,no- change表明输出数据为写入之前一刻的数据不变;Single- port-ram同时只能进行读或写操作; True-port-ram可同时进行读写操作,但是要避免地址冲突,不能两个端口同时对一个地址写入, Simple- port-ram实际上是 True-port-ram只开启了A端口的写入和B端口的输出。5、两级触发器同步/应用场合/MTBF的计算以及2FF的计算两级触发器通常用于异步时钟域之间的单比特信号传输,通常是控制信号。其扣制亚稳态传播的原理并不是避免亚稳态的发生,也无法避免出错信号的继续传输,而是尽量减少亚稳态传播的概率。根据触发器MTBF(平均故障时问间隔)计算,一缬触发器的MTBF=(e^(tmet/c1)/c2*f*a)两级触发器MTBF=(MTBF1)*MTBF2),相当」不稳定态在第一级触发器后被阻断了传播。如果条件更苛刻可考虑三级触发器。6、握手机制/代码(H: Desktop Hardware study async dual_ port ram握于机制通常用于数据传输速率要求不高但要求准确的场合,两边的握手信号都需要各自时钟域的同步器进行同步。当接收端经过冋步电路接收到req信号后锁存总线数据,然后发岀ack信号,ack经过冋步电路后到达发送端,发送端接受后撤销req信号,接收端也撤销掉ack信号,一次握手完成7、同步复位/异步复位/异步复位同步释放/三者比较/代码同步复位指的是时钟有效沿来临的时候进行复位操作,冋步复位使得电路为冋步电路,能够利于仿真,缺点是要求复位信号要大于一个周期,否则无法保证成功复位,此外综合出米的电路实际上并没有利用器件的复位端,而是在输入端插入额外的逻辑电跻,这样増加了额外的逻辑资源消耗。异步复位是指的在仼何时候只要复位信号有效即可复位,不占用额外的逻辑资源,充分利用器件的复位引脚,但是由于来临和结束时间未知,容易引起亚稳态现象对于FPGA的Fip-Fop,一般有同步复位,置位引脚RST/S和异步复位,置位引脚CLR/PRE,对于同步复位,需要引入额外的MUⅹ电路控制RST/S,对资源有一定的占用比较理想的方式是异步复位同步释放,既充分利用了器件的复位引脚,又能够有效避免亚稳态的产生。8、恢复时间/去除时间/ positive or negetive or global skew/ jitter/Recovery time(恢复时间)是指的异步控制信号(例如复位信号)在被断言后到下一个时钟沿的最短时间Recovery time is the minimum amount of time required between the release of an asynchronous signal from theactive state to the next active clock edge.(类比建立时间)( Example: The time between the reset and clock transitionsfor a flip-flop if the active edge occurs too soon after the release of the reset the state of the flip-flop can be unknownUFF5UFF6CDN-aCKNbCKCLKPRemoval time(去除吋间)是指异步控制信号在吋钟沿后需要保持稳定的吋间。 Removal time specifies theminimum amount of time between an active clock edge and the release of an asynchronous control signal.(类比保持时间)这个异步控制信号可以来自于“异步复位同步释放产生的复位信号,如下图”。positive or negetive or globa|skeW分别表明相比| atch clock edge的延迟为正/负/最大延迟减去最小延迟Clock jitter指的是实际周期和理想厝期之间产生的偏差,jter通常由时钟发生器电路,噪声,电源变化引起9、触发器组成/锁存器组成/区别触发器通常包括SR触发器,」触发器,D触发器,T触发器;SR锁存器由与非门或者或非门组成,SR触发由时钟控制逻辑加上双与非门/或非门组成,还有门控SR触发器将时钟换为使能即可。四状态分别为保持/0/1/不允许。不允许态主要是全1/全0同时翻转为0/1不能确定哪个逻辑元件最先变成0/1,从而导致下一时刻不定态D触发器由时钟边沿触发,锁存数据,D触发器是FPGA中的主要元件,T发器作用是翻转信号Q00-1DcLK-(LDLa触发器对边沿敏感,锁存器对电平敏感10、脉冲检测电路(非同步时钟如何处理,快到慢,慢到快)对于慢时钟到快时钟的脉冲检测电路,由于脉冲长度一般大于接收端一个时钟周期,可以利用两级触发器结合一个与门和反相器电路实现单周期脉冲的传输,如图1;对于快时钟到慢时钟区域的检测电路,由于脉冲长度一般较小,可能导致慢时钟区域检测不到,因此可借助脉冲信号作为触发器的时钟信号,然后利用接收端信号重新复位该触发器信号即可,如图2对于相同时钟的脉冲检测电路,可以利用两级触发器结合与门和非门电路,类似方案一11、可综合和不可综合概念/ timescale的理解可综合是指的代码能够被EDA工具映射为具体的逻辑电路,能够在硬件端实现的语句;不可综合指的无法被映射为只体的电路在哽件端,通常用于仿真阶段timescale是指的吋间维度的常量,用于仿真阶段,由吋间最小单元和时间精度两部分组成,例如 timescale1ns/1000s,意思是时间最小延迟单元为1ns,按照1005的精度进行换算,#5.22代表延迟52*100p5,如果是1ns/1s则代表延迟5220s,如果遇到一个模块包含其他模块的情况则精度按照最小的精度计算。精度越高会导致仿真的复杂度越大,仿真需求时间也就越久。12、组合逻辑环路概念缃合逻辑需要避免牛成环路,即绢合逻辑输岀端不绎过仟何时序逻辑就反馈到输入节点形成的环路,这样公产生振荡和毛刺等现象,而且会出现无法预知的结果。这样的组合逻辑坏烙的功能完全依赖丁逻辑元件的延迟和布线延迟,具有很大的不确定性。13、静态时序分析/动态时序分析/二者对比静态时序分析(STA)通过遍历系统中所有路径来计算每条路径是否满足时序要求。无需外部信号激励的输入,只需要按照设计要求作岀对应约束即可。静态时序分析不能分析电路逻辑功能是否满足需求,只能测试设计是否满足时序要求,系统能否在要求的时钟速率下正常运行。静态时序分析的速度较快。动态时序分析是指的对系统生成测试向量并查看输出结果是否满足设计要求的方法。动态时序分析能够验证系统的逻辑功能,但难以通过输入向量测试到所有路径,而且随着输入信号数量增加,验证复杂度会越米越大。14、建立时间/保持时间/数据到达时间/数据需求时间/建立时间裕量/保持时间裕量建立时间( (setup time)是指的时钟边沿到来之前数据保持稳定的最少时间。保持时间( hold time)是指的时钟边沿到来后数据保持稳定的最少时间。数据到达吋间( data arrival time)= Latch+Tlka+Tcq+ Logic建立时间的数据需求时间 data required time/ setup)= Capture+llkb-Tsu- Uncertainty保持时间的数据需求时间 data required time/hod)= Latch+Tk+Thd- Uncertainty( Uncertainty-还是+存疑)建立时间裕量( setup slack)=( data required time- data arrival time)=T-Tsu-(Tcq+ Logic)+ Skew保持时间裕量( hold slack)=( data arrival time- data required time)= Skew+Thd-(Tcq+ Logic15、四类时序路径及起点终点/完整的时序路径包含三部分/建立时间检查,保持时间检查/恢复时间检查,去除时间检查/检查违例的解决方案Start point-All input ports/pins or clock ports /pins of sequential cells are considered as start pointsEnd points-All output ports/ pins or d pin of sequential cells are considered as end pointsA.输入端口到第一级寄存器的数据输入D端之间路径B.最后一级寄存器输出Q端到输出端口之间路径C.系统内部寄存器的时钟端口CLK到下一级寄存器的数据输入端口D之间路径D.输入端口经过组合逻辑到输出端口之间路径个完整的时序路径包括源时钟路径(时钟端到当前寄冇器的时钟输入端),数据跤径(当前寄存器时钟输入端到卜一级寄存器数据输入端),目的时钟路径(时钟端到卜一级寄存器的时钟输入端)建立时间检查上要看数据路径的最大延迟路径,两级寄存器时钟skew最小的情况,淸足建立时间需要有:T+Tskew-Tsetup >(Tcq +Logic保持时间路径主要看数据路径的最小延迟路径,两级寄存器时钟skew最大的情况,淸足保持时间需要有:(cq+Tlogic)> Thd+ Tskew恢复时闩检査和去除时冋检査比较类似建立时间和保持时间检查,检查方式是一样的,主要看这个异步控制信号(通常是经过“例如异步复位同步释放生成的的复位信号”后传递给寄存器的复位信号)到达的时间是否和时钟边沿满足一定的时间关系,否则可能导致复位失败或者控制失败对于建立时间违例,可以考虑对较大的组合逻辑插入寄存器增加一级流水线,或者是考虑降低时钟频率,或者是考虑优化组合逻辑使之延迟降低;对于保持时间违例可以考虑插λ buffer或者两级反相器对效据路径实现延迟。16、时序约束/时钟约束/输入输出约束/时序例外约束/多周期路径约束( Multicycle paths)/伪路径约束( Falsepaths/ min-max约束/ set bus skew吋序约束是指的对电路的吋序提出要求,并在时序约束的基础上检验系统电路是否能够满足设计需求。●时钟约束是指的对系统中出现的时钟信号添加的限定条件,主要有以下类别:1) Primary clock(通过引脚输入系统) creat clock- name clk in- period10- waveform05}[ get ports clk2) Virtual clock(并未连接到系统的任何端口,只是用来做输入信号的参考,而该信号按照这个虚拟时钟的速率传输,只是这个时钟也没有接到系统任何韶位。可以理解为上游芯片的一个数据时钟,只是这个时钟没有接入系统)tcl语言描述为 create clock- name virtual clk-period103) Generated clock(通过PLL或者内部逻辑,如计数分频生成的吋钟) example1: create generated clock-nameclk div2 -source [get_ports clkin]-divide by 2 [get pins clk div 2]; example2: create generated clock -nameclk div_ mul-source [get_pins mmcmo/ clkin]-multiply by 4 -divide by 3 [get_pins mmcmo/clkout4) Clock groups(主要对异步时钟组之间约束,避免对异步时钟之间进行无效的时序分析,例如两个独立的时钟以及他们生成的时钟网络之间,或者是虽然来自同一个时钟源但是牛成的时钟在1000ck内无法确定公共周期的时it i [a )set clock groups -name async clk -asynchronous- group clk1-group clk 2 set clock groups-name clkunexclusive-group clko-group clk1;5) Clock latency(由于EDA工只通常会自动计算内部网络的时钟延迟,因此通常只需要提供器件外部时钟走线延iRRP H)set clock latency-source-early 0.2 [get ports sysclk]; set clock latency -source -late 0. 5 [get ports sysclk6) Clock jitter (E A input jitter FA system jitter) set input jitter sysclk 0.3 set system jitter 0.117) Clock uncertainty(为特定的时钟或者时钟之间约束) set clock uncertainty0.1[ get clocks clk];set clock uncertainty 0. 2 from [get_ports clk1] to [get clocks clk2输入输出约束1) set_input delay(用于确定和系统某个时钟相关的输入信号的外部路径延迟,通常取决于外部器作输出的最后一级寄存器的Tcq和中间走线延迟。 Consequently, the input delay value can be positive or negative, depending on theclock and data relative phase at the interface of the device,这个相关的时钟可以来自于系统的某个时钟或者虚拟时钟)example 1: set_input delay -clock sysclk [get_ ports din]; example 2: set_ input_ delay -clock sysclk-max 4 [get_ports din]example3: create clock -name clk virtual- period 10set input delay -clock clk virtual -min 2 [ get ports din22) set output delay(用于确定和系统某个时钟相关的输岀信号的外部路径延迟,通常取决于外部走线延迟和下游芯片第一级输入寄存器的建立时冋和保持时冋)exεmple: set output delay- clock sysclk-min2[ get ports dout●时序例外包含多周期路径约束,伪路径约束,最大最小延迟约束1) Multicycle paths(多周期路径通常指的由于系统的特定设计,重新修改建立时间和保持时间检查方式,通常不像EDA工具默认的单周期的检查,多周期路径约束通常定义新的时序检查方式)BEFOREA)相同时钟下由于使能信号等原因导致的多个周期读取IHold:SetupLostnaton clock对于相同时钟,无需确定- start-end,因为参考的时钟都是一样的,只需要重Choct Erable新确定建立时间检查和保持时间检查的关系。由于 setup relationship同时影响crScure cocshold relationship,因此修改建立吋间的同吋也要修改保持吋间关系。如图set multicycle path n -setup -from [get _ pins a-to [get pins b]capture edgeClock Enableset multicycle path N-1hold-from[ get pins a] to get pins b](其中N为建立OIS 2IN 46 CrIS IN 10: I2Slaunch edge时间检查的移动周期数)setupB)相同周期时钟但是有相移,因此修改建立时间检查关系,保持检查会随之-。如。2。=。移动。 set multicycle_path2- - setup- from Iget clocks clk』to[ get clocks clk2]。Destinationapture edge8ns Bn:launch edge Ons 2neine如果是负相移(相移很小)的话,无需约束,情形相当于同吋钟无相移。C)慢时钟到快时钟。 set multicycle_path3- setup-from[ get clocks clk1]-to[ get clocks clk2]Set multicycle_ path 2-hold -end- from iget clocks clk1]-to [get clocks clk2D)快时钟到慢时钟。 set multicycle_ path3- setup- - start-from[ get clocks clk1]-to【xx] set multicycle_ paths2- hold -fromlget clocks clkl to [get clocks clk2];Table 5.3: To define a multicycle path with a Setup of nScenarioMulticycle Constraintslaunch edgeSource cloSame clock domain or betweenset_multicycle_path N-setup-from CLK1 -to CLK2c「L「LLsynchronous clock domains with sameFeriod and no phase-shiftsct_multicycle_path N 1 hold from CLK1 to CLKBetween SLOW-to FAST synchronous clock set_multicycle_ path N-setup from CLK1 -to CIcomaInsset_multicycle_path N-1 -hold-end -from CLK1-to CLK2clock(CLk2capture edgeBetween FAST-to SLOW synchronous clock set_multicycle_path -start -from CLK1 -to CLKcomaInsset_multicycle_path N-1-hold -from CLKI-to CLK2False paths(伪路径约束)对于一些永远不可能起作用的路径或者无需进行时序分析的路径可以设置为 Falsepath(例如异步时钟之间已经经过两级同步器同步则无需分析,例如上电瞬间内容确定则无需分析)example: set false_ path-from [get clocks clk1] to [get clocks clk2]● Min-max(用于约束输入端口到输出端口的最人延迟以及异步信号之间的最人廷迟(意思是即使两个时钟域以经通过同步器或者FFO进行同步,依然可能需要一个最大路径延迟约束川 example1: set max delay10from [get _ ports din]-to [get ports dout] example 2: set max delay - from [get_ pins a]-to [get _pins b●set_bus_skew(用于对异步时钟域多位数据传输路径延迟进行约束,通常用于格雷码转换,多bit数据传输由于传输是多位的bit,因此每个bt之间的路径差异需要被约束,通常是约束一个目的时钟周期。 exampleset bus skew -from[ get cells gray*]-to[ get cells gray_sync+2.5,其中*代表这个寄存器的每个bt;同时为∫保证源时钟和目的时钟之间数据正常传输,需要进一步设置 sex max delay使得这个数据路径的延迟不能超过一定时间(通常是一个源时钟周期) set max delay-datapath only-from[ get cells gray]to[ get cellsgray_sync 517、竞争冒险/消除方法竞争是指的由J逻辑和走线延迟差异导致不同信号到达输入端的时间不同,冒险是指的由于不同信号到达输入端时间差异导致输出信号存在短时不稳定的现象,也叫输出毛刺。消除互补乘积项,例如(A~+B)*(A+C需要消除AA●增加冗余项,例如AB+A~C,当B=C=1的时候是A+A~,因此可以考虑增加BC项,这样就桷保输出无毛刺。输出端并联电容器,能够是的毛刺的上升下降沿变得缓慢,从而抑制毛刺被后级电跻读取的慨率。将组合逻辑电路转变为时序逻辑,因为触发器对毛刺边沿不敏感,可以有效减少毛刺对后级电路影响18、状态机分类/状态转移图/一段两段三段式状态机区别特征(优缺点,本质特征,状态数差别,输出改变时间差别,状态机也分为同步状态机(有CLK控制输出)和异步状态机)/思考具体的状态机实例(饮料售卖)MeaⅣy状态机:输出取决于当前状态和输入,输出可以在输入发牛改变之后立刻响应,具有异步输出的特点,Meay由于结合了当前输入信息和状态信息,因此状态数量更少。Moore状态机:输山仪仅取决于当前状态,和Meay相比 Moore机首先根据输入信息更新状态,然后在下个时钟根据当前状态决定输出,因此速度响应比Meay慢一拍,但是具有可以同步输出的特点。设计状态机首先考虑改计功能需求,然后根据运作流程列举可能的状态并根据转移条件列状态转移表转移图。状态的编码可以考虑采用格雷码(适用于连续跳变)或者是独热码,段式状态机将状态转移和输出集中在一个 always块内书写,电路为时序逻辑不会产生毛刺,但是书写代码冗长且不易修改,可维护性差;两段式状态机将状态转移和输出分放在两个 always块中,前一个用时序逻辑进行状态调转,第二个用组合逻辑控制下一状态的计算和组合逻辑输出,容易产生毛刺。这种与法只有最优的血积和时序性能,但是由于是组合逻辑输出因此增加了到下一级寄存器的输出延迟。段式状态机分为状态调转模块,状态转栘条件判断模块,输岀逻辑模块。三段式状态机将组合和时序逻辑分开,易于维护和综合饮料杋编写(自己编的题目),可以首先考虑实现的玏能,输入应该包括时钟信号,复位信号,输入的钱,输入的饮料选择,以及是否有当前饮料存货;输岀应包括找岺,饮料输出,无饮料提小等信息。中间状态应包括空闲状态,提示无饮料,输入钱多,输入钱正好,输入钱相等,找钱,出饮料,提示继续输入钱等状态,基于上述可能的状态进行状态转移图绘制,然后编写状态转移组合逻辑以及输出逻辑。“H、 Desktop Hardware_ study Sail_· machine”19、系统级/算法级/RTL级/门级/开关级Verilog HDL语言自顶向下通常分为系统级,算法级,RTL级(寄存器传输级),门级,开关级;系统级措述语言提供的髙级结构和所能实现的性能算法级措述算法运行的模型,以上两种描述级别一般不涉及具体实现细节,不考虑是否能转化为硬件结构。RTL级用」描述数据如何在寄存器之问流动和传输门级用于描述逻辑门之间的连接模型开关级措述的是器件晶体管规模的具体连接和信号流动模型前三个级别表述的是行为级,后两个级别分别代表逻辑级和电路级20、阻塞赋值/非阻塞赋值阻塞赋值是指的执行当前语句的时候阻塞其他语句的执行,因此阻塞赋值的执行具有一定的顺序性;非阻塞赋值是指的一次激活操作来临后会首先计算所有非阻塞语句表达式的右值,在激活操作结束后统一赋值给左边变量,执行无先后顺序,当前语句的赋值操作不会阻塞其他语句的赋值操作,因而叫做非阻塞赋值。在设计代码的付候通常对组合逻辑采用阻塞赋值,对时序逻辑采用非阻塞赋值,对阻寒赋值和非阻寒赋值分开在不同的away坎中实现。21 function/task/ repeat/ while/ forFunction用于执行一段的功能电路,由组合逻辑组成,至少一个输入,无输出。返回一个输出值(缺省值为1bit寄存器数据),输入输出的类型可以自己定义。 function可以驱动和使用全局变量,内部定义的为局部变量。函数
    2021-05-07下载
    积分:1
  • 696516资源总数
  • 106658会员总数
  • 16今日下载