要想掌握这其中的基础内容,至少要有20天*8小时的时间
1.设计定义(目标)
编写逻辑(用Verilog代码描述逻辑,画逻辑图,使用IP)
2.设计输入
3.分析综合
验证功能(逻辑仿真)
综合工具,对所写的描述内容进行分析,并得到逻辑门级别的电路内容。
4.功能仿真
5.布局布线(在指定器件上将设计的逻辑电路实现)
6.分析性能(让设计的逻辑在目标板上正常工作)(时序仿真,静态时序分析)
时序仿真(耗时)
ILA
7.板级调试
目录结构
Verilog 语句




波形合成与调制



芯片界面选择

创建原理图后选用这个IP核

这里选择sin的话是16位,选择cos的话也是16位,选择sin和cos的话就是32位
数据手册中可以看到这个IP核,高位是sin波形,低位时cos波形,只使用其中一位时就只有16位

相位增量配置,相位增量固定,也就是说频率时固定的
选择第二个,就会多出一个配置通道,通过写入频率控制字来控制频率的不同,这个需要一定的反应时间,应用场合时偶尔的配置这个相位增量。

这个是频率偏移量可编程

幅度模式这里选的是全精度





选择有符号的十进制


波形再选模拟的波形

第一个是幅度信息,第二个就是相位信息

重新生成输出文件和顶层文件

仿真文件

在信噪比的配置上,多少的信噪比就对应着多少输出位宽的关系
整体流程框图

查找表法实现DDS

UART

串口通信时序


这里是通过频率控制字来控制DDS,通过查找表的形式来控制频率控制字和相位控制字来生成我们所需要的频率和相位
一般输入信号都是定义为寄存器类型,输出信号都是定义为线网类型。
DSB调制

抑制载波的双边带
AM调制解调
调制信号是一个含有直流分量的信号,最小值是大于等于0的



Fs=100; %采样频率100MHz
F1=1; %载波1MHz,正弦波
F2=0.02; %信号20KHz,正弦波
t=0:1/Fs:100-1/Fs;
Signal=sin(2*pi*F2*t);
Carrier=sin(2*pi*F1*t);
Signal2=Signal+2;%加了直流偏移以后的信号,这个2是做AM,1是做DSB
Signal_Modu1=Signal.*Carrier;
Signal_Modu2=(Signal+1).*Carrier;
Signal_Modu3=(Signal+2).*Carrier;
fft_signal=abs(fft(Signal));
fft_carrier=abs(fft(Carrier));
fft_signal2=abs(fft(Signal2));
x_value=t(1:256)*Fs*10;
figure;
subplot(231);plot(Signal);title('Signal');
subplot(232);plot(Carrier);title('Carrier');
subplot(233);plot(Signal2);title('Signal+2');
subplot(234);plot(x_value,fft_signal(1:256));title('Signal');
subplot(235);plot(x_value,fft_carrier(1:256));title('Carrier');
subplot(236);plot(x_value,fft_signal2(1:256));title('Signal+2');
figure;
subplot(231);plot(Signal);title('Signal');
subplot(232);plot(C



2604

被折叠的 条评论
为什么被折叠?



