登录
首页 » Others » boa web服务器 ARM9下 linux编译移植成功

boa web服务器 ARM9下 linux编译移植成功

于 2021-05-07 发布
0 236
下载积分: 1 下载次数: 2

代码说明:

嵌入式web服务器支持CGI编程 移植到ARM板上修改权限 chmod +x boa 再输入 # boa & 后台运行

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

发表评论

0 个回复

  • matlab 2014b HDL Coder Users Guide
    Matlab 官方有关于HDL coder开发的详细技术文档, HDL Coder可以把Simulink模型、MATLAB代码和Stateflow框图生成位真、周期精确、可综合的Verilog和VHDL代码,很适合用于FPGA/ASCI的快速开发,里面还有大量的例程等等ContentsHDL Code generation from MATLaBMATLAB Algorithm DesignData Types and scope1-2Supported data TUsuppyted data type1-3Scope for variables1-3Operators1-4Arithmetic operate1-4Relational operators1-4ogical Operators1-5Control flow statements1-6Vector Function Limitations related to Control1-7PersistentⅤ ariables1-8Persistent Array variables1-10Complex data Type Support1-11Declaring complex signaIs1-11Conversion Between Complex and real signals1-12Support for vectors of Complex Numb1-12ystem Objects1-14Why use System objects?1-14Predefined System Object1-14User-Defined System ob1-14Limitations of HDL Code Generation for SystemObjects1-15System object Examples for HDL Code Generation.. 1-16Predefined System Objects Supported for HDL CodeGeneration1-17Load constants from a mat-file1-18Generate Code for User-Defined System Objects1-19How To Create a User-Defined System object1-1User-Defined System object Example1-19Map Matrices to ROM1-22Fixed-Point bitwise Functions1-231-23Bitwise Functions Supported for HDl Code Generation 1-23Fixed-Point Run-Time Library functions1-29Fixed-Point function limitations1-33Model State with Persistent variables and SysteObjects1-34Bit Shifting and bit rotation1-8Bit Slicing and Bit Concatenation1-41Guidelines for Efficient hdL code1-43MATLAB Design Requirements for HDL CodeGeneration1-44What is a matlab test bench?1-45MATLAB Test Bench Requirements and bestractices1-46MATLAB Test Bench requirements1-46MATLAB Test bench best practices1-46ContentsMATLAB Best Practices and Design Patterns forHDL Code generation2Model a counter for hdl code generation2-2MATLAB Counter2-2MATLAB Code for the counter2-3Best Practices in this Example2-4Model a state machine for HDL Code Generation2-5MATLAB State machinesMATLAB Code for the Mealy State MachineMATLAB Code for the moore state machine2-7Best practic2-9Generate hardware Instances For local functions2-10MATLAB Local functions2-10MATLAB Code for mlhdlc two counters. m2-10Implement RAM USing MATLAB Code2-13Implementation of RAM2-13Implement RAM Using a Persistent Array or Systemobject Properties2-13Implement RAM Using hdl. RAM2-14For-Loop best Practices for HDL Code generation2-16MATLAB Loops2-16Monotonically Increasing Loop Counters2-16Persistent Variables in Loops2-17Persistent Arrays in Loops2-17Fixed-Point Conversion3Floating-Point to Fixed-Point Conversion3-2Fixed-Point Type Conversion and Refinement3-16Working with Generated Fixed-Point Files3-26Specify Type Proposal Options3-33Log Data for Histogram3-37Automated Fixed-Point Conversion3-40License Requirements3-40Automated Fixed-Point Conversion Capabilities3-40Code Coverage3-42Proposing Data Types3-45Locking Proposed Data Types3-47Viewing functions3-47lew1ariables3-48Istogram ...3-54Function Replacements3-56Validating Types3-57g Numerics3-57Detecting Overflows3-57Custom plot functions3-59Visualize Differences Between Floating-Point and Fixed-Point results3-61Inspecting Data Using the Simulation Data Inspector 3-67What Is the Simulation Data Inspecto3-67Import Logged Data3-67Export Logged data3-67Group signals3-67Run options3-68Create Report3-68Comparison Options3-68Enabling Plotting Using the Simulation Data Inspector 3-68Save and Load simulation Data Inspector Sessions3-68Enable Plotting Using the Simulation Data Inspector 3-70From the UI3-70From the Command Line3-70Replacing Functions Using Lookup TableApproximations·3-72Replace a custom function with a lookup Table3-73From the UI3-73i ContentsFrom the Command line3-81Replace the exp Function with a Lookup Table3-84From the ui3-84From the Command line3-92Data Type Issues in Generated Code3-94Enable the highlight Option in a MaTLAB CoderProject3-94Enable the Highlight Option at the Command Line... 3-94Stowaway doubles3-94Stowaway singles3-94Expensive Fixed-Point operations3-94Code GenerationCreate and set Up Your Project4-2Create a New Project4-2Open an Existing ProjectAdd Files to the project4-4Primary Function Input Specification4-6When to Specify Input Properties4-6Why You must Specify Input Properties4-6Properties to Specify4-6Rules for Specifying Properties of Primary Inputs4-8Methods for Defining Properties of Primary Inputs4-8Basic hdl code generation with the workflowAdvisor4-10HDL Code Generation from System Objects4-14Generate Instantiable code for functions4-19How to generate Instantiable Code for Functions4-19Generate Code Inline for Specific Functions4-19Limitations for instantiable code generation forFunctions4-19Integrate Custom HDL Code Into MATLAB Design.. 4-21Define the hdl. Black Box System object4-21Use System object In MATLAB Design Function4-23Generate HDL Code4-23limitations for hdl. black box4-26Enable matLab function block generation4-27Requirements for MaTLAB Function Block Generation 4-27Enable matlab function block generation4-27Results of matlab function block generation4-27System Design with HDL Code Generation fromMATLAB and simulink4-28Generate Xilinx System Generator Black Box Block4-32Requirements for System Generator Black Box BlockGeneration4-32Enable System Generator black Box block GeResults of System Generator Black Box Bloc neration4-32Generation4-33Generate Xilinx System Generator for DsP black boxfrom MATLAB HDL Design4-34Generate HDL Code from MATLAB Code Using theCommand line interface4-40Specify the Clock Enable rate4-45Why specify the clock Enable rate?4-45How to Specify the clock Enable rate4-45Specify Test Bench Clock Enable Toggle rate4-47When to Specify Test Bench Clock Enable Toggle rate4-47How to Specify Test Bench Clock Enable Toggle rate4-47Generate an HDL Coding Standard report fromMATLAB4-49Using the hdl Workflow advisor4-49Using the Command Line4-51Generate an HDL Lint Tool script4-53How To generate an hdl lint Tool Script4-53ContentsGenerate a Board-Independent Ip core from MATLAB 4-55Generate a board-Independent Ip core4-55Requirements and Limitations for IP Core generation4-57Minimize clock enables4-58Using the GUi4-59Using the Command Line4-59Limitations4-59VerificationVerify Code with HDL Test Bench5-2Generate Test bench with file i/oWhen to Use file i/o In Test bench5-5How Test bench generation with file i/o works5-5Test Bench Data files5-5How to generate Test bench with file i/o5-6Limitations When Using File 1/0 In Test Bench5-6DeploymentGenerate Synthesis Scripts6-2Optimization7RAM Mapping7-2Map persistent Arrays and dsp. Delay to RAM7-3How To Enable RaM Mapping7-3RAM Mapping requirements for Persistent Arrays andSystem object PropertiesRAM Mapping Requirements for dsp. Delay Systemob7-6RAM Mapping Comparison for MATLAB Code7-8Pipelining7-9Port registers7-9Input and Output Pipeline registers7-9Variable pipelining7-9Register Inputs and Outputs7-10Insert Input and Output Pipeline registers7-11Distributed Pipelining7-12What is Distributed Pipelin7-12Benefits and Costs of Distributed pipelining7-12Selected Bibliograph7-12Pipeline matlab variables7-13Using the hdl Workflow Advisor7-13Using the Command Line Interface7-13Limitations of MatlAB Variable Pipelining7-13Optimize MatLAb loops7-15oop Streaming7-15Loop unrolling7-15How to Optimize maTLaB loops7-15Limitations for MaTLAB Loop Optimization7-16Constant Multiplier optimization7-17Specify constant multiplier optimization7-19Distributed Pipelining for Clock Speed Optimization7-20Map Matrices to Block RAMs to Reduce Area7-27Resource Sharing of Multipliers to Reduce Area7-32Loop streaming to Reduce Area7-41Contents
    2020-12-10下载
    积分:1
  • 基于MULTISIM的N型忆阻器仿真
    基于MULTISIM的N型忆阻器仿真,可以看到良好的仿真结果
    2020-12-09下载
    积分:1
  • 800个Unity材质球
    里面有800个Unity的材质球,亲测可用,本人用Unity5.6.5版本测试的,建议使用Untiy5.X及其以上的版本使用,本资源仅供分享交流,请勿商业使用
    2020-11-27下载
    积分:1
  • 基于MATLAB的三电平逆变模型研究
    基于MATLAB的三电平逆变仿真模型基于MATLAB的三电平逆变仿真模型基于MATLAB的三电平逆变仿真模型
    2020-11-30下载
    积分:1
  • CCS for 6000教.doc
    【实例简介】第一章 CCS概述 1 1.1 CCS概述 1 1.2 代码生成工具 3 1.3 CCS集成开发环境 5 1.3.1 编辑源程序 5 1.3.2创建应用程序 6 1.3.3 调试应用程序 6 1.4 DSP/BIOS 插件 7 1.4.1 DSP/BIOS 配置 7 1.4.2 DSP/BIOS API 模块 8 1.5 硬件仿真和实时数据交换 10 1.6 第三方插件 13 1.7 CCS文件和变量 14 1.7.1安装文件夹 14 1.7.2文件扩展名 14 1.7.3环境变量 15 1.7.4增加DOS环境空间 16 第二章 开发一个简单的应用程序 17 2.1 创建工程文件 17 2.2 向工程添加文件 19 2.3 查看源代码 21 2.4 编译和运行程序 23 2.5 修改程序选项和纠正语法错误 24 2.6 使用断点和观察窗口 26 2.7 使用观察窗口观察STRUCTURE变量 28 2.8 测算源代码执行时间 29 2.9 进一步探索 31 2.10进一步学习 31 第三章 开发DSP/BIOS程序 32 3.1 创建配置文件 32 3.2 向工程添加DSP/BIOS文件 34 3.3 用CCS 测试 36 3.4 测算DSP/BIOS代码执行时间 38 3.5 进一步探索 40 3.6 进一步学习 40 第四章 算法和数据测试 41 4.1 打开和查看工程 41 4.2 查看源程序 43 4.3 为I/O文件增加探针断点 45 4.4 显示图形 47 4.5 执行程序和绘制图形 48 4.6 调节增益 50 4.7 观察范围外变量 51 4.8 使用GEL文件 53 4.9 调节和测试PROCESSING函数 54 4.10 进一步探索 56 4.11 进一步学习 57 第五章 程序调试 58 5.1 打开和查看工程 58 5.2 查看源程序 60 5.3 修改配置文件 63 5.4 用EXECUTION GRAPH查看任务执行情况 66 5.5 修改和查看LOAD值 67 5.6 分析任务的统计数据 70 5.7 增加STS显式测试 72 5.8 观察显式测试统计数据 73 5.9 进一步探索 75 5.10 进一步学习 75 第六章 实时分析 76 6.1 打开和查看工程 76 6.2 修改配置文件 77 6.3 查看源程序 79 6.4 使用RTDX控制修改运行时的LOAD值 81 6.5 修改软中断优先级 84 6.6 进一步探索 85 6.7 进一步学习 85 第七章 I/O 86 7.1 打开和查看工程 86 7.2 查看源程序 87 7.3 SIGNALPROG应用程序 90 7.4 运行应用程序 91 7.5 使用HST和PIP模块修改源程序 93 7.6 HST和PIP资料 96 7.7 在配置文件中增加通道和SWI 97 7.8 运行修改后的程序 100 7.9 进一步学习 100
    2021-12-06 00:39:30下载
    积分:1
  • K-均值聚类实现路标检测
    用k-means聚类以及特征提取算法,实现道路标志检测。
    2020-11-30下载
    积分:1
  • simulink仿真16QAM调制
    概述: 基于simulink的16QAM调制仿真。资源内容:1. QAM simulink 仿真相关代码及模块文件 2. 关于该仿真代码的分析与介绍(PPT)
    2020-12-05下载
    积分:1
  • 经典SVM算法多类分类matlab
    经典SVM算法多类分类 matlab程序
    2020-12-07下载
    积分:1
  • 伪随机序列及其应用(肖国镇)
    M序列 m序列 gold序列 详细原理内容筒介本书介细伪份阻机序列的理论与用a本书共分六章前三章介绍战性和非线性移位存器的基本理论。第四、五章讨论实紫应用中最为美心的伪随机序列的相关函数使性。幣六章介绍伪随机序列的各种陀用即在伪码测距、导航协码多址、激字数据加器、噪声产生器,数保密系统中的应用举例。本书雷用的数学卿识尽量用为工程术人员容晏接受的方式刚述。勤繈机序列的抡近几年来又发现了在一些新兴领城中用a多雄伪隘机胖列的研宽正在受到广泛的重祝。本书可作为通、骨达、导航、遥控、遘测及计算机等有关专业的大学生、折蜕生和工程技术人员的参考书伪视序判及其应肖「慎椠传甲王育身編着任;夺端一桌社出版新华书店北京发行所发行各地新华书店经售国工业出版社印刷厂印装850×1161/印张21/2330千字18年3月榘一版.1985年3月第一次印刷印数,0p001-4600统一书号:150834·2727足价n240元序伪随机序列(或称伪噪声序列)的理论与应用,从产生到发展,算来已有二十几年的历史了。但是,这项新理论与新技术并不象某些其它所谓新思掘那样,突然爆发出来,形成一阵热潮,尔后不久便还渐消声匿迹乃至无人问津了。伪随机序列的理论在它形成的初期,便在通信、雷达、导航以及密码学等重要的找术领城中获得了广泛的应用。而在近年来的发展中,它的应用范围远远超出了上述领域之外,如自动控制、计算机,声学和光学测量数字式跟踪和测距系额以及数字网络系统的故障检测等。正象它的丰富多采的应用吸引着许多工程技术工作者一样,它的优美奇妙的数学理论以及许多尚待解决的数学问题也引起了理论工作者的极大兴趣。为了进一步发展伪随机序列的理论与应用研究,我们认为在圃内出版一本既有一定理论深度又注重这一新理论广泛应用的书是适宜的。这正是我们试图写作这一本书的主要且的。在这方而,我们特别感谢万哲先教授的鼓励与支持,他曾多次建议我们编写一套有关伪随机码与编码裡论及其应用的书本书共分六章。前三章介绍线性利非线性移位寄存器的基本理论。这方面所需要的数学理论主要是伽罗瓦( Galois)域论。本书假定该者对这一理论已有一定程度的了解。对于不太熟悉这…理论的该者,可参看万哲先教授所著的《代数与辅码》这本理论著作。本书的第四、五两章讨论实际应用中最为关心的伪随机序列的相关函数特性。第六章介绍伪随机序列的各种应用。伪随机序列在工程技术上有很多成功的应用,由于涉及的面很广而又多样化,本书不可能包罗万象。但是,我们试图对伪随机序列的几种典型应用作一较为清晰的介绍。自然,难免在题材的选取上受到了主观医素的影响。好在书末列入了有关的参考文献,以供读者去深入研究更广泛的裸题。研究生何大可同志在本书的写作过程中帮了很大的忙。他在本书的某些部分做了整理加工以及抄写、绘图的工作,并为木书中所介绍的一些算法编制了计算程序。考到多元伪随桃序列的理论与应用的新近发展,已将此项内容作为附录列入本书。书末有关的附表以及这一附录都是何大可同志编写的。作者还感谢西北电讯工程学院资料室的同志在本书写作过程中所给予的支持和帮助。感谢编码讨论斑同志们的戟励、批评和建议。出于我们的水平有限,本书难免会有许多缺点及不当之处,诚悬地新望得到广大读者批评和指正目录笫一章反馈移位寄存器的基本概念……………■b■■日■●■tD萨多1.1反馈私位寄存器h■日中冒暑白日日h山山日斷■中■晋ψ斷4晋冒b■日甲【看■■中卢卩■「日■卩■↓昌51.2反馈逻辑函数…;……………*…………………………71.3线性反馈移位寄存器及非线性反馈移位寄存器ta4++131.4有向图的一些基本概念…1.5迪布瑞菌古德( de brts-Good)图…“………………"1.6周期性与閣……………………………………………………s1.7两个简单移位寄存器的分析"“引F§18布尔函数与某一变元无关的判定准则………………"53笫二章线性反做移位寄存器序列……………"…………s9§2.1线性馈移位寄存器序列………………………………592.2纔性移位窬存器序列的周性23非退化线性移位窬存器状态图中圈长的丹布与圈的个数………652.4m序列……………“………78§2,5m序列的伪随机性…·d■■1·■■·■dp2.6线性递归方程的解法白日即自司■口··bb■如b画即■44b即4■■甲bbd92.7线性移位寄存器序列的果样9g2.8线性移位寄存器的综合…………………"………………l0g第三章非线性反馈移位寄存器序列…23§3.1非线性移位寄存器分析申『P■申卓血p2388.2M序列853.3非线性移位寄存器的综合iSi笫四章序列的相关函数卓卓章·d754.1序列相关函数的一般性质……………"………l474.2m序列的互祁关函数■噜『噌■■·■血曾■鲁■曾音會血會■自曾P口■口■『■口4■自…F34.3好的序列旋一戈尔德(God)序列族…"………l84.4其它好的序列族345非周期自相关函小的序列……………!出FA.6互补序列自P■_p即音■冒4幽p■44個音■_4P甲P■■■产§4.7多相序列h4山山20§4.8二元正交序列族…………………………………"………21第五章复合序列及其p相失函数2205.1序列的组合及其舆福关性…22085.2序列的布尔组合及其相关函数…b『『…………235.3模二和复码及其相关函数…………………………285.4复码自相关函嶽的解析计算法…2335.5复合序列的功率谱度……-……M"?37第六章伪随机序列的应用29紧6.1伪码测距原理…a▲249§B.2导航中的应用…【司『■■P■■血■…‘2f§63份码多址系统……………………………"…""2776.4数字嶽据加乱器28了865随机序列作为噪声产生器■上■■■■血“『■『■6,6数据傑密系统中的应用…………………………30l附录多维伪随机阵列…307邹71基本概念…………………"……""""………""…""37§7.2具最大商积基块周期乎面的综合…………甲3f4邹7.3具最大容积基块的多维聞期阵列及其综合卜山卩■■昏■■■■Lp■q↓警7,4周期平面的其它踪合法………"了5?.5周期平面的应用…………………………………"364附表一F2上不可约多项式的表(次数≤10)附表二F2上不可约三项式x十x十1的表〔2≤n≤100,1≤≤!2)374附表三F2上本原多项式的表(次数≤168,每个次数一个)附表四GF(q)上本原多项式的表(g=3,4,8,次数≤10)8附表五产生5级(二元)M序列的移位寄存器的反馈函数∫(x:x2,…,)的表(2048个)380参考文390第一章反馈移位寄存器的基本概念大家知道,一般控制系统大体上可分为动态系统与静态系统两大类。在所谓动态系统中,其系统特性是由含有时间参数的输出、输入变嚣的微分方程来描述。而在静态系统中,其系统特性可用没有时间参数的方程来描述。此时,系统在每一瞬间的输出仅由同一瞬间的辖入来决定。近年来在数宇设备中所考虑的,是种特殊的静态系统,即所谓二元系统。这种系统中的变量只取两个值,简单地表示为“0”和“1”。描述这种二元系统的方程可出含有逻辑运算“与”、“或”、“非”的关系来表示。有时也把这种二元系统称作静态辑系统,它是电子工程实践中最为重要的静态系统。在本书中我们所要讨论的是一种典型的二元系统,即所谓反馈移位寄存器。由于这种装置在无线电电子技术中具有广泛的应用,因而近年来特别引超人们的重视。在本章中,我们将对反馈位寄存器的基本结构及其有关概念做一大致的介绍。从本质上说,我们的论述可以在q元域GF(q)上进行。但是,考虑到目前具有实用价值的仍然是二元的情况,因此我们仅在二元城GF(2)中进行讨论。为简便,今后用F与E2分别代装GF(q)号GF(2)§1.1反馈移位寄存器现在我们来考察一般反馈移位寄存器的基本结构。图1.1.1是这种反馈移位寄存器的框图。它由串联的个二元移存器及个开关网络构成众所周知,每一个二元存储器即为一个双稳态触发器,它的两钟状态分别记为“1”与“0”,每个触发器看作级。因此,图⊥.1,1可以看作是一个r级反馈彬位衔存器。图时钟脉冲汗头网新图1.1.一般反移位寄存器示意图中上面一排小方框,自左至右,分别称为第1级、第2级、第8级、…第r-1级及第r级存储器。下面一个长方框内所示的开关网络可视为具有r个输入端及一个输出端的组合门电路。从理论上来说,这“組合门电路可由一个含有r个逻辑变元x1,x2…,x的布尔( Boole)数∫(x,x:,来标志。我们称这一函数为该组合门电路的反馈逻辑函数。上述反馈移位寄器的工作是受时钟脉冲控制的。假定在第j个时钟移位脉冲(第j拍)到来时,移位寄存器的状态是j于是,再来一个时钟脉冲使j增至j十1时(第j+1拍),最右面的一级在第j拍之状态a即为输出,并且每个存贮器在第∫+1拍之状态恰为邻接于它的左面的存贮器在第拍之状态。同时,这r个寄存器在第j拍之状态输入至开关网络后,相应的输出为a=f(a,an+…,aa-),它反馈给最左面一级,作为第1级寄存器在第∫十1拍的状态。这样来,从状态转移的角度来看,从第氵拍过渡到第j十1拍后,就使移位寄存器的状态由(apa…,a}-四1)变换到(qa;),记作Tr(a吁…,ax1)→(吁,*…,1!a1),或T af-ss a-r)=(a1+,a↓2费称T为这一反馈移位寄存器的状态转移变换。从上面的分析不难看出,对于反馈移位寄存器来恍,超决定性作用的是那个组合门电路的反馈逻辑酹数f〔x1,x…,x)它是由r个逻辑变元x1x通过“与”、“或”、“非”等逻辑运算联接起来的关系式。下面,我们通过两个具体例子来说明反馈移位寄存器的功能例1.1.1考虑如图1.1.2所示之三级反馈移位寄春器。这个图112三级反债移位寄存器示意图反馈移位寄存器的工作揹况是:当第j拍处于状态(a;sq1)时,第氵+1拍便处于状态(a=2,其中a=a,3这里的符号“+”是指模2如法。显然,这个反馈移位寄存器的组合门电路就是简单的模2如法器。它所对应献反馈逻辑函数是∫(%1,x3xs)=x1x该反馈移位寄存器的状恣转移情况如下表所示。
    2020-12-05下载
    积分:1
  • Vivado约束指导手册
    Vivado约束指导手册输入端口到输出端口路径在从输入端口直接到输出端口的路径上,数据:不需要在器件内部锁存(atch),直接从输入端口到输出端口。他们通常被称为ln-to-out数据路径端口时钟可以是虚拟时钟也可以是设计时钟路径举例图3-1描述了上面所有的路径,在此例图中,设计时钟CLKo可被用作端口时钟,这样既可以约束D|N延时也可以约束DOUT延时FPGA DEVICEBoardDeviceInternal Delay REGAData Path DelayREGB Internal DelayBoardDINi DOUT Device○A4InpOutputDelayBUFGPort ClockCLKOPort clockIn-2-out Data PathFigure 3-1: Path Example时钟路径部分每一个时钟路径由三个部分组成:源时钟路径数据路径目标时钟路径源时钟路径源时钟路径是由源时钟从它的源点(典型的是输入端口)到发送时序单元的时钟引脚之间的路径。对于从输入端口起始的时序路径来说,就不存在源时钟路径数据路径对内部电路,数据路径是发送时序单元和捕捉时序单元之间的路径发送时序单元的有效时钟管脚称为路径起始点捕捉时序单元的数据输入管脚称为路径结束点对于输入端口路径,数据路径起始于输入端口。输入端口是路径的起始点对于输出端口路径,数据路径结朿语输岀端口。输岀端口是路径的结束点。目标时钟路径目标时钟路径是由目标时钟从其源点(典型的是输入端口)到捕捉时序单元的时钟管脚之间的路径。对于结束于输出端口的时序路径,就没有目标时钟路径图3-2显示了3段典型的时序路径REGAData PathREGBEndpointSource Clock PathStartpointDestination Clock PathFigure 3-2: Typical Timing PathSetup和Hold分析vⅳ ado ide分析时序并且在时序路径终点时候报告时序裕量。时序裕量是指在时序路径终点数据要求时间和抵达时间的差异。如果裕量为正,从时序的角度考虑此路径是有效的。Setup检查为了计算数据所需的 setup时间,时序引擎:1.决定源时钟和目的时钟之间的普通周期。如果没有被发现,为分析考虑多达1000个时钟周期。2.检查覆盖普通周期上的起始点和终点所有上升和下降沿。3.在任何两个有效 active沿之间的最小正差值dela。这个deta被称为 setup分析的时序路径要求Setup路径要求示例假象2个寄存器之间的一条路径,这些寄存器由其相应时钟上升沿触发。这条路径有效的时钟沿只有上升沿。时钟定义如下:.clko周期6nsck1周期4nsCommon periodclko launch edgesSetup(1)Setup(2)clk1 capture edgesOns 2ns 4nss 8n5 10ns 12nsFigure 3-3: Setup Path Requirement Example图33显示有2个单独的源和目的时钟沿有资格受到 setup分析: setup(1和 setup(2):源时钟发送沿时间:0ns+1*T(ck0)=6ns目的时钟抓取沿时间:0ns+2*(ck1)=8nsSetup Path Requirement=抓取沿时间-发送沿时间=2ns在计算路径要求时候,需要考虑2个重要的点:1.时钟沿是理想的,那就是说,时钟树插入延迟不在考虑之内2.默认时钟在0时间点是 phase-aligned,除非他们的波形定义引进了 phase-shit。异步时钟相位关系未知。时序引擎在分析其间路径时候会考虑默认值。关于异步时钟的更多内容看下部分Setup分析数据要求时间Setup分析数据要求时间是指为了让目的单元能安全的采样数据,数据必须在这个时间点之前稳定。这个值基于:目的时钟采样沿时间.目地时钟延时源时钟和目的时钟的不确定性目的单元 setup时间Setup分析的数据抵达时间Setup分析的数据抵达时间,是指由源时钟发送的数据在路径终点的稳定时候所需要的时间。它的值基于:源时钟发送沿时间源时钟延时数据路径延时数据路径延时包括所有从起点到终点的单元(cel)和线(ne延时。在时序报告中, Vivado将 setup时序考虑为数据路径的一部分。相应的,数据到达和要求时间的公式为:Data Required Time (setup)= destination clock capture edge time+destination clock path delayclock uncertaintyData Arrival Time(setup)= source clock launch edge timesource clock path delay+ datapath delaysetup timeSetup裕量是指要求时间和实际抵达时间的差值:Slack (setup)= Data Required Time -Data Arrival Time在输入数据引脚寄存器上 Setup裕量为负值,说明寄存器有可能锁存到未知的值跳转到错误状态Hod检查Hod裕量的计算与 setup裕量计算直接相关。当 setup分析证明了在最悲观的情况下数据可以被安全捕捉,hold分析确保了:同样的数据不可能被前面目地时钟沿错误的抓取下一个源时钟沿发送的数据不能被用来分析 setup的目的数据沿抓取因此,为了找到hold分析的时序路径,时序引擎考虑了所有为 setup分析的源和目的时钟沿结合的可能。对每一种可能的组合,时序引擎:检查发送沿和减去一个目的时钟周期的抓取沿之间的差值.检查了加上一个源时钟周期的发送沿和抓取沿之间的差值.只保留时间差值最大的发送沿和抓取沿hold路径要求示例采用page33中 setup路径要求示例中的时钟。对于 setup分析那仅有2个可能的时钟沿组合:Setup Path Requirement (S1)=1*T(clk1)-0*T(clk0)= 4nsSetup Path Requirement (S2)=2*T(clk1)-1*T(clk0)=2ns那么相应的hod要求如下:For setup s1:Hold path Requirement (Hla)-(1*T(clk1)-1*T(clk1))-0*T(clko)=onsHold Path Requirement (Hlb)=1*T(clkl)-(0*T(clk0)+I*T(clko))=-2nsFor setup $2:Hold Path Requirement (H2a)=(2*T(clk1)-1*T(clk1))-1*T(clko)2nsHold path Requirement(H2b)=2*T(clk1)-(1*T(clk0)+1*T(clk0))=-4ns从上面可以看出最大的要求时间是Ons,这正好与源时钟和目的时钟第一次上升沿相吻合。Hold路径要求示例,page36显示了 setup检查沿和他们相关的hold检查。cIko launch edgesHla S1 H1b/H2a522bclk1 capture edgesOns 2ns 4ns 6ns 8ns 10ns 12nsFigure 3-4: Hold Path Requirement Example此例中,最终的hod要求时间不是来源于最紧的 setup要求。这是因为所有可能的 setup沿都会被考虑在内,是为了找到最又挑战性的hod要求。正如在 setup分析中,数据要求时间和数据抵达时间是基于以下条件计算的:源时钟发送沿时间.目的时钟抓取沿时间源和目的时钟延时时钟不确定性数据延时.目的寄存器hod时间Data Required Time (hold)= destination clock capture edge timedestination clock path delayclock uncertaintyData Arrival Time (hold)= source clock launch edge timesource clock path delaydatapath delayhold timeHod裕量是要求时间和抵达时间的差值Slack (hold)= Data Arrival Time Data Required Time正的时序裕量意味着即使在最悲观的情况下数据也不会被错误的时钟沿抓取。而负的hold裕量说明抓取的数据错误,而且寄存器可能进入不稳定状态。矫正( recovery和移除( removal分析矫正和移除时序检查与 setup和hold检查相似,区别就是它们应用于异步数据管脚例如set或者clear o对于异步复位的寄存器.矫正时间是异步 reset信号为了锁定新数据已经切换到它的无效状态之后,到下一个有效时钟沿之间的最小时间。移除时间是在异步复位信号安全切换到其无效状态之前,到第一个有效时钟沿之后的最小时间。下面的等式描述了这两种分析的sack是如何计算的Recovery check下面的等式描述了下面如何计算:Data Required Time (recovery ) =destination clock edge start time+ destination clock path delayclock uncertaintyData Arrival Time (recovery )= source clock edge start timesource clock path delaydatapath delayrecovery timeSlack (recovery)= Data Required Time Data Arrival TimeRemoval checkData Required Time (removal)= destination clock edge start timedestination clock path delayclock uncertaintyData Arrival Time (removal)= source clock edge start timesource clock path delay+ datapath delayremoval timeSlack (removal)= Data Arrival Time -Data Required Time正如 setup和hold检査,一个负的 recovery裕量和 remova裕量说明寄存器可能进入亚稳态,并且将未知的电子层带入设计中。定义时钟时钟数字设计中,时钟提供了从寄存器到寄存器之间可靠的传输数据的时间参考。 Vivado ide时序引擎用时钟特征来:计算时钟路径要求以裕量计算的方式报告设计时序裕量更多信息,参考时序分析这章为了得到最精确的最大的时序路径覆盖,时钟必须合理的定义。可以用下面的特征定义时钟:源时钟是指定义在时钟驱动引脚或者时钟树跟端口的时钟时钟沿可以由周期和波形特性的组合描述周期是ns级的,与描述的波形的时间周期相匹配.时钟波形是在时钟周期里,在数ns内时钟上升沿和下降沿绝对时间的列表列表必须包含偶数个值。第一个值一般与第一个上升沿吻合,除非另外指定,默认的时钟占空比是50%相位是ns。如图4-1所示,ck0周期10ns,占空比50%,相位0ns。Ck1周期8ns,占空比75%,相位2ns。CIkO: period 10, waveform =10 5]CIk1: period =8, waveform=2850%50%ClaOns5ns10ns15ns25%75%clkbOns 2ns8ns 10ns16nsFigure 4-1: Clock Waveforms Example传播【 propagated clock)时钟周期和波形特征体现了时钟的理想特征。当时钟进入FPGA器件并且经过时钟树传播时候,时钟沿会有延时而且会随着噪声和硬件特性而改变。这些特点被称为时钟网络延时( latency)和时钟不确定{ uncertainty)时钟不确定性包含下面内容:clock jitterphase error任何额外指定的不确定Vivado会默认的将时钟作为传播时钟,这意味着,这是非理想的时钟。这么做是为了提供包含时钟树插入延时和不确定性的裕量的值。特定硬件资源
    2021-05-06下载
    积分:1
  • 696518资源总数
  • 106227会员总数
  • 11今日下载