为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

8位数据锁存器相关知识

2017-11-26 3页 doc 13KB 77阅读

用户头像

is_496339

暂无简介

举报
8位数据锁存器相关知识8位数据锁存器相关知识 一、代码: module latch_8(qout,data,clk); output[7:0] qout; input[7:0] data; input clk; reg[7:0] qout; always @(clk or data) begin if(clk) qout<=data; end endmodule 二、Verilog语法知识: 1、模块端口定义(声明) module 模块名(口1,口2,口三,口四„„); 2、I/O说明: 输入口:input[信号位宽-...
8位数据锁存器相关知识
8位数据锁存器相关知识 一、代码: module latch_8(qout,data,clk); output[7:0] qout; input[7:0] data; input clk; reg[7:0] qout; always @(clk or data) begin if(clk) qout<=data; end endmodule 二、Verilog语法知识: 1、模块端口定义(声明) module 模块名(口1,口2,口三,口四„„); 2、I/O说明: 输入口:input[信号位宽-1:0]端口名1; 输出口:output[信号位宽-1:0]端口名1; 3、内部信号说明: reg[width-1:0]R变量1,R变量2„„; wire[width-1:0]W变量2,W变量2„„; 4、“always”块: always@(posedge clk or posedge clr); begin if(clr) q<=0; else if(en) q<=d; end (表示只要clk或clr其中若有一个变化时就是执行下面的语句) 过程语句中使用reg型变量,连续赋值语句中使用wire型变量,verilog里一般不声明输出类型的话 默认是wire型的。如果你想在输出处寄存一下:比如使用always时序语句,则必须声明为reg类型。wire是线网,就是相当于实际中的连接线,你想assign的话就是直接连接,就是用wire型,他的值是随时变化的。比如你想寄存一下,让信号在时钟边沿才变化就需要reg类型了,在程序中用带时钟的always块来实现即可。 另外需要注意的是reg型变量不一定是寄存器,因为时序逻辑现在也基本上使用always @*这种语言来写,只是必须被声明为reg型。 输出用wire型的其实并不多,具体情况比如:两给信号的与或等简单逻辑。稍微复杂的即使是组合逻辑也要声明reg型,然后在程序里面用always块来实现组 合逻辑 三、锁存器定义: 一位钟控D触发器只能传送或存储一位二进制数据,而在实际工作中往往是一次传送或存储多位数据。为此,可以把若干个钟控D触发器的控制端CP连接起来,用一个公共的控制信号来控制,而各个数据端仍然是各自独立地接收数据。用这种形式构成的一次能传送或存储多位数据的电路称为锁存器。输出端的状态不会随输入端的状态变化而变化,只有在有锁存信号时输入的状态被保存到输出,直到下一个锁存信号。通常只有0和1两个值。典型的逻辑电路是D触发器,其字长(位数)有4位、8位等。 锁存器(Latch)是一种对脉冲电平敏感的存储单元电路,它们可以在特定输入脉冲电平作用下改变状态。锁存,就是把信号暂存以维持某种电平状态。锁存器的最主要作用是缓存,其次完成高速的控制其与慢速的外设的不同步问题,再其次是解决驱动的问题,最后是解决一个 I/O 口既能输出也能输入的问题。
/
本文档为【8位数据锁存器相关知识】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索