Vivado-IP-DDS and Testbench Learning

devtools/2024/11/23 3:18:32/

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 psmodule 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

针对顶层模块的输入输出设计如下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 beginaclk=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

Testbench语法

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

引脚约束

1713874934622.png

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

时序约束

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

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

1713878679670.png


http://www.ppmy.cn/devtools/15609.html

相关文章

前后端加密解密工具类(前端rsa加密,后端进行解密)

前端代码中传入后端工具类返回的两个加密串信息进行加密 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name"viewpo…

若依ruoyi-vue中图标使用介绍

图标使用 使用方式 若依ruoyi-vue中使用全局 Svg Icon 图标组件。地址&#xff1a;src\components\SvgIcon\index.vue 该组件是在src\assets\icons\index.js文件中被注册为全局组件的&#xff0c;可以在项目任意地方使用。所有的图标都在src\assets\icons\svg目录下。可自行添…

PCA(Principal Component Analysis,主成分分析)与矩阵X的协方差矩阵之间的联系

PCA&#xff08;Principal Component Analysis&#xff0c;主成分分析&#xff09;是一种常用的降维技术&#xff0c;用于将高维数据集投影到低维空间中。在PCA中&#xff0c;投影方程将原始特征向量 ( x 1 , x 2 , … , x p ) (x_1, x_2, \ldots, x_p) (x1​,x2​,…,xp​)映射…

01年小伙对编程工作的认知

最近招了一个01年的小伙。半个月离职了。 小伙211本科计算机毕业&#xff0c;有写博客的习惯&#xff0c;面聊时感觉一切正常&#xff0c;感觉经验跟能力匹配&#xff0c;也挺符合岗位。 于是迅速入职上岗&#xff0c;开始干活。 但入职后发现不对劲。 频繁请假&#xff0c…

大学生在线考试|基于SprinBoot+vue的在线试题库系统系统(源码+数据库+文档)

大学生在线考试目录 基于SprinBootvue的在线试题库系统系统 一、前言 二、系统设计 三、系统功能设计 试卷管理 试题管理 考试管理 错题本 考试记录 四、数据库设计 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐 八、源码获取&#xff1a; 博主介绍&#…

学习STM32第十九天

PWR电源控制 一、电源系统 STM32F4xx电源供电结构框图如下 电压管理器&#xff08;Voltage Regulator&#xff09;共有三种模式 run mode 此模式下&#xff0c;电压管理去稳定向核心、内存和外设提供1.2V电压&#xff0c;输出电压可由软件变换。stop mode 此模式下&#xf…

盲人出行挑战与曙光:“盲人视觉辅助技术研发”助力无障碍生活

作为一名资深记者&#xff0c;我深感盲人朋友们在日常出行中面临的种种困难。然而&#xff0c;在科技日新月异的今天&#xff0c;一项名为蝙蝠避障的专为盲人视觉辅助技术研发的领域正在以前沿科技成果&#xff0c;为改善盲人出行困境带来希望之光。本文将深入探讨这一技术如何…

DHCP和代理IP的区别

一、什么是DHCP DHCP&#xff08;Dynamic Host Configuration Protocol&#xff09;&#xff0c;即动态主机配置协议&#xff0c;是一种网络协议&#xff0c;用于使网络中的主机能够动态地从DHCP服务器获取网络配置参数&#xff0c;如IP地址、子网掩码、默认网关以及DNS服务器…