需要一个根据时钟信号的上升沿,改变输出的装置
具体的就是说,来一个时钟信号,输出加一,当输出达到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 没缩进,太痛苦了。。。不知道你那个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 回复【1楼】weicz
-----------------------------------------------------------------------
O(∩_∩)O~,程序精神是一样的,因为很简单啊 ~~
最后才发现,信号发生器的矩形波输出是有正负的,我把Vpp调为3.3V,以为可以了,实际上最高电平才是1.6V,正好是上升沿电平,所以就是一直检测到上升沿,所以输出的结果就是不确定的
页:
[1]