xtqxtq111 发表于 2011-9-5 10:15:40

需要一个根据时钟信号的上升沿,改变输出的装置

具体的就是说,来一个时钟信号,输出加一,当输出达到255的时候,输出又变成0。时钟信号接的是外部的矩形信号。
能否给出Verilog源程序,或者大概思路,我自己写。
我自己写的程序效果很差。下面是我的Verilog程序:
module d_addr(inclk,clk,addr);
        input inclk;
        input clk;
        output addr;
       
        reg addr;
        reg temp;
       
        always @(posedge clk)
        begin
                if(inclk!=1)
                begin
                        if(temp==1)
                                begin
                                        if(addr>=8'd249)
                                        begin
                                                addr<=0;
                                                temp<=0;
                                        end
                                        else
                                        begin
                                                addr<=addr+8'd1;
                                                temp<=0;
                                        end       
                                end
                       
                end
               
                else
                begin
                        temp<=1;
                end
        end



endmodule

weicz 发表于 2011-9-5 15:30:46

没缩进,太痛苦了。。。不知道你那个temp,inclk干啥用的,按照你要求写了一个

    module counter(reset,clk,addr);
                       input clk;
                       input reset;
                       output addr;
                       reg addr;

                       always@(posedge reset or posedge clk) begin
                                   if(reset) addr<=8'b0000_0000;
                                 else addr<=addr+8'b0000_0001;
                       end

    endmodule

xtqxtq111 发表于 2011-9-6 17:57:33

回复【1楼】weicz
-----------------------------------------------------------------------

O(∩_∩)O~,程序精神是一样的,因为很简单啊 ~~

最后才发现,信号发生器的矩形波输出是有正负的,我把Vpp调为3.3V,以为可以了,实际上最高电平才是1.6V,正好是上升沿电平,所以就是一直检测到上升沿,所以输出的结果就是不确定的
页: [1]
查看完整版本: 需要一个根据时钟信号的上升沿,改变输出的装置