打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
FPGA设计中的门控时钟和使能时钟

门控时钟

 

Verilog示例代码:

input wr_n;       //写使能信号,低有效

input cs_n;       //片选信号,低有效

input[7:0] db;    //输入数据总线

 

output db_r;      //锁存输出

 

reg db_r;         //输入数据寄存器

wire d_clk;       //门控时钟信号

 

assign d_clk = wr_n || cs_n;   

 

always @ (posedge d_clk)    //门控时钟上升沿

    db_r <= db;              //锁存输入数据

 

    RTL Viewer:

    组合逻辑中多用门控时钟,一般驱动门控时钟的逻辑都是只包含一个与门(或门)。如果有其它的附加逻辑,容易因竞争产生不希望的毛刺。

 

    使能时钟

 

Verilog示例代码:

input clk;    //50MHz时钟信号

input wr_n;       //写使能信号,低有效

input cs_n;       //片选信号,低有效

input[7:0] db;    //数据总线

 

output db_r;

reg db_r;     //输入数据寄存器

wire en;      //使能信号

 

assign en = ~wr_n && ~cs_n;

 

always @ (posedge clk)   //全局时钟上升沿

    if(en)            //使能锁存输入   

       db_r <= db;       //锁存输入数据

 

    RTL Viewer:

 

 

    使能时钟这要是用于时序逻辑中,比门控时钟要来的稳定。

    上面只是一个举例,实际上它们实现的功能上还是有一点差别的。门控时钟一例中是能够比较准确的在wr_n的上升沿锁存数据的。而使能时钟一例中在wr_n有效期间的每个时钟周期都会锁存输入数据,最后写入结束后锁存寄存器里的数据是wr_n上升前的0-T(T=1/clk)时间内锁存的数据。因为是个例子,也就不详细说,具体情况具体分析。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
FPGA的跨时钟域的信号处理(1)
RTL概念与常用RTL建模
CPU系列什么是时钟信号(将两路信号用与门和或门处理得输出信号)
锁存器Latch和触发器flipflop的区别
边沿检测
一天一个设计实例-门控时钟和使能时钟
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服