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

哈巴河网站制作制作一个自己的网站

哈巴河网站制作,制作一个自己的网站,招标网站开发文档,dedecms蓝色企业网站模板免费下载FPGA设计中锁存器产生、避免与消除 一、锁存器的产生1.1 组合逻辑中使用保持状态1.2 组合逻辑中的if-else语句或case语句未列出所有可能性1.3 小结 二、锁存器的避免三、锁存器的消除3.1 情况一 一、锁存器的产生 锁存器的产生主要有以下两种情况#xff1a;#xff08;11组合逻辑中使用保持状态2组合逻辑中的if-else语句或case语句未列出所有可能性 1.1 组合逻辑中使用保持状态 assign data_out valid ? data_in : data_out; //变量保持当前值always (*) beginif(valid)data_out data_in;elsedata_out data_out; //变量保持当前值 end1.2 组合逻辑中的if-else语句或case语句未列出所有可能性 对于组合逻辑中如果使用if-else语句未补全else语句则默认在其他条件下数据均保持为原来的状态那么也会产生锁存器。 //if-else语句缺少else always (*) beginif(valid)data_out data_in; end而如果在组合逻辑中使用case语句未列出case中条件所有的可能性则相当于对于未列出的那些情况数据均保持为原来的状态也会产生锁存器。 //case语句未列出所有可能性 always (*) begincase(sel)2b00: data_out 2b00;2b01: data_out data_in;endcase end1.3 小结 那么总而言之言而总之。对于锁存器其产生的原因可以总结为一点想要通过组合逻辑保持数据不变。对于组合逻辑的实现我们可以认为它是用很多门电路搭建而成的那么门电路与寄存器不同其不具有保持当前状态的功能。也就是说构成当前组合逻辑的电路中任何一个信号发生改变都会导致输出结果发生改变。如果要通过组合逻辑实现保持数据的不变那就只能产生锁存器了可以参考《数字电子技术基础》第五版的SR触发器。 二、锁存器的避免 我们知道了锁存器的产生原因就可以对症下药在编写Verilog代码时注意编码风格即可避免锁存器的产生。 1在组合逻辑中使用if-else语句时补全else语句 always (*) beginif(sel)data_out data_in;elsedata_out 2b00; end2在组合逻辑中使用case语句时设置默认状态default并默认状态下的数据进行赋值 always (*) begincase(sel)xxx: data_out 2b01;xxx: data_out data_in;default: data_out 2b00;endcase end3在组合逻辑中不可一个变量赋值给变量自身 //错误示例 always (*) beginif(sel)data_out data_in;elsedata_out data_out; //变量赋值给变量自身 end//正确示例 always (*) beginif(sel)data_out data_in;elsedata_out 2b00; //需要赋值一个准确的数值或者其他变量 end三、锁存器的消除 在FPGA设计过程中有可能出现一些情况必须使用组合逻辑保证其实时性且需要保持数据不变保证其他运算的正确性。那么又该如何处理 3.1 情况一 假如我们要实现如下面时序图所示功能输出data_out在有效信号valid的上升沿处锁存输入data_in的值那么要如何实现 最开始考虑的是采用时序逻辑进行实现代码如下。 always (posedge sys_clk or negedge sys_rst_n) beginif(!sys_rst_n)data_out d0;else if(valid)data_out data_in;elsedata_out data_out; end那么采用时序逻辑实现会导致延迟一怕无法在有效信号valid的上升沿锁存数据如下图所示。 于是考虑使用组合逻辑进行实现代码如下。 assign data_out valid ? data_in : data_out;但是组合逻辑要实现保持状态必然会产生锁存器。综合后会再Messages界面会警告出现锁存器同时在Schematic中也可以看到出现了锁存器如下图所示。而在我们的设计中我们是不希望出现锁存器的因为其不利于时序分析。 那么也可以采用组合逻辑时序逻辑的方式实现通过多使用一部分寄存器资源来实现在valid上升沿处进行数据采样且不产生锁存器代码如下。重新综合后可见锁存器消失同时可以对齐进行仿真时序符合前面的要求。 reg [3:0] r_data_in;always (posedge sys_clk or negedge sys_rst_n)if(!sys_rst_n)r_data_in d0;elser_data_in data_in;assign data_out valid ? data_in ? r_data_in;
http://www.hkea.cn/news/14421236/

相关文章:

  • 谷歌网站地图生成器腾达建设哪里的
  • 网站截流做cpa设计新闻发布网站模板
  • 大连个人网站建设小红书关键词排名怎么做
  • 网站建设煊煊网为什么要域名备案
  • 门户网站等保二级建设方案用wordpress案例
  • 有哪些是用到了网站推广酷虎云建站工具
  • 网站建设:上海珍岛怎么免费建设网站
  • 网站商业授权含义wordpress恢复旧的编辑页面
  • 素材下载网站开发文档网页设计模板html代码五四主题
  • 网站建设销售找客户话术安卓手机优化大师官方下载
  • 企业网站关键词放几个好的产品设计网站
  • 上海网站建设 润开发公司销售房产交哪些税
  • 什么网站可以做投票都匀市城乡建设局网站
  • 在元典公司做网站有合同吗wordpress 4.
  • 长沙网站建设哪里好学做ppt的网站有哪些内容
  • 遵义网络公司优化网站制作方法大全
  • 河西网站建设制作一般使用的分辨率是多少
  • 哪些域名不能够做淘宝客网站网络怎样做推广
  • 建网站一般要多少钱网站域名申请好了怎么建设网站
  • 免费空间访客100个网站招远网站建设联系电话
  • 网站自建苏州企业做网站
  • 网站维护包括哪些怎么创建一个公司网站
  • 网站建设优化兰州个人网页设计风格分析
  • 营销网站的优势是什么电商网站开发选题依据
  • 站长工具seo综合查询论坛效果图制作收费标准
  • 专做商铺中介网站wordpress最大上传2m
  • 建设一个教程视频网站需要什么资质dw公司网页制作
  • 购物网站哪个便宜涡阳哪里有做网站的
  • 自己建设网站要多久互联网公司排名情况
  • 个人备案的网站名称电子商务网站建设与维护展望