推广 热搜: 未来    中国  企业  服务  政策  公司  快速  上海  设备 

Vivado常用编程方法

   日期:2024-11-22     作者:caijiyuan    caijiyuan   评论:0    移动:http://xiaoguoguo.dbeile.cn/mobile/news/1104.html
核心提示:在tcl脚本处输入如下命令: 设置多线程的命令为: set_param general.maxThreads 8 读取当前线程数的命令: g

Vivado常用编程方法

在tcl脚本处输入如下命令: 设置多线程的命令为: set_param general.maxThreads 8 读取当前线程数的命令: get_param general.maxThreads

(1)满幅输入,看IP 核的输出应该从哪里开始截位。 比如16位的乘法IP,输入为全1。此时根据输出数据 m_axis_tdata 进行截位(连续相同的即为符号位)。 (2) 如何从m_axis_data_tdata得到m_axis_data_tdata[15:0] 选中需要截取出来的bit位---->单击右键----->选择new virtual bus—>命名

在这里插入图片描述

tool------language templates-------输入关键词 在这里插入图片描述

1、crtl+Alt,再滚动鼠标。即可进行批量操作。 2、crtl+F。快速查找某一个参数的上一次/下一次出现的地方。 3、crtl+R。批量替换

点击±—单击add or create design source------add file—找到现有工程的.srcs文件-----点击source----点击 ip----找到所需的IP,点击进去,选择.xci文件----添加所需的.xci文件–点击完成 在这里插入图片描述

(1)法一: 1.生成IP核的状态报告 Tools -> Report -> Report IP Status-> upgrade (2)法二: 下面介绍另一种方法,对应上述方法不能使用的情况(Upgrade Selected 按钮是灰色的)。在 Tcl console中 执行如下一条命令即可

 

如果信号直接对应外部芯片的管脚,那就用10’dz. 如果只是芯片内部的信号,那就不要用高阻态。

复位时,state=0

 
 

通过截位的方法

 

数据格式为补码。 对于位宽为16位的数据而言,例如 x = 0111_1111_1111_1111,x的相反数-x = 1111_1111_1111_1111(原码表示方式)。 根据负数的补码与原码的转换规则:符号位不变,数据位按位取反,再+1。 所以 -x 的补码:1000_0000_0000_0000+1= 1000_0000_0000_0001。 因此+x到-x的快速转换方法为:所有位按位取反,再+1。

 
 
 

[ 31 : 0 ]表示一个数据的信号位宽,而 [0:7][0:7] 表示有8x8个位宽为32的数据。;

 

好处 (1)直观(2)可以用这种数据表示方法+序号m、n来处理matlab的for语句(大量,重复的语句)。 在这里插入图片描述

第一种方法在这里插入图片描述

第二种方法: integer i_clk,j_clk; 在这里插入图片描述

(1)第一种方法   将矩阵放在变量A里面作为输出。

 

(2)第二种方法   二维数组直接作为输出,对于VHDL语言是可行的,但是对于Verlog是不可行的。但是,我们可以用串行输出的方式来将一个二维数组输出出来,此时需要一个计数器。最后,外部模块根据计数器count和矢量,来拼成一个矩阵。

 
 

  通过上述语句生成bit文件时,应该按照下面步骤进行操作。否则,debug加不上。   点击综合(run synthesis)—>展开open synthesisized Design—点击set up debug----设置完成后,最后点击生成比特流文件。   为了通过直接点击生成bit流文件生成bit文件,且保证ILA一定加上了,则采用添加ila IP核这种方法。

  (1)处理板连接好线,但是此时没有输入信号,将ADC采集的数据偏置到平均值为0。   (2)**两级希尔伯特变换。**具体而言,首先经过第一级希尔伯特变换,其实部是有直流的,虚部信号没有直流,所以我们保留虚部信号;第二级希尔伯特变换,其输入为第一级希尔伯特变换的虚部。

 
 

原因(1)在每一个clk,都会对该信号进行判断,所以不用担心采集不到该信号的上升沿(2)如果生成的是一个高电平信号,那么对于算法下一次执行时,是不利的。

synthesis—report Utilization—>Hierarchy 在这里插入图片描述

对于滤波器而言,滤波器的增益为0dB,所以待滤波信号(位宽16)过了滤波器之后,应该仍然是16bit。但是,现在利用MATLAB生成滤波器系数的coe文件时,我们将滤波器的系数扩大 2^15-1倍, 所以在FPGA里面,要截去滤波器输出信号的低15位,即assign y = m_axis_data_tdata[30 : 15];

本文地址:http://xiaoguoguo.dbeile.cn/news/1104.html    多贝乐 http://xiaoguoguo.dbeile.cn/ , 查看更多
 
 
更多>同类行业资讯
0相关评论

新闻列表
企业新闻
推荐企业新闻
推荐图文
推荐行业资讯
点击排行
网站首页  |  关于我们  |  联系方式  |  使用协议  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  鄂ICP备2023001713号