CHANG 发表于 2010-6-27 23:53:25

请教高手,帮我看看怎么改verilog程序

要实现的功能是:sy正跳变时,sload赋1,并且sload高电平只持续一个clk周期,clk的频率是sy的6倍。
我的程序如下
module clkcon(clk, sy, sload, oclk);
input clk;
input sy;
output sload;
output oclk;

regsload;
regoclk;

always @(posedge clk)
begin
oclk<=clk;
if(sload==1'b1)
sload<=1'b0;
end

always @(posedge sy)
begin
sload<=1'b1;
end

endmodule

ngtim 发表于 2010-6-28 01:08:49

clk和sy的相位关系呢?

ANG 发表于 2010-6-28 01:58:08

module clkcon(clk,sy,solad);<br>
input clk;<br>
input sy;<br>
output solad;<br>
reg solad;<br>
initial <br>
&nbsp;&nbsp;solad=0;<br>
always@(posedge sy)<br>
&nbsp;&nbsp;begin <br>
&nbsp; &nbsp;solad&lt;=1'b1;<br>
&nbsp; &nbsp;@(clk)<br>
&nbsp; &nbsp;solad&lt;=1'b0;<br>
&nbsp; &nbsp; end <br>
&nbsp; &nbsp; endmodule<br>
<br>
<br>
这样写和你是同样的结果,仅仅等待了半个clk周期<br>
<br>
我有些疑问:<br>
clk与sy是同步跳变的嘛?(你的程序似乎考虑的是同时跳变),如果是同时跳变那岂不是可理解为占空比为1:5的分频器??<br>
如果不是同步跳变,不知道了....不好意思,我也是初学者

usd 发表于 2010-6-28 02:07:03

楼上的见解深刻,一血见针,占空比为1:5的波形发生器
页: [1]
查看完整版本: 请教高手,帮我看看怎么改verilog程序