自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(27)
  • 资源 (3)
  • 收藏
  • 关注

原创 Verilog 冒泡排序源代码分享,任意位宽任意长度数组,百行代码搞定。

思路:比较数组相邻两个寄存器内值的大小,如果 array[i+1]>=array[i] 两个寄存器值不变,否则交换两个寄存器的值。

2024-11-01 21:44:29 100

原创 Matlab球面坐标系绘制

2024-06-18 15:56:00 590

原创 相控阵天线阵元波程差相位差计算

波程差OP2除以波长lamda即可得到相位差deltaPhase。

2024-01-07 21:56:44 1280

原创 Vivado FPGA调试报错记录

有多个DDR IP核时,Enable一个输出温度,其他Disable输入温度。例化了多个XADC,但XADC硬件资源没有那么多。

2023-08-23 16:55:09 484

原创 成形滤波器、CIC补偿滤波器 matlab设计与FPGA实现

滤波器类型选择插值(Interpolation)、插值倍数选择5。

2023-08-16 18:27:37 1321

原创 抗窄带干扰窄带抑制算法及其FPGA实现

等待半窗–>加窗 --> FFT --> 频域抑制 --> IFFT --> 反加窗–> 输出窗中间部分。窄带干扰对信号解调、二阶谱识别等信号处理有较大影响。窄带干扰影响较大时通常会在宽带对窄带信号进行抑制。加窗 --> FFT --> 频域抑制 --> IFFT --> 反加窗 --> 输出窗中间部分。上面方案实际在FPGA中应用效果较好。

2023-04-25 22:17:07 780 1

原创 FPGA仿真笔记

【代码】matlab 实数转16进制,保存16进制txt文件。

2023-03-24 09:40:18 352

原创 FPGA调试问题记录(软件无线电)

输出的频率不是精确的,比如驱动时钟是204.8MHz需要产生1MHz的正弦波形时如果相位的精度是32位,则每个时钟的相位增量就是(1M/204.8M)*(2^32) = 20,971,520 是一个整数,dds产生的正弦波频率为1MHz。此时就需要将丢失0.48的相位补偿回来补偿的周期为0.48与1的最小公倍数25(0.48*25=1*12),也就是第25时钟时相位的增量21,474,8367+12 (21,474,836.48*25==21,474,836*24+21,474,836+12)。

2023-03-11 22:05:13 2133

原创 AXI的握手机制与爱情

AXI握手机制

2022-10-11 17:40:36 386

原创 无公式搞懂GMSK调制原理,附详细注释的matlab GMSK调制解调原理仿真源码

