欢迎来到天天文库
浏览记录
ID:55587749
大小:36.50 KB
页数:2页
时间:2020-05-19
《门控时钟与使能时钟.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、设计中的门控时钟和使能时钟使能时钟 Verilog示例代码:moduleclock(wr_n,cs_n,db,db_r);inputclk; //50MHz时钟信号inputwr_n; //写使能信号,低有效inputcs_n; //片选信号,低有效input[7:0]db; //数据总线 outputdb_r;regdb_r; //输入数据寄存器wireen; //使能信号 assignen=~wr_n&&~cs_n; always@(posedgeclk) //全局时钟上升沿 if(en) //使能锁存
2、输入 db_r<=db; //锁存输入数据endmodule使能时钟这要是用于时序逻辑中,比门控时钟要来的稳定。门控时钟 Verilog示例代码:modulegateclock(clk,wr_n,cs_n,db,db_r);inputwr_n; //写使能信号,低有效inputcs_n; //片选信号,低有效input[7:0]db; //输入数据总线 outputdb_r; //锁存输出 regdb_r; //输入数据寄存器wired_clk; //门控时钟信号 assignd_clk=wr
3、_n
4、
5、cs_n; always@(posedged_clk) //门控时钟上升沿 db_r<=db; //锁存输入数据endmodule组合逻辑中多用门控时钟,一般驱动门控时钟的逻辑都是只包含一个与门(或门)。如果有其它的附加逻辑,容易因竞争产生不希望的毛刺。上面只是一个举例,实际上它们实现的功能上还是有一点差别的。门控时钟一例中是能够比较准确的在wr_n的上升沿锁存数据的。而使能时钟一例中在wr_n有效期间的每个时钟周期都会锁存输入数据,最后写入结束后锁存寄存器里的数据是wr_n上升前的0-T(T=1/clk)时间内锁存的数据。因为
6、是个例子,也就不详细说,具体情况具体分析。
此文档下载收益归作者所有