Vivado-IP-DDS and Testbench Learning

news2024/11/19 6:29:45

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

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

Testbench语法

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

引脚约束

1713874934622.png

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

时序约束

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

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

1713878679670.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1624707.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

深度学习--RNN循环神经网络和LSTM

RNN RNN简介 我们来看一看百度百科给的解释 下面是循环神经网络的一部分 黑色直线代表权重,a1,a2代表存储单元,黄色框框代表输入,曲线是激活函数 RNN常用领域 语言建模(Language Modeling):…

视频抽帧转图片,opencv和ffmpeg效果测评

最近在做一个项目,需要从视频中抽帧转图片,于是对opencv和ffmpeg效果进行了测评。 文章目录 1. open cv2. ffmpeg3.抽帧效果对比 1. open cv open cv 视频抽图片的教程,推荐以下链接,抽的帧数可以自行调节! 用pythono…

重磅!!!监控分布式NVIDIA-GPU状态

简介:Uptime Kuma是一个易于使用的自托管监控工具,它的界面干净简洁,部署和使用都非常方便,用来监控GPU是否在占用,非常美观。 历史攻略: docker应用:搭建uptime-kuma监控站点 win下持续观察…

windows11编译3dslicer_问题总结

编译前准备 CMake:版本>3.16.3(避免使用3.21.0,3.25.0-3.25.2,这些版本,可能会出现build错误)。Git:版本>1.7.10,安装完git,一定要在cmd里面试一试,是…

DRF学习之三大认证

一、认证 1、自定义认证 在前面说的 APIView 中封装了三大认证,分别为认证、权限、频率。认证即登录认证,权限表示该用户是否有权限访问接口,频率表示用户指定时间内能访问接口的次数。整个请求最开始的也是认证。 (1&#xff…

pytest测试基础

assert 验证关键字 需要pahton版本大于3.6,因为有个工具pip3;因为做了映射,所以下面命令pip3即pip pip install -U pytest -U参数可选,是如果已安装可更新。 如果上述demo变化 通过验证代码,测试环境没问题。…

Aigtek:介电弹性体高压放大器在软体机器人研究中的应用

近年来软体机器人的研究成为目前机器人研究领域的热点,由于软体材料的自由度可以根据需求自由变化,因此软体机器人有着极高的灵活性,而且软体机器人因其材料的柔软性有着很好的人机交互性能和安全性。它的出现成功解决了传统的刚性机器人人机…

嵌入式学习62-C++

知识零碎: 构造函数 在执行过程中的三个过程 ←(背) 1.传参:实参向形参传…

Hikyuu-tips-如何使用自定义的 host

Hikyuu 下载数据依赖于 pytdx,如何修改确定的通达信行情服务器的地址,可以参考:如何修改 pytdx 中对应的通达信 IP 地址_通达信行情主站地址-CSDN博客 上面需要去修改 pytdx 中的 hosts.py,但 pytdx 实际是一个 python 的软件包&…

51单片机中断和定时的结合应用

#include <reg52.h>unsigned int cnt 0;sbit led P1^1;// 初始化定时器 void TimerSetup(){TMOD 0x01; // 定时器的第1个模式TH0 0xB8; // 定时器的初始值-高位TL0 0x00; // 定时器的初始值-低位TR0 1; //启动定时器cnt 0;EA 1; // 开启总中断ET0 1; // 时间中断…

【JavaEE网络】TCP/IP协议:细节与应用

目录 TCP/IP协议协议格式传输层重点协议UDP协议UDP协议端格式 UDP的特点TCP协议TCP协议端格式 TCP的特点 TCP/IP协议 协议格式 应用层&#xff08;后端开发必知必会&#xff09;&#xff1a;这一层也有很多现成的协议&#xff08;后面还会重点介绍HTTP协议&#xff0c;这是做…

物联网:从电信物联开发平台AIoT获取物联设备上报数据示例

设备接入到电信AIoT物联平台后&#xff0c;可以在平台上查询到设备上报的数据。 下面就以接入的NBIOT物联远传水表为例。 在产品中选择指定设备&#xff0c;在数据查看中可以看到此设备上报的数据。 示例中这组数据是base64位加密的&#xff0c;获取后还需要转换解密。 而我…

[iOS]CocoaPods安装和使用

1.了解brew、rvm、ruby、gem、cocaspods之间的关系 在 macOS 环境中&#xff0c;Brew、RVM、Ruby、Gem 和 CocoaPods 之间存在以下关系&#xff1a; Homebrew (Brew)&#xff1a;Homebrew 是 macOS 上的包管理器&#xff0c;用于安装和管理各种开源软件包。它使您能够轻松地从…

ARK Invest:比特币,一种被低估且独特的避险资产

由于 2008 年全球金融危机&#xff0c;人们对政府和金融机构的信任度下降。此后&#xff0c;欧洲主权债务危机、美联储对 COVID19 的应对措施以及美国主要地区性银行的倒闭等事件暴露了依赖中心化机构的弊端。 随着技术创新的加速影响&#xff0c;信任度的下降使人们开始质疑传…

【C++】双指针算法:和为s的两个数字

1.题目 虽然在牛客上是个中等题&#xff0c;但我感觉是比较简单的。大家在看完这篇文章后可以看看我的上一篇文章&#xff1a;有效三角形的个数。本文章的题目的解法只是有效三角形的个数这道题目的一个环节。看懂这篇文章后可以更好的解决有效三角形个数那道题目&#xff01; …

AI 重写人类DNA,开源基因编辑器问世;安卓版Gemini新增多项功能

&#x1f989; AI新闻 &#x1f680; AI 重写人类DNA&#xff0c;开源基因编辑器问世 摘要&#xff1a;初创公司 Profluent 最新宣布&#xff0c;开发出世界首个完全由 AI 设计的基因编辑器&#xff0c;并成功应用于人类细胞 DNA&#xff0c;这一技术可谓是分子生物学的一大突…

Oracle之RMAN联机和脱机备份(二)

rman脱机备份,首先使用rman登入数据库服务器,然后关闭数据库后,启动数据库到mount状态,在执行backup database指定备份整个数据库。 1、启动mount归档模式 sys@ORCL>archive log list; Database log mode Archive Mode Automatic archival Enabl…

文本向量化模型新突破——acge_text_embedding勇夺C-MTEB榜首

在人工智能的浪潮中&#xff0c;以GPT4、Claude3、Llama 3等大型语言模型&#xff08;LLM&#xff09;无疑是最引人注目的潮头。这些模型通过在海量数据上的预训练&#xff0c;学习到了丰富的语言知识和模式&#xff0c;展现了出惊人的能力。在支撑这些大型语言模型应用落地方面…

网络爬虫之爬虫原理

** 爬虫概述 Python网络爬虫是利用Python编程语言编写的程序&#xff0c;通过互联网爬取特定网站的信息&#xff0c;并将其保存到本地计算机或数据库中。 """ 批量爬取各城市房价走势涨幅top10和跌幅top10 """ ​ from lxml import etree impor…

Oceanbase体验之(一)运维管理工具OCP部署(社区版4.2.2)

资源规划建议 ocp主机1台 内存:64G CPU1:2C及以上 硬盘大于500G observer服务器3台 内存32G CPU&#xff1a;4C以上 硬盘大于1T 建议存储硬盘与操作系统硬盘隔开实现IO隔离 一、OBD、OCP安装包准备 [rootobserver /]# chown -R admin:admin /software/ [rootobserver /]# …