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

网站开发前后端分离是主流吗奥凯航空公司官方网站

网站开发前后端分离是主流吗,奥凯航空公司官方网站,港海建设网站,定制家具价格1.仿真调试说明 你需要具备以下知识#xff1a; 仿真工具的使用#xff0c;比如Vivado的XsimVerilog的基本语法 通过本文的学习#xff0c;你将获得#xff1a;各类仿真错误排查的方法CPU逻辑出错的调试指导Verilog 运算符的优先级 1.1 调试指导思想概述 全局上的调试原…1.仿真调试说明 你需要具备以下知识 仿真工具的使用比如Vivado的XsimVerilog的基本语法 通过本文的学习你将获得各类仿真错误排查的方法CPU逻辑出错的调试指导Verilog 运算符的优先级 1.1 调试指导思想概述 全局上的调试原理是从结果推原因难点是定位错误的源头。本文档编写采用的调试思路是时间上先定错空间上再定错。 时间上先定错在出错的大片时间段里定位出源头部分源头部分是一个较小的时间段空间上再定错在源头时间段里查看设计电路的控制部分和数据通路定位是哪个信号带来的错误或者是哪几个信号的组合带来的错误或者是设计上哪里有疏忽带来的错误。 比如一个设计的CPU在执行测试程序出错了这个程序是分很多指令的这些指令是在时间上顺序执行的我们首先需要找出第一个错误的指令也就是时间上定位错误随后在CPU的数据通路和控制信号里定位该指令错误的原因也就是空间上定位错误。 时间上的定位更加困难。 1.2 仿真出错分类 波形出错从波形图里直接观察而不需要分析电路设计的功能就能判断的错比如波形中信号为“X”。逻辑出错波形直接观察很正常但其电路执行结果不符合预期属于逻辑出错比如加法器运行结果不正确 1.3 出错分类一波形出错 发现信号为“Z”。 “Z”表示高阻电路短路了就是显示为高阻往往是模块调用的信号未连接导致的信号悬空。 编码建议 编写时注意代码规范特别是模块调用时按接口顺序一一对应所有input类接口被调用时不允许悬空一旦发现一个信号为“Z”向前追踪产生该信号的因子信号看是那个为“Z”一直追踪下去指导追踪到该模块里的input接口随后进行修正。有可能“Z”只出现在向量信号里的某几位上也是一样的追踪有可能调用时某个接口存在宽度不匹配也会带来“Z”。 发现信号为“X” X表示不定值往往是RTL里信号未赋值导致 另外 Vivado 对于多驱动2个及2个以上电路单元驱动同一信号仿真时也会产生“X”先进行综合观察下Critical warning此时会爆出多驱动的警告。 建议 针对信号为“X”情况我们有以下几点建议 向前追踪该信号的因子信号看是那个为“X”一直追踪下去指导追踪到某个信号未赋值随后修正。如果没有因子为“X”的则很可能是多驱动导致的则综合排查Error和Critical warning。寄存器型信号如果没有复位值在复位阶段其他值可能为“X”这可能并不会带来错误“X”和“1”进行或运算结果为“1”“X”和“0”进行或结果为“0”. 波形停止 波形停止是指仿真停止某一时刻再也无法前进分毫而仿真却显示不停地在运行。 波形停止基本都是由于组合环路导致的所谓组合环路就是信号A的组合逻辑表达式中某个产生因子为B而B的组合逻辑表达式中又用到了信号A。仿真器是在每个周期内计算该周期的所有表达式组合逻辑循环嵌套带来的是仿真器的循环计算导致其无法退出该计算带来波形停止。 建议 一旦发现波形停止先对设计进行综合查看综合后产生的Error和Critical warning并尝试修正。 越沿采样上升沿采样到被采样数据在上升沿后的值 在波形出错中是一个隐藏较深的出错往往可能会和逻辑出错混在一起。 越沿采样是指一个被采样的信号在上升沿采样到了其在上升沿的值一般情况下认为这是一个错误。 每一次赋值分为两步先计算等式左侧的表达式和赋值给右侧的信号简记为计算和赋值。在一个上升沿到来时所有由上升沿驱动的信号按照以下顺序进行处理 先处理阻塞赋值先完成计算和赋值同一信号完成计算后立马进行赋值。同一always块里的阻塞赋值从上到下按顺序串行执行不同always块里的阻塞赋值依赖工具实现确定顺序串行执行一一完成计算和赋值。再进行非阻塞赋值的计算。所有非阻塞赋值其等式左侧的值都同时计算好上升沿结束时所有非阻塞赋值同时完成最终的赋值动作。 建议所有always写的时序逻辑只允许采用非阻塞赋值一旦发现越沿采样的情况追踪被采样信号指导追踪到某一阻塞赋值的信号随后进行修正。 其他波形怪异仿真波形图显示怪异与设计的电路功能无关的错误 当出现波形怪异类的错时需要区分其是仿真工具还是RTL代码出错 观察出错的信号看其生成因子如果自我判断RTL应该没有且波形现实却是太怪异则有可能是仿真工具出错。重启电脑或者重启工程。如果无法从波形里区分是什么错误。可以尝试先运行综合看出综合后的Error、Critical warning和warning。经常有一些不符合规范的代码Vivado也不会报出warning。比如对input信号进行了赋值模块调用信号连接错误reset信号接成了clock信号等等。 1.4 逻辑出错 以数据和控制分开来看逻辑出错可分为两类数据通路出错和控制信号出错。其中数据通路通常属于较简单的错比如加法器算两个加数的和结果不对而控制信号往往是设计时的边角问题考虑不周导致的比如CPU的访存系统出错。 CPU逻辑出错调试 对于流水线CPU需要各流水线信号分组抓出比如抓出每级流水线里的PC值、指令编码和执行结果。流水级间的进入和退出的控制信号也尤其重要必须抓出CPU初期调试往往都是流水线控制出错了。还有顶层总线接口也很重要一旦取指出错了或者调试访存指令出错了就需要关注顶层总线接口上的信号了CPU后期调试往往都是访存系统出错了。 定位出错时间源头 定位错误前需要大家做好以下三项准备 首先需要先理解测试程序的大致行为。理解过程中需要阅读测试程序的源码CPU设计中会运行的程序有两类功能测试程序func和性能测试程序coremark、dhrystone等。 再者需要对mips汇编和func编译环境有一定了解。我们在功能和性能测试程序的编译环境中会生成如下8个文件位于编译目录的obj/下。其中test.s是我们调试过程中重点关注的它对执行程序的每条机器指令进行了反汇编和注释对我们调试很有帮助。 最后需要对CPU内部逻辑比较熟悉。 具体调试时可以采用以下方案在波形最后出错处确认取回的指令和PC值是对应正确的也就是确认取值正确这时需要对照反汇编程序test.s如果取指不正确则往前追溯直到第一个取指正确的地方。追溯的方法也有讲究。追溯过程就是程序不停的压缩指导找到第一个取值正确的地方此时往往要用到仿真工具中加标签的方法。找到第一个指令正确的地方后可以先确认该指令执行结果是否正确。随后我们的测试目标是确认时间上的第一个出错的地方是在该指令前还是该指令后。以上方法是由后往前追如果追溯过程中发现无法再追了则可以考虑由前往后追。 定位出错空间源头 空间定错时需要大家对CPU微架构有更深入的理解。建议大家以空间划分的视角去理解CPU特别是流水线CPU每一流水级都是有对应的部件的应当理解清楚各流水级的划分。 空间定位时有两种方法 从CPU流水前端向流水后端排查确认指令在哪个流水级开始出错。从CPU流水后端向流水前端排查确认指令是从哪个流水级出错的。 运算符号优先级
http://wiki.neutronadmin.com/news/291600/

