|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
小弟看书也没看懂。
在MSK调制的差分编码串并转换模块代码如下,请达人帮忙解释:
module s2p(
input clk,
input clk_div2,
input reset,
input x,
output b_q,
output b_i
);
reg b_i;
reg b_q;
reg [1:0] x_t,d_t;
wire d_x;
always @(posedge clk) begin
if(!reset) begin
x_t<=0;
d_t<=0;
end
else begin
x_t[1:0]<={x_t[0],x};
d_t[1:0]<={d_t[0],d_x};
end
end
assign d_x=(x_t==2'b11)?0 x_t==2'b00)?0:1;
reg s_flag;
always @(posedge clk) begin
if(!reset) begin
b_i<=0;
b_q<=0;
s_flag<=0;
end
else begin
if(d_t[1]==d_t[0])
s_flag<=s_flag;
else
if(clk_div2)
s_flag<=!s_flag;
else
s_flag<=s_flag;
if(clk_div2)
b_i=s_flag;
else
b_q<=s_flag^d_t[1];
end
end
endmodule |
|