xiaozhaodehao 2018-02-09 03:04 采纳率: 0%
浏览 2336
已结题

verilog ask调制解调testbench

请高手帮忙写下ask调制解调的testbench。
//基于verilog HDL描述语言,对基带信号进行ASK振幅调制

module ASK_modulator(clk,start,x,y);

input clk; //系统时钟
input start; //开始调制信号
input x; //基带信号

output y; //调制信号

reg [1:0] q; //分频计数器
reg f; //载波信号

always @(posedge clk) begin
if(start == 0)
q <= 0;
else if(q <= 1) begin
f <= 1;
q <= q + 1;
end
else if(q == 3) begin
f <= 0;
q <= 0;
end
else begin
f <= 0;
q <= q + 1;
end
end
assign y = x && f; //对基带信号进行调制

endmodule

//基于verilog HDL描述语言,对ASK调制信号进行解调

module ASK_demodulator(clk,start,x,y);
input clk; //系统时钟
input start; //同步信号

input x; //调制信号
output y; //基带信号

reg y;
reg xx; //寄存x信号
reg [3:0] q; //计数器
reg [2:0] m; //计xx的脉冲数

always @(posedge clk)
begin
xx <= x; //clk上升沿时,把x信号赋给中间信号xx
if(!start)
q <= 0;
else if(q == 11) //if语句完成q的循环计数
q <= 0;
else
q <= q + 1;
end

always @(posedge clk) //此进程完成ASK解调
begin
if(q == 11) //m计数器清零
m <= 0;
else if(q == 10)
begin
if(m < 3) //if语句通过对m大小,来判决y输出的电平
y <= 0;
else
y <= 1;
end
else if(xx == 1)
m <= m + 1;
end

endmodule

  • 写回答

1条回答

  • devmiao 2018-02-09 16:15
    关注
    评论

报告相同问题?

悬赏问题

  • ¥15 深度学习根据CNN网络模型,搭建BP模型并训练MNIST数据集
  • ¥15 lammps拉伸应力应变曲线分析
  • ¥15 C++ 头文件/宏冲突问题解决
  • ¥15 用comsol模拟大气湍流通过底部加热(温度不同)的腔体
  • ¥50 安卓adb backup备份子用户应用数据失败
  • ¥20 有人能用聚类分析帮我分析一下文本内容嘛
  • ¥15 请问Lammps做复合材料拉伸模拟,应力应变曲线问题
  • ¥30 python代码,帮调试,帮帮忙吧
  • ¥15 #MATLAB仿真#车辆换道路径规划
  • ¥15 java 操作 elasticsearch 8.1 实现 索引的重建