首页 > 其他分享 >HDLBits--Verilog习题记录4

HDLBits--Verilog习题记录4

时间:2022-12-30 17:36:41浏览次数:41  
标签:reset 输出 -- Verilog input output 习题 bit out

4.Circuits---Sequential Logic---Latches and Flip-Flops----Edge capture register

问题描述:

For each bit in a 32-bit vector, capture when the input signal changes from 1 in one clock cycle to 0 the next. "Capture" means that the output will remain 1 until the register is reset (synchronous reset).

Each output bit behaves like a SR flip-flop: The output bit should be set (to 1) the cycle after a 1 to 0 transition occurs. The output bit should be reset (to 0) at the positive clock edge when reset is high. If both of the above events occur at the same time, reset has precedence. In the last 4 cycles of the example waveform below, the 'reset' event occurs one cycle earlier than the 'set' event, so there is no conflict here.

In the example waveform below, reset, in[1] and out[1] are shown again separately for clarity.

对于 32 位向量中的每一位,当输入信号在一个时钟周期内从 1 变为下一个时钟周期内的 0 时进行捕获。 “捕获”表示输出将保持为 1,直到寄存器被复位(同步复位)。

每个输出位的行为类似于 SR 触发器:输出位应在 1 到 0 转换发生后的周期设置(为 1)。 当复位为高电平时,输出位应在正时钟沿复位(至 0)。 如果以上两个事件同时发生,则重置优先。 在下面示例波形的最后 4 个周期中,“重置”事件比“设置”事件早一个周期发生,因此此处不存在冲突。

在下面的示例波形中,为清楚起见,再次单独显示了复位、in[1] 和 out[1]。

 

 

问题分析:

分析方法同习题记录3,不过此题多了一个捕获保持功能,若无重置的情况下,输出取决于是否有下降沿,有下降沿则输出1,无下降沿则输出保持上一个状态(out)。观察逻辑关系易得:

因此out<=(~new_in&pre_in) | out;

这很容易理解:如:

 

 

 

 

 

 

 

代码解析:

module top_module (
    input clk,
    input reset,
    input [31:0] in,
    output [31:0] out
);
    
    reg [31:0]temp;
    always@(posedge clk)   temp<=in;

    always@(posedge clk)   
        begin
            if(reset==1)
                out=32'd0;
            else
                out<=(~in&temp) |out;
        end
            
endmodule

 

标签:reset,输出,--,Verilog,input,output,习题,bit,out
From: https://www.cnblogs.com/yphasaki/p/17015418.html

相关文章

  • 曾行贿多达18起,这家疫苗龙头究竟怎么了?
    文|熔财经作者|艾尼欧疫苗龙头北京科兴生物(通常称“科兴生物”)再度引发争议。近日,名为#科兴三针防感染率仅8%是真的吗#的话题,冲上新浪微博和抖音的热搜榜,获得了不少网友的关......
  • 【Storm篇】--Storm基础概念
    =========================================================声明:由于不同平台阅读格式不一致(尤其源码部分),所以获取更多阅读体验!!个人网站地址:​​http://www.lhworldblog.......
  • 数组——多维数组、Arrays类讲解
    数组——多维数组、Arrays类讲解多维数组多维数组可以看成是数组的数组,比如二维数组就是一个特殊的一维数组,其每一个元素都是一个一维数组。二维数组inta[][]=newi......
  • 手写防抖
    手写一个防抖防抖和节流都是依托定时器来完成的lettimer=nullinput1.addEventLister('keyup',function(){if(timer){clearTimeout(timer)}timer=......
  • 【机器学习】--线性回归中L1正则和L2正则
    =========================================================声明:由于不同平台阅读格式不一致(尤其源码部分),所以获取更多阅读体验!!个人网站地址:​​http://www.lhworldblog.......
  • java 中的char , utf16 utf8
    在设计Java时决定采用16位的Unicode字符集....(中间省略)...现在16位的Char类型已经不能满足描述所有Unicode字符的需要了。Java为了解决这个问题的方法是使用码点和代码单......
  • Hive篇---Hive与Hbase整合
    =========================================================声明:由于不同平台阅读格式不一致(尤其源码部分),所以获取更多阅读体验!!个人网站地址:​​http://www.lhworldblog.......
  • 注解
    注解:或者叫注释,编译后生成xxx.class文件英文单词:Annotation,是一种引用数据类型注解可以出现在类上,属性上,方法上,变量上等... 元注解:用来标注”注解类型“的”注解“,......
  • 【Sqoop篇】----Sqoop从搭建到应用案例
    =========================================================声明:由于不同平台阅读格式不一致(尤其源码部分),所以获取更多阅读体验!!个人网站地址:​​http://www.lhworldblog.......
  • 基于AI边缘智能网关的工业质检应用
    成品质量检验是工业生产最后必不可少的环节,随着我国工业化的蓬勃发展,工业产品日益迈向高端化、精密化,对于工业产品的质量检验要求和投入成本也在不断提高,产品质检涉及到比......