当前位置:   article > 正文

Vivado-IP-DDS and Testbench Learning

Vivado-IP-DDS and Testbench Learning

DDS内部结构

1713874055690.png

实现流程

首先新建一个工程,创建bd文件,添加DDS Compiler核,此处不多赘述

1713873604745.png

Block Design

1713874499213.png

在观测输出的信号时,需要将最高位符号位的信号取反,这样才能输出正弦波,否则输出的波形如下图所示

1713873323542.png

将tvalid信号取反是因为将这个信号接到了开发板的LED0上,led需要低电平才能点亮,因此将vld信号进行取反

Testbench

bd文件转化成的Verilog文件如下

//Copyright 1986-2018 Xilinx, Inc. All Rights Reserved.
//--------------------------------------------------------------------------------
//Tool Version: Vivado v.2018.3 (win64) Build 2405991 Thu Dec  6 23:38:27 MST 2018
//Date        : Tue Apr 23 18:35:43 2024
//Host        : MOERJIE_PC running 64-bit major release  (build 9200)
//Command     : generate_target top_wrapper.bd
//Design      : top_wrapper
//Purpose     : IP block netlist
//--------------------------------------------------------------------------------
`timescale 1 ps / 1 ps

module top_wrapper
   (Res_0,
    aclk_0,
    wave_out_0);
  output [0:0]Res_0;
  input aclk_0;
  output [15:0]wave_out_0;

  wire [0:0]Res_0;
  wire aclk_0;
  wire [15:0]wave_out_0;

  top top_i
       (.Res_0(Res_0),
        .aclk_0(aclk_0),
        .wave_out_0(wave_out_0));
endmodule

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29

针对顶层模块的输入输出设计如下testbench文件

`timescale 1ns / 1ps
//
// Company: 
// Engineer: Sawen Moerjie 
// 
// Create Date: 2024/04/23 13:51:29
// Design Name: 
// Module Name: top_tb
// Project Name: 
// Target Devices: 
// Tool Versions: 
// Description: 
// 
// Dependencies: 
// 
// Revision:
// Revision 0.01 - File Created
// Additional Comments:
// 
//


module top_tb();
   reg aclk;
   //wire [15:0] M_AXIS_DATA_0_tdata;
   wire Res_0;
   
   wire [15:0] wave_out;
   
   initial begin
    aclk=1'b0;
   end 
   
   always #5 aclk=~aclk;
   
   top_wrapper top_wrapper_u0(
    .aclk_0                 (aclk),
    
    .Res_0   (Res_0),

    .wave_out_0             (wave_out)
   );
    
endmodule

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45

Testbench语法

1. 输入信号声明使用reg,输出信号声明使用wire

引脚约束

1713874934622.png

IO电平标准要设置为LVCMOS33,否则无法生成Bitstream文件

时序约束

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

添加完成后xdc文件会新增一行

1713878679670.png

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/509140
推荐阅读
相关标签
  

闽ICP备14008679号