- 博客(35)
- 资源 (6)
- 收藏
- 关注
原创 入职前重学Verilog hdl
使用书籍:Verilog 数字系统设计教程,夏宇闻版;主要第1、2、3、4、5(5.1-6)、6、7(7.7)章。第一章:基础知识
2022-05-10 14:40:21 477
原创 RFSOC ZCU111 PL工程(记录三)
一收一发工程,工程下载链接:顶层代码:`timescale 1ns / 1ps//////////////////////////////////////////////////////////////////////////////////module TOP( input CLK_IN1_D_0_clk_n, input CLK_IN1_D_0_clk_p, input adc0_clk_0_clk_n, input adc0_clk_0_clk_p, input dac1_
2022-04-18 13:51:00 1259 3
原创 16QAM信号生成以及16bit量化并生成COE文件
//注释仅供参考% QAM16clc;clear;close all;R = 40e6; %符号率beta =0.15; %beta,升余弦滤波器nsamples = 5; % samples/symbol每符号的采样数Fs=R*nsamples;
2022-04-13 14:09:37 948
原创 VIVADO版本不一致的IP更新问题
工程经常会出现vivado版本不一致的情况,发生IP核锁定。第一种,直接点Tools -> Report -> Report IP Status,然后Upgrade SelectedUpgrade。第二种,第一种不可以用时,在 Tcl console中 执行如下一条命令:upgrade_ip [get_ips]...
2021-12-31 13:35:34 4353
原创 Linux centos6.3_i386等ISO下载地址
Linux centos6.3_i386 ISO下载地址https://vault.centos.org/6.3/isos/i386/Linux centos全版本镜像下载地址https://vault.centos.org/北外开源软件影像站https://mirrors.bfsu.edu.cn/
2021-11-09 15:38:02 1784
原创 ZYNQ的GPIO简介
ZYNQ 分为 PS 和 PL 两部分,那么器件的引脚(Pin)资源同样也分成了两部分。ZYNQ PS 中的外设可以通过 MIO(Multiuse I/O,多用输入/输出)模块连接到 PS 端的引脚上,也可以通过 EMIO 连接到 PL 端的引脚。Zynq-7000 系列芯片一般有 54 个 MIO,个别芯片如 7z007s 只有 32 个。GPIO 是英文“general purpose I/O”的缩写,即通用的输入/输出。是 ZYNQ PS 中的一个外设,用于观测和控制器件引脚的状态。图 1 是
2021-11-05 20:00:18 963
原创 win10自动修复系统
关于win10自动修复系统右击开始按钮>点击 运行 (以管理员身份运行 ),输入:Dism /Online /Cleanup-Image /ScanHealth这条命令将扫描全部系统文件并和官方系统文件对比,扫描计算机中的不一致情况。Dism /Online /Cleanup-Image /CheckHealth这条命令必须在前一条命令执行完以后,发现系统文件有损坏时使用。DISM /Online /Cleanup-image /RestoreHealth这条命令是把那些不同的系统文件还
2021-10-04 17:27:47 1041
原创 欠采样USR流程
1、输入信号为x(n),做一次实验,x(n)经过DAC发射,上变频到射频段,经过功率放大器PA,然后用采样率仅两倍信号带宽的ADC进行下变频并采样,对采样信号进行上采样和滤波得到实测的欠采样功放输出信号。2、假设功放输出信号为ya(n),经过反馈通道采样得到欠采样功放输出信号为yf(n),所以真实的功放输出信号为ya(n)=yf(n)/G,(G为反馈通道函数),由于实测输入信号x(n),得到实测输出yf(n),所以仅需得到反馈通道函数G,就可以求得功放的真实输出ya(n)。3、添加一个DAC作为欠采样的
2021-09-22 14:42:33 328
原创 RFSOC(记录二)手册相关
ug1271 记录 需要全看看目录 时钟主要由时钟芯片产生ug,zcu111的提供gui控制,scui说明是xtp517 板设置说明是xtp518zcu111系统控制需要,1串口驱动 2scui主机应用3使用microUSB连接串口 4重启开发板 5启动scuiscui gui展示在page82管脚约束 mio分配 板配置(条线 开关) 通过qspi配置rfsoc板上所有器件 管脚接口 FMCP连接Vivado Design Suite User Guide: Using Constrai.
2021-09-15 16:25:16 4689 4
原创 RFSOC SCUI记录
https://www.xilinx.com/support/answers/69640.htmlzcu102 uart驱动版本6.7 ,驱动改变重启电脑,确认jtag和uart同时连接到102,要确认vivado相关的IDcode版本(不懂),打开串口软件,@ver指令。得到固件版本(如果软件端口找不到,需要卸载通信端口,一般是com1)COM Port B is for the ARM processorCOM Port C is for PL Fabric (MicroBlaze) use
2021-09-15 16:22:15 882
原创 数字IC流程相关
FPGA1、综合 将Verilog转化为LUT级别单元2、打包 将LUT级别单元转化为CLB级别单元3、布局 将用到的CLB单元放到FPGA阵列上4、布线 确定单元之间的连接路径设计会Verilog 验证会systemVerilog和UVM数字IC设计流程前端:SPEC定义RTL编写DV验证SPEC定义(规格定义文档)专门写这个的。定义芯片的各项参数指标,会划分很多个,然后编写代码,进行验证,验证之后继续修改定义,一直循环。MRD–SPEC0、1、2–DUT0、1、2MRD市场调研文档,分
2021-09-15 16:09:17 670
原创 ADRV9009记录(非官方板)
单片9009上电,,电压5V,,限流4A,,上电小于0.6A,,下代码大于3AJ1 6TMS 5TDI 4TDO 3TCK 2GND 1VCC管脚约束,tx 2lane(AK6_1 AK10_0对应4ser口的1和0) ,rx 2lane (AJ8_1 AH10_0对应4ser口的1和0)glb_clk=50M (AA18)(晶振)一个refclk (AD10) ,一个sysref (U26),一个tx_sync (R25) ,一个rx_sync(N26)HMC7044, AH27 S
2021-09-15 16:03:59 1945
原创 AD9176(AD9172) ADC12DJ3200 204B ip
模式10 AD9176 延迟1* 1的是7 4 ,1 4的没有单link 8lane 1 4* 最大datarate=3080ML=8 M=2 F=1 S=2 N=16 K=32组帧 每个时钟32bit 其中I路8个点 Q路8个点时钟 预定是150M 本振1800M 带宽1000M 2.4倍采样data_rate=1200M dac_rate=1200*4=4800Mlane_rate=6000M core_clk=6000/40=150
2021-07-06 21:05:14 3212 5
原创 ZCU111(RFSOC)XCZU28DR(记录一)
1、根据手册pg269,发射多载波信号:DAC发射多频段信号(多载波)按照输出信号的格式:1、输出信号是IQ,先将两路IQ信号分别进行上变频,占用两个混频器,然后分别将两路I信号相加,两路Q信号相加,最后将结果通过DA发射。占用两个DAC核心,其中I路一个核心,Q路一个核心。2、输出信号是实值,先将两路IQ信号分别进行上变频,占用两个混频器,然后将得到是实值,进行相加通过DA发射,占用一个DAC核心。总结:以pair为单位,输出信号是IQ,最多可以发射八频段。最多占用8个DAC核心。输出信
2021-07-06 20:58:23 2587
原创 信号速率计算(数据速率、比特率、码元速率、符号率、带宽、采样率)
取信号带宽为10MHz(中频10M,零频时左右各5M),取成型滤波(会展宽信号)中滚降系数为0.15(最小值,常规值0.35),则可以得到符号率(码元速率)=10/(1+0.15)=8.7Msps,取调制方式为16QAM=2^4,则数据速率(比特率)=4*8.7=34.8bps。...
2021-06-22 20:23:07 13589
原创 ISE14.7
ISE14.7在win8.1、win10 下的兼容性问题解决方法ISE对win8无法完美支持(包括目前最新的14.7),在使用64位ISE时点击OPEN之类的东西时程序都会崩溃,虽然使用32位不会有这个问题,但是工程的默认打开方式不能改为32位。因此想要正常(伪)使用64位可以有如下临时解决办法找到程序安装路径下的这两个文件夹X:\Xilinx\14.6\ISE_DS\ISE\lib\nt64X:\Xilinx\14.6\ISE_DS\common\lib\nt64首先在第一个文件夹中,重命名l
2021-05-18 18:41:51 276
原创 C语言数组单元
数组元素与存储单元的对应关系举例:(32位系统,小端存储)int a[3] = {0x12345678, 0x87654321, 0x56789123};首先,给数组分配其所需空间 (分配12个字节)!然后,在此空间最低的地址存储第一个元素0x12345678 再存储0x87654321,最后存储 0x56789123!最后解释一下每个元素的存储:存储元素时,顺序是按字节从低到高即:对于0x12345678 先存储78 最后存储12char a[20];int *ptr=(int *)a;
2021-04-01 12:53:04 664
转载 notepad++
notepad不能更改语言(Notepad++ v7.9.2 (32-bit)):1.找到安装目录下的localization2.找到chineseSimplified.xml,右键notepad++打开3.找到852行,将修改为4.重启notepad++,重新设置中文简体转载自https://www.cnblogs.com/dengzidxl/p/14381601.html...
2021-02-08 14:40:43 319
原创 zynq中断,SDK寄存器
中断来源分成三大类SPI,PPI,SGI总共96个ID号的中断,这96个中断要按照不同的优先级分配到两个处理器上,这就需要对中断进行管理:很多输入的中断给2个处理器核的中断控制器需要设置一些什么样的控制器寄存器。首先必须有全局使能,而具体到每一个中断的ID号,要设置是否使能(是否生处理器中断),以及优先级(同时发生先发生谁),还要指定中断信号发送给哪个处理器。ICDDCR 开启或者关闭中断设置。(全局)ICDICFR 配置中断触发模式。(2BIT)【一位表示触发类型,一位表示是否仅CPU0接受中断】I
2021-02-05 00:34:00 741
原创 ZYNQ_GPIO_MIO EMIO ;IOBUF
1,UG585GPIO部分:DATA_RO 寄存器是读端口数值。DATA 是数据输出寄存器。DIRM,OEN分别是方向控制寄存器和输出使能寄存器。MASK_DATA_LSW是每个BANK低16位的输出控制,包括掩码位和数据位。(注意和DATA功能有重叠)2,VIVADO下配置GPIO注意分别注意MIO和EMIO的GPIO。1.MIO的GPIO对应的BANK是BANK0,BANK1。是其他功能使用剩余之后MIO可以做为GPIO.这是FIXIO有固定对应的引脚,不需要用户约束引脚。其实现仅仅依靠PS
2021-02-04 00:08:41 662
转载 AD9361结构及功能解析
1、简介(原创链接在文末)AD9361是ADI推出的面向3G和4G基站应用的高性能、高集成度的射频解决方案。该器件集RF前端与灵活的混合信号基带部分为一体,集成频率合成器,为处理器提供可配置数字接口。AD9361接收器LO工作频率范围为70 MHz至6.0 GHz,发射器LO工作频率范围为47 MHz至6.0 GHz,涵盖大部分特许执照和免执照频段,支持的通道带宽范围为200 kHz以下至56 MHz。两个独立的直接变频接收器拥有首屈一指的噪声系数和线性度。每个接收(RX)子系统都拥有独立的自动增益控
2020-11-05 14:36:36 12031
原创 IO缓冲ad_iobuf
自用工程中的代码。IO缓冲`timescale 1ns/100psmodule ad_iobuf ( dio_t, dio_i, dio_o, dio_p); parameter DATA_WIDTH = 1; input [(DATA_WIDTH-1):0] dio_t; input [(DATA_WIDTH-1):0] dio_i; output [(DATA_WIDTH-1):0] dio_o; inout [(DATA_
2020-11-05 14:18:50 564
原创 matlab生成ROM中的定点正、余弦波形数值,形成.coe文件并加载到块ROM中
matlab生成ROM中的定点正、余弦波形数值,形成.coe文件并加载到块ROM中1、利用MATLAB计算出正、余弦波形的浮点值,并量化16bit的定点波形数值x = linspace(0,6.28,1024); //在区间[0,6.28]之间等间隔地取1024个点y1 = cos(x); ///计算相应的正弦值y2 = sin(x);//由于正余弦波形的值在[0,1]之间,需要量化成16bit ,现将数值放大y1 = y1*32768;y2 = y2*32768;//再将放大的浮点值量化
2020-08-03 16:02:29 2337
原创 利用FDATool设计FIR滤波器并生成COE文件可导入VIVADO的IP核FIRCompiler
利用FDATool设计滤波器例:设计一个采样率为61.44MHz的低通滤波器,其通带带宽为10MHz,阻带带宽为12.5NHz。通带内波纹抖动为1dB,阻带下降80dB,并将其系数量化成16bit后保存到COE文件中。1、在MATLAB命令窗口中输入fdatool,选择response type为lowpass,designmethod选为FIR–equiripple;将frequency specifications中的units选为MHz,Fs设为61.44,Fpass设为10,Fstop设为12.
2020-08-03 15:29:47 3949 2
原创 创建AD9361的vivado工程并导入SDK(ZYNQ平台)
vivado版本 2017.4(其它版本步骤基本相同)(官网步骤都有配图进入可查看)(官网链接 https://wiki.analog.com/resources/fpga/docs/build)1、下载no-os文件 2018_r1https://github.com/analogdevicesinc/no-OS2、下载hdl文件2018_r1https://github.com/analogdevicesinc/hdl/releases3、windows(linux查看官网)安装Cygwi
2020-06-30 20:53:20 7850 8
原创 9361 no-os 可配置内容和控制台指令
笔记https://wiki.analog.com/resources/eval/user-guides/ad-fmcomms2-ebz/software/baremetal9361no-os软件介绍9361配置的全局,收发设置。使能/获取状态机ENSM、获取/设置射频增益、获取/设置rx射频带宽、获取/设置rx采样频率、获取/设置rx LO(本振)频率、在内部/外部切换LO、获取RSSI(接受信号强度指示器)、获取/设置增益控制模式、获取/配置/启用/关闭rx fir滤波器、获取/启用/禁用
2020-06-28 14:41:21 898
原创 十进制转十六进制,十六进制转十进制(8192)
%进制转换clc;clear;close all;%导入数据load('env_in0.mat');RXI=real(env_inbf);RXQ=imag(env_inbf);%变换width = 12;%精度depth=length(env_inbf); %数据长度% addr = [0:depth - 1];RXI_Ts = fix(RXI*(2^width-1)/2 + 0.4999); %四舍五入RXQ_Ts = fix(RXQ*(2^width-1)/2 + 0.4999
2020-06-18 13:47:01 1525
转载 matlab 如何读取二进制、十六进制txt文档
本方法同样适合读取十六进制和二进制以外的其他进制文件,txt使用一个最简单的命令就可以读取 textread 这是一个十分有用,简便的函数(对于fopen fscanf而言)读取二进制txt文件:假如txt文档中内容为0001 0010 0011 0100 1000,保存在pin.txt文档中使用a=textread('pin.txt','%s')'a = '0001' '0010' '0011' '0100' '1000'可以看到数据保存为了char格式。使
2020-06-17 13:27:21 5756
转载 利用定点式工具箱实现:文件读取,完成不同进制之间的转换
在进行一些大的算法编程时,经常会遇到处理一些大量的数据,而这些数据存储的格式却各不相同,如DSP和FPGA中用到的是16进制表示的,而matlab中运算得到的是十进制,在不同的软件中执行要用各自允许的格式,有时转换起来非常麻烦。下面是我在实践中用matab处理十进制数据和十六进制数据之间的转换技巧,分享如下:1、十进制转换成其它进制t = fi(0,1,23,22); //严格的使用格式是fi(var,sign,wordlength,fractionwordlength),sign处的值为1或0,
2020-06-17 13:25:47 186
转载 matlab中读取txt数据文件(txt文本文档)
根据txt文档不同种类介绍不同的读取数据方法一、纯数据文件(没有字母和中文,纯数字)对于这种txt文档,从matalb中读取就简单多了例如test.txt文件,内容为17.901 -1.1111 33.04517.891 -1.1286 33.04517.884 -1.1345 33.045可以在command window中输入load test.txt ,然后就会产生一个test的数据文件,内容跟test.txt中的数据一样;另一种方法是在file/import data…/next/fi
2020-06-15 13:53:38 3020
原创 打印进制输出,十进制转十六进制(补码)
//打印进制输出 1 int A = 9; 2 /*按整型输出,默认右对齐*/ 3 printf("%d\n",A); 4 /*按整型输出,补齐4位的宽度,补齐位为空格,默认右对齐*/ 5 printf("%4d\n",A); 6 /*按整形输出,补齐4位的宽度,补齐位为0,默认右对齐*/ 7 printf("%04d\n",A); 8 9 /*按16进制输出,默认右对齐*/ 10 printf("%x\n",A)
2020-06-15 09:45:46 1024
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人