打印

Verilog 编写时序遇到的问题,高手帮忙

[复制链接]
1843|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
laozhao1984|  楼主 | 2011-8-25 10:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
下面是用来做AD时序控制的程序,控制CS、RC、FIFOWR。第一个always做的240倍分频,在第二个always中直接应用第一个的分频时钟。但仿真的时候只有分频可以出来,CS、RC、FIFOWR信号始终为高电平,请问高手指教,谢谢!

`timescale 1ns/1ns
module div(CLK,CLK_OUT,rst_n,CS,RC,FIFOWR);
input CLK;
input rst_n;
output CS,RC,FIFOWR,CLK_OUT;

//reg CLK_OUT;
reg [6:0]cnt;
reg clk_out_t;
reg CS,RC,FIFOWR;

[email=always@(posedge]always @ ( posedge[/email] CLK )
  begin
   if (!rst_n)begin
     cnt<=0;
     clk_out_t<=0;
    end
   
   if (cnt==7'b1110111) begin
     cnt<=7'b0000000;
     clk_out_t<=~clk_out_t;
    end
   else begin
     cnt<=cnt+7'b0000001;
    end
  end
  assign CLK_OUT=clk_out_t;

                           
   
    always @(posedge CLK_OUT)
  begin
   RC=0;
   #1;
   CS=0;
   #2;
   CS=1;     
   #1;
   RC=1;
   #216;    //9US
   CS=0;
   FIFOWR=0;
   #2;
   CS=1;
   #18;     //totle #240=10us
   FIFOWR=1;
  end

endmodule

相关帖子

沙发
atua| | 2011-8-25 12:21 | 只看该作者
不要用自己产生的分频时钟

使用特权

评论回复
板凳
laozhao1984|  楼主 | 2011-8-25 14:16 | 只看该作者
那要用什么样的时钟来满足现在的时钟要求呢

使用特权

评论回复
地板
klffnj| | 2011-8-25 15:26 | 只看该作者
john 建议不要用自己的时钟,一般大多用DCM或者移位寄存器产生的分频时钟, 你把赋值方式变换一下试试

使用特权

评论回复
5
chimizhe| | 2011-8-25 20:38 | 只看该作者
#延时  不可综合的  不能这样延时吧?

使用特权

评论回复
6
atua| | 2011-8-26 12:11 | 只看该作者
没仔细看你下面的代码,刚刚看了一下,建议你先找些资料看一下,不要急着写代码,等心理有底了再写不迟,有些东西不能省。

使用特权

评论回复
7
utopiaworld| | 2011-8-26 22:14 | 只看该作者
延时不可以综合 ,写个状态机或者计数器,在什么时候片选拉下去 什么时候 wr啦上去,

使用特权

评论回复
8
lwq030736| | 2011-8-26 23:04 | 只看该作者
你让他们都输出1他们当然都输出1了,在同一进程里面多次赋值只有最后一次起作用的

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

8

帖子

1

粉丝