2017年春季学期实验作业
定点数和运算电路
- 参考文档 信号处理算法设计流程: 点击下载
- 参考文档 定点数制系统介绍: 点击下载
- 参考文档 王非非同学本科毕设论文: 点击下载
实验任务1 定点加法实验
- 使用Verilog语言,设计2个计数器
- 计数器1字长3比特,无符号数制,从0计数到7。
- 计数器2字长4比特,二补码数制,从-7 计数到7。(注意危险的1000,这是-8)
- 自行设计符号扩展规则,把两个计数器的输出信号进行字长匹配,然后相加
- 自行设定相加之后的字长。
- 验证两个计数值相加之后的正确性。
- 可以使用modelsim或是quartus的波形仿真或是signalTAP
- 改变计数器1的字长为5比特,从0计数到31,计数器2不变,重新设计输出字长,完成加法实验。
实验任务2 定点乘法实验
- 使用Verilog语言,设计
- 设计一个有符号的DDS电路,输出波形是有符号数范围(-1,1)定点格式,二补码,8比特精度
- 使DDS的输出波形乘以一个有符号的纯小数,定点格式,字长8比特
- 乘法结果的波形字长为8比特有符号数。
- 验证乘法结果波形的时域正确性。可以使用modelsim或是quartus的波形仿真或是signalTAP
- 把波形结果数据导入matlab,观察频谱
- 改变输出波形字长为12比特,重复验证,对比和8比特结果的区别。
实验任务3 多周期DDS信号合成
实验任务4 基于样点的多周期可综合Testbench设计
- 自行学习使用modelsim
- 注意:在高版本(例如版本10)的modelsim中,会出现timescale的警告导致仿真无法运行
- 产生这种警告的原因是因为我们的仿真代码结构同时要支持modelsim仿真和quartus编译
- 可以用以下的仿真命令运行仿真 vsim -novopt +nowarnTSCALE work.testbench 用该命令在modelsim的command窗口执行仿真
- 资料页面—实验教学:可综合Testbench参考设计
- 为了能够在以后的实验设计中继续用到这种结构,请学习修改以下的仿真要素
- 修改2个激励样点之间的周期数
- 修改激励ROM的数据内容,使用matlab生成ROM内容,比如不同频率的正弦波
- 修改激励ROM的数据内容和长度
- 在修改了仿真要素之后,需要用以下的形式验证正确性
- 在Modelsim中通过时域波形观察的形式验证
- 编译testbench电路,下载到FPGA开发板,在signaltap中观察时域波形验证
- 把modelsim和signaltap中的数据,以文件的形式导入电脑,在matlab中验证,时域和频域都要验证
- 代码说明,有一种特殊的注释,可以作为电路综合器的编译指令开关
- "// synopsys translate_off " 这一行代码之后的HDL代码不参与RTL电路综合的编译
- "// synopsys translate_on " 这一行代码之后的HDL代码参与RTL电路综合的编译
- 例如,以下代码是本实验中用于停止仿真和生成时钟、复位信号的代码,实际电路运行时,时钟由晶振提供,复位可用拨码开关控制
// disable synthesizer
// synopsys translate_off
initial begin
# TIME_RUN $stop();
end
gen_clk_rst U_gen_clk_rst(
.CLK(clk_W),
.RST(rst_W));
defparam U_gen_clk_rst.CLK_PERIOD_HALF = CLK_PERIOD_HALF;
// enable synthesizer
// synopsys translate_on
实验任务5 折叠结构的FIR滤波器
- 所谓折叠结构,是指用一个乘法累加器,利用多个时钟周期完成FIR滤波运算。
- 折叠结构的使用场景要求,数据速度要低于时钟频率
- 资料页面—实验教学:FIR单元电路参考设计
- 本FIR电路的testbench是可综合的电路,可以编译下载到FPGA芯片中
- 请完成以下实验任务
- 在Modelsim中运行仿真,观察输出数据的波形用Matlab分析频谱
- 在FPGA中运行电路,用signaltap观察输出数据的波形用Matlab分析频谱
- 用Matlab生成不同的激励数据,比如多音正弦,或者扫频信号,再用ModelSim和SignalTap验证输出数据
- 阅读整个项目的Matlab和HDL代码,尝试修改FIR的频响,抽头个数等要素,再次运行仿真。
实验任务6 DDS音频信号合成
- 文档:FPGA sdr LAB dds audio syn.pdf
- 文档文件: 点击下载
- 实验代码文件: 点击下载
实验任务7 DDS与并行ADC、DAC
实验任务8 CIC插值滤波器