在本系列第一篇文章中,DDS的设计代码在2020版本之后的Vivado中,综合时可能会出现这样的错误:
这是因为2020版本Vivado对时钟信号上升沿下降沿的要求十分严格,之前在2019版本Vivado上,为了适配ZYNQ-7020硬件,就把程序的高低电平触发调整了一下,2019版本没有问题,但在2020版本就会报错
在2020版本会报错代码举例如下:
只需要如下图把rst_n的下降沿有效改成上升沿有效即可
代码一共有三处类似地方,全部改过来即可
下面附上完整的2020版本之后的DDS代码
module DDS(
input clk,
input rst_n,
input [1:0] Mode_Sel,
input [1:0] fword_sel,
output DA_clk,
output reg [11:0] Data
);
reg [31:0] r_fword;
reg [11:0] r_pword;
reg [31:0] cnt;
wire [11:0] rom_addr;
wire[11:0] rom_addr1;
wire[11:0] rom_addr2;
wire[11:0] rom_addr3;
wire[11:0] rom_addr4;
always@(posedge clk or posedge rst_n)
begi