当前位置: 首页 > news >正文

怎么做有声小说网站播音员应用商店免费下载

怎么做有声小说网站播音员,应用商店免费下载,wordpress高级应用,济南建网站公司排行榜设计约束概述 设计约束就是定义编译过程中必须满足的需求#xff0c;只有这样才能保证在板子上工作时功能正确#xff1b;但不是全部约束在所有过程中都会使用#xff0c;比如物理约束只用在布局和布线过程中#xff1b;Vivado工具的综合和实现算法是时序驱动型的#xf…设计约束概述 设计约束就是定义编译过程中必须满足的需求只有这样才能保证在板子上工作时功能正确但不是全部约束在所有过程中都会使用比如物理约束只用在布局和布线过程中Vivado工具的综合和实现算法是时序驱动型的因此必须创建合适的时序约束我们必须根据应用需求选择合理的约束过度约束或约束不足都会造成问题 老版的ISE开发工具使用UCFUser Constraints File文件进行约束新的Vivado开发工具使用XDCXilinx Design Constraints进行约束在描述设计约束方面标准SDCSynopsys Design Constraints格式已经发展超过了20年且应用最为广泛XDC约束正是基于SDC格式再加入Xilinx的一些物理约束 XDC约束可以用一个或多个XDC文件也可以用Tcl脚本实现XDC文件或Tcl脚本都要加入到工程的某个约束集set中虽然一个约束集可以同时添加两种类型约束但是Tcl脚本不受Vivado工具管理因此无法修改其中的约束 管理约束 Vivado支持使用一个或多个约束文件对于大型设计来说仅使用一个约束文件往往不便于维护最好的做法是将时序约束和物理约束分别保存到不同的文件中或者某些特定模块使用一个单独的约束文件  约束文件XDC文件或Tcl脚本需要添加到约束集中一个工程可以包含多个约束集一个文件也可以添加到多个约束集中下图显示了一个工程中的约束集该约束集包括两个约束文件分别为物理约束和时序约束 另外注意生成IP核时IP核的约束文件不会显示在上图列表中只会显示在IP Sources窗口中 默认情况下所有的XDC约束文件会同时应用于综合和实现过程中。在XDC文件的属性窗口中修改如下图中选项可以选择XDC文件的使用阶段对应的属性为USED_IN_SYNTHESIS和USED_IN_IMPLEMENTATION 但是DONT_TOUCH属性不受上述设置的限制比如在综合XDC中使用了DONT_TOUCH属性即使Used In没有选中Implementation该属性仍会传递到实现过程中  排列约束的顺序 XDC约束会遵循一套优先级规则按顺序应用于设计中当多个物理约束之间产生矛盾时顺序靠后的约束会覆盖之前的约束比如一个I/O端口前后绑定了两个管脚位置则顺序上靠后的约束会起作用推荐的约束顺序如下 时序声明部分主时钟、虚拟时钟、生成的时钟、时钟组、总线斜率约束、输入与输出延迟约束。时序异常部分虚假路径、最大延迟/最小延迟、多时钟路径、个例分析、屏蔽的时序。物理约束部分可以放在时序约束之前或之后最好存储在一个单独的约束文件中 约束应该以时钟定义开始因为时钟必须在被其它约束引用之前定义好如果在定义之前便引用了时钟会导致错误发生该约束将被忽略掉约束文件的顺序相当重要设计者应该确保每一个文件中的约束不依赖于其它文件中的约束如果这种情况发生应该考虑合并两个文件或者按照更合理地方式重新组织约束文件 所有新的约束都会保存到标记为target的XDC文件的末尾如果约束集中有多个XDC文件大多数情况下target文件不是最后一个XDC文件这就导致保存到磁盘上的约束顺序和内存中的约束顺序并不相同内存中执行相当于在最后插入一个新约束而存储到磁盘中确是在中间插入了一个新约束因此设计者需要验证最终存储的约束顺序可以正确工作 一般来说在不包含IP核的工程中所有的约束被放在一个约束集中约束的排列顺序表明了约束的读取顺序排在最前面的约束最先被读取可以通过上下移动约束文件来改变约束读取的顺序如下图所示 许多IP核会自带一个或多个XDC文件如下图所示 默认情况下IP核的XDC文件在用户编写的XDC文件之前读取在该情况下允许IP核创建一个参考时钟同时也允许用户XDC文件覆盖IP核的物理约束但是也有例外如IP核需要用到用户定义的时钟时此时IP核的XDC文件在用户XDC文件之后读取  每个约束文件都有PROCESSING_ORDER属性属性值可以是EARLY必须首先被读取NORMAL默认LATE必须最后被读取 注意IP核的XDC文件只会是early或者late而不会是normal!对于包含依赖时钟的IP核XDC文件的读取顺序属性设置为late对于不包含依赖时钟的IP核XDC文件的读取顺序设置为early同时对于多个IP核的XDC文件如果他们有相同的PROCESSING_ORDER属性则读取顺序由IP核的导入顺序决定一般无法更改 下面对XDC文件的读取顺序做一个总结从上到下的读取顺序 1.用户XDC文件标记为early; 2.IP核XDC文件标记为early; 3.普通的用户XDC文件(normal) 4.IP核XDC文件标记为late(对用户时钟存在依赖); 5.用户XDC文件标记为late; 属性值为LATE的IP核XDC文件名称为IP_NAME_clocks.xdc在Tcl控制台中使用report_compile_order -constraints命令可以报告所有约束文件的状态其中就包括PROCESSING_ORDER属性; 约束方法 完成约束有两种方法1.直接编辑XDC文件2.打开某一阶段的设计Elaborated设计、综合后设计或实现后设计直接对某对象进行约束采用第2种方法在编辑约束时Tcl控制台中会显示等价的XDC命令该命令是存储在内存中的在综合或实现前必须点击Save Constraints保存约束如果是新的约束则会添加到标记为target的约束文件中如果是对已存在的约束进行修改则会修改XDC文件中原来位置的命令 上述两种约束方法最好不要同时使用否则容易混淆导致约束没有起作用如果需要在两种约束方法之间切换要确保保存了当前约束或者重新导入一下设计下图给出了约束的流程图 管脚赋值与平面规划 本节介绍两种使用GUI完成约束的方法。第一种是创建与编辑顶层端口位置即通常所说的管脚赋值Pin Assignment打开某一阶段设计后将视图切换为“I/O Planning”如下图  切换到该视图后会自动打开如下4个窗口 Device编辑端口在器件平面规划图中的位置Package编辑端口在器件封装中的位置I/O Ports可以选择一个端口拖动到Package或Device窗口中的某个位置也可以观察每个端口的各个属性Package Pins观察每个I/O Bank的资源利用率 另一种是平面规划Floorplanning主要是创建和编辑Pblock来限制某些对象的布局范围打开某一阶段设计后将视图切换为“Floorplanning”如上图切换到该视图后会自动打开如下3个窗口  Netlist选择赋值到某个Pblock的单元对象Physical Constraints观察设计中的Pblock和各自的属性Device创建或编辑Pblock在器件中的形状和位置 在Netlist窗口中选择某些单元将其拖动到Device窗口的目标位置中即可将单元位置约束到某一特定的BEL或SITE。这两个部分都可以称作“物理约束”另外还有“时序约束”需要借助时序约束向导  XDC模板 vivado为verilog和XDC文件提供了大量的语言模板如下图所示 XDC模板主要分为三大类如下图所示时序约束物理约束配置 创建综合约束  Vivado综合引擎将设计的RTL描述转换为一个工艺映射网表在这个阶段可以使用约束来指导综合引擎解决设计需求。涉及到的约束包括4个方面 RTL属性综合属性在综合篇中有详细介绍这些约束通常与某些逻辑部分的映射方式直接相关比如保留特定的寄存器和网络防止被优化、控制最终网表中的设计层次等等时序约束可以在该阶段起作用的时序约束有create_clock、create_generated_clock、set_input_delay、set_output_delay、set_clock_groups、set_false_path、set_max_delay和set_multicyclye_path物理与配置约束这部分约束不会作用于该阶段因此会被综合引擎忽略Elaborated设计约束在综合阶段网络延迟模型还不精确因此主要目标是得到一个满足时序或时序违背程度较小的综合网表可以对Elaborated设计分析RTL设计得到的对象进行约束可以利用Tcl控制台来测试想要执行的XDC命令是否有语法错误再保存到XDC文件中   一些RTL名称在Elaborated设计中会被修改或删除因此不能直接使用RTL设计中的对象名称部分对象如顶层端口、实例化原语在RTL和Elaborated设计中总是相同的下面给出一些名称会发生变化的例子需要特别注意  单bit寄存器RTL中的信号名称添加后缀_reg如RTL中定义reg data则对应的寄存器名称为data_reg多bit寄存器与单bit寄存器相同但约束时必须单独约束每个bit或直接当作一组约束如定义reg [3:0] data可以对reg[0]或reg[*]约束但不能对reg[1:0]约束合并的寄存器和网络存储块、DSP、移位寄存器等接口会将几个设计对象合并到一个资源中导致RTL源文件中的一些寄存器或网络不会出现在Elaboratd设计中对于这类对象无法直接约束应该寻找与其相连的其它寄存器或网络层次名称默认情况下综合可能会将某些层次结构展开融为一体可以用-flatten_hierarchy设置约束时要使用完整的层次名称来指定对象而不要使用通配符‘*’如‘inst_A/inst_B/data_reg’   总而言之就是要明确约束的对象否则很容易造成约束没有按设计者意图进行比如不要对层次接口的管脚做约束因为这些管脚仅仅起到了连接各个层次的作用也不要对与组合逻辑运算符相连的网络做约束因为组合逻辑运算会采用查找表方式实现导致该网络并不会出现在综合网表中  创建实现约束 综合过后将综合网表和XDC文件或Tcl脚本一同导入到内存中用于实现过程导入时必须观察Vivado报告的消息据此来验证和修改那些没有应用成功的约束正如综合约束使用的Elaborated设计对象名称会和RTL中名称不同实现约束使用的综合网表对象名称也可能会和Elaborated设计中的名称不同如果发生上述情况则必须重新创建某些约束并仅作用于实现阶段 前文也说过物理和配置约束仅会在实现阶段起作用因此也最好存储到一个单独的XDC文件中设置为仅作用于实现阶段。综合过程中可能会复制某些寄存器以提高设计性能必须使用get_cells/get_pins -include_replicated_objects命令获取对象才能确保XDC约束也作用于复制出来的寄存器当然很难直接感觉到哪个对象需要像上述这样做幸好在Vivado中运行Methodology检查时相关信息会报告在XDCV-1和XDCV-2检查信息中供设计者参考 约束作用域 一个特定的XDC文件中的约束可以选择仅作用于一个特定的模块或设计中的特定单元这种约束方式可称作块级约束实现机制称作约束作用域机制默认情况下IP Catalog中导出的所有IP核都采用这种约束方式该机制通过设置XDC文件的两个属性实现 SCOPED_TO_REF设置模块名称约束仅应用于设定模块中的所有实例SCOPED_TO_CELLS给出应用约束的层次单元名称列表 导出IP核时输出的XDC文件会自动完成上述两个属性的设置。如果设计中需要为某个子模块进行单独约束也可以通过手动设置上述两个属性实现 约束效率 编写时序约束时首要目标是让约束变得简单仅为相关的网表对象设置约束即为约束提供尽可能少的作用对象以便精确并安全地覆盖到预期的时序路径没有效率地约束会导致更长的运行时间、更大的内存占用率最坏的情况是覆盖到比预期更多的路径从而与其它约束产生冲突导致设计出现时序异常  Vivado中Methodology检查的XDCB-1会报告涉及到超过1000个对象的时序约束以防止出现时序异常情况。此外还可以打开某一阶段设计后使用如下命令查看相关报告 report_exceptions -coverage给出每个时序异常的逻辑路径范围将该时序异常作用的对象数量与起点到端点间以有效的方式覆盖的对象数目作比较report_exceptions -ignored给出被其它时序约束覆盖掉的时序约束如set_false_path会被set_clock_group覆盖而不起作用。应考虑修改约束或删掉不起作用的约束report_exceptions -ignored_objects给出被忽略的起点与断点列表如起点和断点之间不存在设定的路径就会导致被忽略   下面给出几种改善约束运行时间的方法 1.优化管脚查询方式 使用get_pins代替get_cells会对运行时间有明显的影响。如果需要从设计的所有管脚中查找一个管脚列表不要直接根据管脚名字查询最好是先用get_cells定位管脚所在的单元再从该单元中查找管脚示例如下  get_pins –hier * -filter {NAME~xx*/yy*} //不推荐的方式 get_pins –filter {REF_PIN_NAME~yy*} –of [get_cells –hier xx*] //最佳方式 2.不要使用all_registers查询 尽可能地将对all_registers的查询代替为对cells、pins的查询因为使用all_registers会在大量对象中进行搜索示例如下  set_multicycle_path –from [all_inputs] –to [all_registers –clock clk1] set_multicycle_path –from [all_inputs] –to [get_clocks clk1] 这两条约束是等价的但第二种方式的效率比第一种要高很多
http://www.hyszgw.com/news/94888/