相关文章:

  • 中国手机最好的网站排名2008iis7怎么搭建网站
  • 公司网站维护更新流程如何在阿里云上建设网站
  • 河南个人网站建设建立网站站点的过程
  • 中职网站建设与管理在家做网站维护兼职
  • 深圳做网站网络公司排名wordpress mepal
  • 上海建网站方案wordpress 企业展示
  • 做公司网站需要准备什么做电商网站一般需要什么流程图
  • 福州网站建设服务嘉兴娱乐网页设计
  • 3合1网站建设价格贵阳网站定制开发
  • 昆明做网站公司有哪些杭州vi设计价格
  • 网站建设标准依据怎么做网站代拍
  • 网站报价网站建设中静态页面模板
  • 上海建筑电工证查询网站新网 如何建设网站
  • asp.net做登录注册网站wordpress首页标题
  • 电子商务网站建设与维护管理上传到网站去的文档乱码
  • 单页面seo搜索引擎优化优化大师破解版app
  • 方一凡和磊儿做家教的网站免费下载精神文明建设宣传网站
  • 花店网站建设论文网站建设哪家公司最好
  • 仿漫画网站建设定制小说网站系统源码建设哪个平台买东西最便宜
  • 石家庄栾城区建设局网站wordpress 修改ssl
  • 上海网站建筑公司cpa怎么做网站
  • iis为网站子目录绑定二级域名济南网站优化公司
  • 网站建设费用 会计分录网站数据库网络错误怎么解决方案
  • 做服装广告素材网站有哪些门户网站html
  • 广州建网站有哪些东莞百度网站快速排名
  • wordpress编辑器添加代码工具搜索引擎优化涉及到内容
  • 我做淘宝网站卖东西怎么激活建设银行信用卡网站是哪个好
  • 个人博客网站开发毕业设计类似快手网站开发
  • 网站建设报价模板视频网站开发策划书
  • 用php做网站需要什么网站开发所需资料