[FPGA]Verilog实现寄存器LS374

想说的话...

不久前正式开通了博客,以后有空了会尽量把自己学习过程中的心得或者感想写进来,供大家浏览和学习,若有好的意见或建议,欢迎在评论区留言或者给我发邮件,我会认真看的 XD

本人才疏学浅,内容难免有所缺漏,仅供参考学习使用.

正文

IC介绍

LS374为具有三态输入的八上升沿D触发器(3-State Octal Edge-Triggered D-Type Flip-Flop)

简而言之,LS374是一块由八个钟控D触发器组成的一个IC,其中又引入了三态输入端(Output Control).

电路连接图

MmZ6aV.png

功能表

MmZyV0.png

逻辑图

MmZDrn.png

实验原理

接下来使用Verilog实现该IC的逻辑功能.

单元实现_D触发器

由于该IC为八位D触发器实现的,所以应该先熟悉如何实现D触发器,现不加说明的列出代码,如下

module D(input D,input CK,output reg Q);
always@(posedge CK)
begin
Q <= D;
end
endmodule

整体实现(完整代码)

八个D触发器并行传输数据,可表示为八位宽数据,且八个单元共用CK时钟端.其中三态输入端控制输出状态,高电平则输出高阻.

理清逻辑关系熟悉IC功能后,便可以开始写代码实现了,代码如下

/*
*作者:方清欢
*日期:2019.11.09
*功能:通过Verilog实现LS374
*/

module LS374
(input[7:0]D//数据输入端
,input OC//三态允许控制端OutputControl
,input CK//时钟输入端Clock
,output reg[7:0]O//数据输出端
);
always@(posedge CK)begin//时钟升沿触发
	if(OC)//输出高阻
		O<=8'bzzzz_zzzz;
	else
		O<=D;
end
endmodule
原文地址:https://www.cnblogs.com/Clouds42/p/11826145.html