相关文章:

  • 免费域名网站phpwordpress页面新建不了
  • 做视频网站流量费高吗网站设计网站项目流程图
  • 华为手机网站建设策划方案动漫设计前景如何
  • 自己做的网站数据库前端很难学吗
  • 北京制作网站公司排名什么对网站建设起到计划和指导作用
  • 什么是多页面网站水电行业公司设计logo
  • 高校图书馆网站的建设方案wordpress 如何仿站
  • 网站建设柳市合肥医疗网站建设
  • 义乌企业网站智能建筑网站
  • 设计师接单的网站泸州住房和城乡建设厅网站首页
  • 用html5做的美食网站做网站平台的工作
  • 天水网站建设博客旅游网站建设报告
  • 网站后台html模板佛山网站开发公司有哪些
  • 北京网站建设手机号如何做百度竞价推广
  • 建设网站怎么判断是电脑还是手机在线制作文字图片
  • php做网站有哪些优点网站建设有些什么流程
  • 苏州市城乡建设局网站首页网站续费公司
  • 济南 营销型网站建设asp.net 音乐网站开发
  • 网站程序 seowordpress打赏工具
  • 网站推广具体内容简要说明宁波网站推广网站优化
  • app科技产品网站建设枣阳市建设局网站
  • 浙江网站建设模板网站网站定制开发北京
  • 网站建设怎么把代码放入网站上wordpress网站是什么意思
  • 网站建设维护教程新吴区住房和城乡建设部网站
  • 网站建设 办公系统wordpress cos
  • 好看的旅游网站模版阿里巴巴做网站接单几率
  • c#做网站福州网红
  • 创建个人网站制作流程步骤网页布局基础
  • 安全标准化建设网站设计网站遇到的问题
  • 永城城乡建设局网站asp个人网站论文