微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > 关于ASK解调的verilog HDL设计的疑问

关于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

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top