在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 2610|回复: 0

如何写时钟模块才比较规范合理,大侠给个标准模板吧

[复制链接]
发表于 2008-5-7 18:52:09 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
如何写时钟模块才比较规范合理,大侠给个标准模板吧

`timescale 10ns / 1ns
module clktest(
clk,
reset,
datain,
dataout);
input clk;
input reset;
input [3:0]datain;
output[3:0]dataout;
wire clk;
wire reset;
wire clkout1;
wire clkout2;
wire clkout11;
wire clkout22;
clkgen clkgen(clk,reset,clkout1,clkout2);
datain_dataout datain_dataout(clkout1,clkout2,reset,datain,dataout);
endmodule
/////////////////////////////////////////////////////////////////
module clkgen(clk,reset,clkout1,clkout2);
input clk;
input reset;
output clkout1;
output clkout2;  
reg [3:0]cnt;
reg clkout11;
reg clkout22;
assign clkout1=!clkout11;
assign clkout2=!clkout22;

always @(posedge clk)begin
   if(!reset)
    cnt<=0;
   else
    cnt<=cnt+1;
  end
always @(posedge clk)
  begin  
   clkout11=~cnt[2];
   clkout22=~cnt[3];
   end
endmodule
////////////////////////////////////////////////////////
module datain_dataout(clkout1,clkout2,reset,datain,dataout);
input clkout1;
input clkout2;
input reset;
input [3:0]datain;
output [3:0]dataout;
reg [3:0]datatemp;
reg [3:0]dataout;
reg [3:0]cntt;
always @(posedge clkout2)begin
   if(!reset)
    cntt<=0;
   else
    cntt<=cntt+1;
  end

always @(posedge clkout1)begin
   if(!reset)
    datatemp<=0;
   else
    datatemp<=datain;
  end
always @(posedge clkout1)begin
   if(!reset)
    dataout<=0;
   else
    dataout<=datatemp;
  end

endmodule
////////////////////////////////////////////////
用nlint纠错的时候提示下面的警告:
clkgen.v(14): clock signal should not be driven (gated) by inverted logic (clock: "clkout1" (datain_dataout.v(28)); inverted logic output: "clkout1")


clkgen.v(14): clock signal should not be driven by logic which is not in clock_gen module (clock: "clkout1" (datain_dataout.v(22)); driving logic output: "clkout1")

clkgen.v(25): BLOCKING assignment should not be used in an edge triggered block
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条


小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-12-18 19:15 , Processed in 0.013359 second(s), 6 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表