本帖最后由 fpgaw 于 2010-7-16 10:43 编辑
一个脉冲信号(pps)上升沿来时,计数器开始记一个更高频率的脉冲(clk)个数,至下一个脉冲(pps)来时,关闭计数,记数值(data)送别的寄存器(q)备用,如此往复.应该如何实现啊?
我写了一个,写糊涂了,该怎么改啊?
可以用这种语句吗: if @(posedge clk)
我的代码如下:就是编译不过,大家帮我看看是什么地方出问题了?
module outpwm(clk,pps,clkout);
input clk;
input pps;
output clkout;
reg clkout;
reg[7:0] data;
reg enable;
reg[7:0] q;
reg n;
always @(posedge pps)
begin
if (n==1)
begin
q<=data;
data<=0;
n<=0;
clkout<=~clkout;
end
else
begin
n<=n+1;
end
always @(posedge clk)
begin
data<=data+1;
end
end
endmodule |