📄 4.txt
字号:
多功能波形发生器VHDL程序与仿真
实现4种常见波形正弦、三角、锯齿、方波(A、B)的频率、幅度可控输出(方波
--A的占空比也是可控的),可以存储任意波形特征数据并能重现该波形,还可完成
--各种波形的线形叠加输出。
--说明: SSS(前三位)和SW信号控制4种常见波形种哪种波形输出。4种波形的频率、
--幅度(基准幅度A)的调节均是通过up、down、set按键和4个BCD码置入器以及一
--个置入档位控制信号(ss)完成的(AMP的调节范围是0~5V,调节量阶为1/51V)。
--其中方波的幅度还可通过u0、d0调节输出数据的归一化幅值(AMP0)进行进一步
--细调(调节量阶为1/(51*255)V)。方波A的占空比通过zu、zp按键调节(调节
--量阶1/64*T)。系统采用内部存储器——RAM实现任意输入波形的存储,程序只支
--持键盘式波形特征参数置入存储,posting 为进入任意波置入(set)、清除(clr)状态
--控制信号,SSS控制存储波形的输出。P180为预留端口,
/*CNT10*/
module CNT10 (RESET_B,CLK,DIV_CLK);
input RESET_B,CLK;
output DIV_CLK;
reg [3:0] Q;
always @(posedge CLK )
if(!RESET_B)
Q<=0;
else if(Q==9)
Q<=0;
else
Q<=Q+1;
assign DIV_CLK=~Q[3];
endmodule
/*R_SYDFF*/
module R_SYDFF (RB,D,CLK,Q);
input RB,CLK;
input [14:0]D;
output [14:0]Q;
reg[14:0]Q;
always @(posedge CLK)
begin
if(!RB)
Q<=0;
else
Q<=D;
end
endmodule
/*F_ADDER*/
module F_ADDER(A,B,CY_IN,SUM,CY_OUT);
input A,B,CY_IN;
output SUM,CY_OUT;
assign SUM=A^B^CY_IN;
assign CY_OUT=(A&B)|(A&CY_IN)|(B&CY_IN);
endmodule
/*ADDER*/
module ADDER(A,B,CY_IN,SUM);
input A,B,CY_IN;
output SUM;
assign SUM=A^B^CY_IN;
endmodule
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -