实验四。
一。实验内容:
a.用verilog语言编写2-ask调制器电路模块、并编写测试模块**。
b.用verilog语言编写2-ask解调器电路模块、并编写测试模块**。
二。实验指导。
2.12-ask调制原理。
数字信号对载波振幅调制称为振幅键控,即ask(amplitude shift keying),本节重点讨论的是二进制振幅键控调制(2-ask)的原理及其实现。2-ask又称二进制开关键控(ook,on-offkeying),他是以单极性不归零码来控制载波的开启和关闭的,其调制方式的出现比模拟调制还早。虽然2-ask的抗干扰性能不如其他调制方式,在无线通信中没有获得实际应用。
此外,2-ask的分析方法是研究数字调制的理论基础。2-ask调制有两种实现方法:乘法器实现法和键控法。
2.2 2-ask解调原理。
2-ask的解调方法有相干解调与非相干解调两种。相干解调要求接收端提供相干载波。而非相干解调是根据已调信号自身特点来解调。
三.程序设计。
2ask调制源程序。
module ask_2(out,in, rst,clk);
output out;
inputin,rst,clk;
reg [1:0] count;
reg carry;
assign out=in & carry;
always @ posedgeclk or negedgerst)
beginif(!rst)
begincarry<=2'b11;
count<=0
endelse
beginif(count==2'b11)
begincount<=0;
carry<=~carry;
endelse
begincount<=count+1;
endend
endendmodule
测试**。timescale 1ns/1ns
module ask_2_vlg_tst();
reg in;
regrst;
regclk;
wire out;
ask_2 i1(.out(out),.in(in),.rst(rst),.clk(clk));
initial
begin#0 rst=1;
#5 rst=0;
#8 rst=1;
endalways
beginclk=0;
in=1;#15 clk=~clk;//1
#5 clk=~clk;
#10 clk=~clk;//2
#15 clk=~clk;
#5 clk=~clk;//3
#10 clk=~clk;
in=0;#15 clk=~clk;//1
#5 clk=~clk;
#10 clk=~clk;//2
#15 clk=~clk;
#5 clk=~clk;//3#end
endmodule
2ask解调源程序。
module ask_2_de(out,in,rst,clk);
output out;
inputin,rst,clk;
reg out;
reg [2:0] m;
reg [2:0] count;
always @ posedge in or negedgerst)
beginif(!rst)
beginm<=0;
endelse
beginif(count==3'b110)
beginm<=0;
endelse
beginm<=m+1;
endend
endalways @ posedgeclk or negedgerst)
beginif(!rst)
begincount<=0;
m<=0;
out<=0;
endelse if(count==3'b110)
beginif(m<=3'b010)
beginout<=0;
endelse
beginout<=1;
endcount<=count+1;
m<=0;
endelse if(count==3'b111)
begincount<=0;
endelse
begincount<=count+1;
endend
endmodule
测试程序。timescale 1ns/1ns
module ask_2_de_vlg_tst();
reg in;
regrst;
regclk;
wire out;
ask_2_de i1(.out(out),.in(in),.rst(rst),.clk(clk));
initial
begin#0 rst=1;
#5 rst=0;
#8 rst=1;
endalways
beginclk=0;
in=1;#5 clk=~clk;//1
#15 clk=~clk;
#5 clk=~clk;//2
#15 clk=~clk;
#5 clk=~clk;//3
#10 clk=~clk;
in=0;#5 clk=~clk;//1
#15 clk=~clk;
#5 clk=~clk;//2
#15 clk=~clk;
#15 clk=~clk;//3#end
endmodule
五.实验结果。
图12ask调制、解调**图。
六.实验总结。
这次实验的重点在于编写程序的的textbenech测试文件。模块程序老师已经给出了可参考的**。在总体的思路上没有什么大的问题。
在调试的时候出现了一些小问题。现已解决。编写测试文件的过程中。
因为程序中使用了方波来代替正弦波。所以在时序上要控制好。在经过漫长的调试时间后。
完成了本次的**编写。实验过程中让我把学到的理论知识很好的应用到了实际中来,更加深刻的理解了书本上的知识。
verilog语法
第三章 verilog hdl的基本语法。前言。verilog hdl是一种用于数字逻辑电路设计的语言。用verilog hdl描述的电路设计就是该电路的verilog hdl模型。verilog hdl既是一种行为描述的语言也是一种结构描述的语言。这也就是说,既可以用电路的功能描述也可以用元器件和...
verilog大作业
彩灯控制器设计。一设计任务 设计一种彩灯控制器控制8盏灯。该彩灯控制器有6种自动切换的花样。1.第一种花样为彩灯从右到左,然后从左到右逐次灭,全灭全亮 2.第二种花样为彩灯两边同时亮一个逐次向中间移动再散开 3.第三种花样为彩灯两边同时亮两个逐次向中间移动再散开 4.第四种花样为彩灯两边同时亮三个,...
verilog语法总结
整理 张步阳。1.如果没有明确说明,则端口都是wire线网型的,且输入端口只能是wire线网型的。型数据通常以assign关键字指定的组合逻辑信号。wire只能被assign连续赋值,reg 只能在initial和always中赋值。input端口只能定义成wire型。是寄存器数据类型的关键字。寄存...