首页 > 其他分享 >数电第六周周结_by_yc

数电第六周周结_by_yc

时间:2022-10-05 23:46:25浏览次数:42  
标签:reset en clk 周结 yc 数电 posedge input data

数电第六周周结_by_yc

  • 时序逻辑电路的设计要点:

  ①只有时钟信号复位信号可以放在敏感列表里;

  ②使用非阻塞赋值,即使用"<=";

  ③无需对所有分支进行描述,对于未描述的分支,变量将保持原值;

  ④如果敏感列表中,有一个信号是边沿触发,则所有信号都得使用边沿触发。

  • 锁存器: 当时钟为高电平时,输出才会随输入数据的变化而更新。
//基本锁存器
module latch(clk, d, q);
    input clk, d;
    output q;
    always @(clk, d)    begin
        if(clk)
            q<=d;
    end
endmodule

//含复位控制的锁存器:高电平有效,低电平复位
module latch_reset(clk, rstn, d, q);
    input clk, rstn;
    input d;
    output q;
    always @(clk, rstn, d)  begin
        if(!rstn)
            q<=0;
        else if(clk)
            q<=d;
    end
endmodule
  • 触发器: 只有在时钟上升沿时才会更新数据
//基本D触发器
module dff(clk, d, q);
    input clk;
    input d;
    output reg q;
    always @(posedge clk)
        q<=d;
endmodule

//含异步复位信号的D触发器:高电平有效,低电平复位
module dff_reset(clk, rstn, d, q);
    input clk, rstn;
    input d;
    output reg q;
    always @(posedge clk, negedge rstn) begin
        if(~rstn)
            q<=1'b0;
        else
            q<=d;
    end
endmodule

//同步复位信号的D触发器
module dff_reset(clk, rstn, d, q);
    input clk, rstn;
    input d;
    output reg q;
    always @(posedge clk) begin
        if(~rstn)
            q<=1'b0;
        else
            q<=d;
    end
endmodule

//含异步复位和同步使能的D触发器:使能信号高电平有效;优先级:reset>clk>en.
module dff_reset_en(clk, rstn, en, d, q);
    input clk, rstn, en;
    input d;
    output reg q;
    always @(posedge clk, negedge rstn) begin
        if(~rstn)
            q<=1'b0;
        else if(en)
            q<=d;
    end
endmodule
  • 寄存器:
//1位寄存器
module reg1(clk, reset, load, in_data, out_data);
    input clk, reset, load;
    input in_data;
    output reg out_data;
    always @(posedge clk, posedge reset)    begin
        if(reset)
            out_data<=1'b0;
        else if(load)
            out_data<=in_data;
    end
endmodule

//N位寄存器
module regN
    #(parameter N=8)
    (input clk, reset, load,
    input [N-1:0] in_data,
    output reg [N-1:0] out_data);

    always @(posedge clk, posedge reset)    begin
        if(reset)
            out_data<=0;
        else if(load)
            out_data<=in_data;
    end
endmodule

标签:reset,en,clk,周结,yc,数电,posedge,input,data
From: https://www.cnblogs.com/Qzzz/p/16756783.html

相关文章

  • PyCharm安装PyQt5及其工具(Qt Designer、PyUIC、PyRcc)详细教程
    摘要:Qt是常用的用户界面设计工具,而在Python中则使用PyQt这一工具包,它是Python编程语言和Qt库的成功融合。这篇博文通过图文详细介绍在PyCharm中如何完整优雅地安装配置P......
  • PyCharm与Anaconda超详细安装配置教程
    摘要:本文详细介绍如何在Windows10中安装PyCharm和Anaconda这两款Python中必备的软件,博文中每一步均有详细截图和步骤讲解,最后介绍如何使用Anaconda创建虚拟环境并在PyC......
  • RecycleView 滑动后,checkbox 被清除,恢复为未选中状态
    问题RecycleView中checkbox被选中后,上下滑动列表,滑动超过一屏内容时,再滑回来,checkbox选中状态被清除。原因RecycleView中使用ViewHolder来保存数据,当滑动超过一......
  • 键盘按键键码值(keyCode)对照表
    使用linux下xev可以获取键盘上所有按键的键值,记录如下:字母和数字键的键码值(keyCode)按键 键码  按键 键码 按键  键码   按键 键码A 65 J ......
  • 一键安装Cisco AnyConnect Secure Mobility Client
    Mac版本背景:公司内部安装此VPN软件的时候,因默认是安装了所有模块,但我们只需要vpn模块,所产生的干扰。并且有人因不熟悉Macpkg软件的卸载方法导致非正常卸载,导致重新安装也......
  • [Oracle] LeetCode 141 Linked List Cycle 判环
    Givenhead,theheadofalinkedlist,determineifthelinkedlisthasacycleinit.Thereisacycleinalinkedlistifthereissomenodeinthelistthat......
  • pycharm,pyside6,第一个图形界面
      保存为 Main.ui在Pycharm中,右击这个文件,  会执行命令,转换为py文件 ui_Main.pyMain.py 代码如下fromPySide6.QtWidgetsimportQApplication,QMainWindowfrom......
  • pycharm 添加github 账号提示Invalid authentication data. Remote host terminated..
    pycharm设置github账号时,提示Invalidauthenticationdata.Remotehostterminated...,网上翻了很多解决方案都不行,于是灵机一动,既然是Remotehostterminated...,会不会和......
  • pycharm常见报错
    1、安装第三方库报错,如下图所示:错误提示1:Trytorunthiscommandfromthesystemterminal.Makesurethatyouusethecorrectversionof'pip'installedforyourP......
  • 数据库03- pycharm连接mysql
    3,Python连接操作MySQL安装配置git与pycharm连接pycharm从gitee拉取代码从git官网下载新版的git,安装操作可以全部使用默认下一步直到完成。打开pycharm-->setting-->......