一、原理GMSK调制是一种连续相位调制,每个码元会对信号产生π的相位变化,但产生变化的过程不在一个码元时间内,而是分散到L个码元时间内。假设每个码元对相位的影响在6个码元时间内完成,相位成形函数如下图:码元对相位的影响按照相位成形函数在6个码元时间内对信号产生0.5或-0.5个周期的影响。% 高斯曲线function J_g = gauss_wave(n)peak = 1; %波峰值 peak=1/(sqrt(2*pi)*sigma)sigma=(1/(peak*sqrt(2*pi

2021-11-05 09:18:16 18481 4

原创 数字下变频 FPFA ddc原理、数字变频 iq采样 matlab仿真 与vivado dds ip核的使用与dds ip核频率校正

一、数字变频原理(积化和差,取和或取差)二、matlab仿真三、dds ip核工作原理四、dds ip核频率校正

2021-10-29 16:16:35 5694

原创 采样定理 ADC采样

一、采样定理二、带通采样(欠采样)三、ADC配置

2021-10-29 15:44:41 4999

原创 ADC RF中频采样 Vivado Verilog 联合 matlab 进行带通滤波器设计与仿真

1.滤波器参数计算RF中频信号的频率范围为70MHz±2MHz,采样频率为40.625MHz。采样后信号的频谱是原信号频谱以40.625MHz为周期的频谱搬移,根据奈奎斯特采样定理,40.625MHz采样率的奈奎斯特采样区为[N*20.3125,(N+1)*20.3125] MHz (N为自然数)。频谱搬移在第一奈奎斯特采样区为11.25MHz±2MHz(负频率向右的两次频移)。所以滤波器的通带需要设计为9.25MHz~13.25MHz通过的带通滤波器。2.通过matlab的fdatool工具进行滤波器

2021-10-25 11:47:31 1331

原创 [Synth 8-3438] module ‘core‘ declared at ‘XXX‘ does not have any parameter ‘param‘ used as named

原文:Vivado IP Flows - ERROR: [Synth 8-3438] module ‘my_core’ declared at ‘XXX’ does not have any parameter ‘my_param’ used as named parameter override采用OOC模式生成的IP核由于生成的是网表文件,IP核的参数已经固定无法再更改,例化时如果改变了IP核的传入参数(parameter values)就会出现这种错误。OOC模式要改变IP核参数需要重新生成IP核

2021-07-06 18:01:32 2240

原创 不同位宽 双口ram 输入输出 对应地址 地址对应 数据结构转换

不管是高位宽输入低位宽输出还是低位宽输入高位宽输出地址的映射结构都是一样的。例如:输入位宽位 32bit 输出位宽位 8bit向ram前四个地址输入:地址:输入00 : 0001020301 : 1011121310 : 2021222311 : 30313233则,读取时地址:输出0000:030001:020010:010011:000100:130101:12。。。不管是高位到低位还是低位到高位,都是低位宽合并为高位宽,低位宽的起始地址从高位宽起始地址中数据的低位

2021-06-16 18:00:05 4486 8

原创 gfp 通用成帧程序 帧结构 校验 crc 多项式 加扰

GFP帧长最大为65535字节,GFP帧结构如下://-------------核心报头----------------PLI:净荷长度指示符,表示4个字节的核心帧头后面的净荷区的字节数。cHEC:核心报头差错控制字段,校验生成多项式:crc-16/xmodem x16+x12+x5+1在网站http://www.ip33.com/crc.html可以计算校验码。最后总的核心报头四字节异或上 B6AB31E0 进行核心报头的扰码。//---------------净荷区------------

2021-05-27 15:37:28 3134

原创 FPGA 仿真与实际不一样,仿真没有打拍,仿真时钟问题。

代码明明有打拍但仿真却没有打拍,最后发现是因为仿真文件给的信号与时钟在同一时刻造成时钟边缘没有采样上。解决方法:不使用驱动仿真文件中信号生成的时钟作为仿真时钟,使用一个与它不同相的时钟作为仿真时钟。比如clk_1在仿真文件内部用于产生仿真信号。与clk_1不同相的clk_2作为仿真时钟输出。...

2021-04-30 11:24:42 3363 1

原创 vscode自定义代码片段编写,tab缩进,初始值,默认值官方指南

"process":{ "prefix": "gen",//触发关键字 "body": [ "--$1_gen$2", //$1 $2 按顺序标记 tab 跳转位置 "$1_gen : process( ${3:rst_n, clk_i} )", //${num:default} 包含初始值的标记 "begin", "\t$0", //$0为光标最后停留位置 "end process" ], "description": "process generate".

2021-02-24 12:41:13 1450

转载 Total Negative Slack ( TNS ) Worst Negative Slack ( WNS )

The “Worst Negative Slack (WNS)” reported by commands like report_timing_summary is actually the worst positive slack. If WNS is positive then it means that the path passes. If it is negative, then it means the path fails. So, this is really a misnomer.Th

2020-12-31 09:36:36 3034

原创 FPGA Vivado XDC 约束文件编写方式语法笔记

参考手册:UG625:https://china.xilinx.com/support/documentation/sw_manuals/xilinx14_7/cgd.pdf一、时钟约束1.时钟clk0的周期为10ns占空比为50%相移为0其约束形式为:clk0: period = 10, waveform = {0 5} // {0, 5} 表示一个周期的波形中0ns - 5ns 为高。2.时钟clk1的周期为8ns占空比为75%(6ns)相移为2ns其约束形式为:clk1: period

2020-12-29 17:23:04 40973 7

原创 Verilog # parameter参数传入generate参数重定义举例说明

// para 模块module para( input clk, input rst, input [WA-1:0] a, input [WB-1:0] b, output reg [WS-1:0] sum );parameter WA = 1;parameter WB = 1;parameter WS = 2;always @(posedge clk)begin

2020-12-29 15:10:15 2805

转载 FPGA 组合逻辑层次 运行频率时钟频率计算 流水线设计提高运行频率

上一个D 触发器的输出到下一个D 触发器的输入所经过的LUT 的个数就是组合逻辑的层次( Lut Levels )。Tlogic = 4 * Tlut // 4层的组合逻辑延时,Tlut为查找表延时业内对布线延时与逻辑延时的统计分析表明, 逻辑延时与布线延时的比值约为1:1 到1:2.由于我们所选用的芯片大量的已经进入0.18um 和0.13um 深亚微米的工艺,因此我们取逻辑延时与布线延时的比值为1:2. Troute = 2 * Tlogic   // 最大延时 = D 触

2020-12-10 09:52:42 1993 1

原创 FPGA Verilog md5算法实现源代码及仿真文件分享。

md5 算法标准:https://tools.ietf.org/html/rfc1321MD5 算法有 5 个步骤:1.将数据从头开始按 512 个 bit 划分成块。在最后一位数据后面添加一位 1 后,再继续添加一定数量的 0 使最后一块数据有448(512-64)位。2.在剩下的64位里填入实际数据的长度。3.将512位的块按32位分为16份,使用a、b、c、d四个32位参数与这16份数据与都进行4轮函数变换(共64次)。最后得到变换后的a、b、c、d。4.将变换后的a、b、c、d与下一块数据

2020-11-21 16:57:17 2879 9

原创 EXCEL VBA 实现翻译(简单对照)

'ab列为词典,其中a列为中文,b列为对应翻译。现在d列有需要翻译的中文,请在e列填入其对应的翻译Sub Trans()Dim di As IntegerDim rng As RangeFor di = 1 To Range("d65536 ").End(xlUp).Row '遍历到d列有信心的最后一列 If Range("d" & di) = Empty Then '如果中间有空的列则跳过 Else Set rng = Ra

2020-09-30 16:29:06 6297

原创 Excel 十六进制 16进制 0x 转 十进制 10进制 =HEX2DEC(A1)

十六进制数不带“0x”前缀时使用= HEX2DEC(A1)A1为目标所在的表格坐标十六进制数带“0x”前缀时使用=HEX2DEC(RIGHT(A1,LEN(A1)-2))其中 RIGHT(A1,LEN(A1)-2) 是将A1所在单元格的内容将去掉前两个字节。如果A1内容为0x3A,则 =RIGHT(A1,LEN(A1)-2) 的值就为3A。再通过 =HEX2DEC() 转换就能得到十进...

2020-04-24 13:15:07 19452 1

原创 c++ template类模板声明及其实例化

#include<iostream>using std::cout;using std::endl;template<class T>//类模板声明class Compare{public: T max(T x, T y) { return(x>y?x:y);//返回最大值 } private: T x; T y;};in...

2020-04-22 16:05:30 539

原创 “生命游戏”c++源代码

#include<iostream>#include<time.h>using namespace std;#define X 20 //地图高度#define Y 30 //地图宽度#define LIMIT 0.3void delay(int ms){ clock_t start = clock(); while (clock() - start &l...

2020-04-21 10:32:56 2428 2

Jesd204b jesd204c

ADC、DAC数据jesd204c标准协议

2023-02-03

NASA工程手册.docx

NASA Systems Engineering Handbook 可以参考一下NASA的管理方法

2021-02-26

FPGA Verilog md5 加密 工程源文件源代码MD5.rar

连续对60-1500bit帧长的数据进行计算MD5签名。 1.1用fifo对8位宽度的数据帧进入缓存,缓存深度8192bit 1.2对帧长缓存。 2.1从fifo读取数据帧到ram中 2.2对数据帧进行补位 3.1通过ram和rom中的值计算md5 3.2输出最后计算的md5值

2020-12-17

md5验证工具及工具源码md5.exe md5.c

能够打印输入字符串做MD5运算时每个步骤的结果。对打印结果有疑问的可以看下c源码。源码中是一直将b作为运算对象。 运行该工具的方式是: 1、在终端cd进工具所在目录 2、运行工具并传入字串 假如工具放在C盘user文件夹: C:/> cd C:/user C:/user> md5.exe "12"

2020-11-21

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除