关于ASK解调的verilog HDL设计的疑问
时间:10-02
整理:3721RD
点击:
module ask2(y,clk,start,x);
input clk,start,x;
output y;
reg y; reg xx; reg[4:0] q; reg[2:0] m;
always @(posedge clk)
begin
xx<=x;
if(start==0) q<=0;
else if(q==11) q<=0;
else q<=q+1;
end
always @(posedge xx)
begin
if(q==11) m<=0;
else if(q<=10)
begin
if(m<=3) y<=0;
else y<=1;
end
else m<=m+1;
end
endmodule
本来是这么想的,在xx的上升沿对m技术并进行判断;但是在modelsim中仿真的结果是m没有结果,想请问大家这事什么原因呢?应该如何解决呢?网上有些代码是将第二段的 posedge xx改为posedge clk 或者posedge x,个人认为那样的话判断m时没有和q同步是不是不大好啊?急求答案!
问题解决了,是我打错了,呵呵,
应该是
always @(posedge xx)
begin
if(q==11) m<=0;
else if(q==10)
begin
if(m<=3) y<=0;
else y<=1;
end
else m<=m+1;
end
endmodule
