- 博客(36)
- 收藏
- 关注
原创 01硬件原理图
PS上电顺序: V ccpint,Vccpaux,Vccpll ,然后 PS VCCO VCC_MIO0,VCC_MIO1。FPGA的不同的BANK有着不同的电源基准,对于PS端也有对应的电源。XX表示特定Bank的名字,Y代表P或者N,#代表所属的BANK;2. 底板:以太网,USB,IO,AD9361,射频链路等。PL和 PS 属于单独的供电系统,因此上电先后顺序不受影响。1. 核心板:上电时序控制,DDR3,Flash。1、一组物理位置和特性相近的IO的总称。2、同一BANK的电压基准是一致的。
2025-05-06 17:31:17
550
原创 verilog_testbench技巧
readmemh读取十六进制数据,文件内容只能包含空白位置,注释行,十六进制数据中不能包含位宽说明和格式说明,每个数字必须是十六进制数字。$readmemb读取二进制数据,文件内容只能包含空白位置,注释行,二进制数据中不能包含位宽说明和格式说明,每个数字必须是二进制数字。2输出当前仿真时刻、位置和仿真过程中用到的memory,以及CPU时间的统计。$finish(n)带参数系统任务,根据参数不同输出仿真信息。$stop(n)带参数的系统任务,根据参数不同输出仿真信息。执行state,n次。
2025-04-30 19:15:13
287
原创 Vivado时序约束中Tcl命令的对象及属性
在前面的章节中,我们用了很多Tcl的指令,但有些指令并没有把所有的参数多列出来解释,这一节,我们就把约束中的Tcl指令详细讲一下。我们前面讲到过get_pins和get_ports的区别,而且我们也用过get_cellsget_clocks和get_nets这几个指令,下面就通过一张图直观展现它们的区别。get_clocks后面的对象是我们之前通过或者创建的时钟,不在硬件上直接映射。我们再来看下各个命令的属性。
2025-04-09 19:48:06
256
原创 7.时序约束辅助工具
上面我们讲的都是xdc文件的方式进行时序约束,Vivado中还提供了两种图形界面的方式,帮我们进行时序约束:时序约束编辑器(Edit Timing Constraints )和时序约束向导(Constraints Wizard)。两者都可以在综合或实现后的Design中打开。
2025-04-09 19:42:04
415
原创 6.多周期路径约束
第二就是output delay,在FPGA的最后一级寄存器到输出的路径上,往往都使用了IOB,也就是IO block,因此最后一级寄存器的位置是固定的,从buffer到pad的走线延时是确定的。第三个就是多周期路径,我们讲了那么多多周期路径的应用场景,但实际我们是根据Timing report来进行约束的,即便那几种场景都存在,但如果Timing report中没有提示任何的时序 warning,我们往往也不会去添加约束。在本工程中,没有这种应用场景,因此不需要添加此类约束。参数也将在下一章节具体讲解。
2025-04-09 19:32:16
532
原创 5.实战篇-伪路径约束
在本章节的“2 约束主时钟”一节中,我们看到在不加时序约束时,Timing Report会提示很多的error,其中就有跨时钟域的error,我们可以直接在上面右键,然后设置两个时钟的伪路径。
2025-04-09 19:05:56
125
原创 3.实战篇-衍生时钟约束
我们在理论篇的“create_generated_clock”一节中讲到,我们可以重新设置Vivado自动生成的衍生时钟的名字,这样可以更方便我们后续的使用。系统中有4个衍生时钟,但其中有两个是MMCM输出的,不需要我们手动约束,因此我们只需要对。(即产生的时钟并非输出到管脚),那么无论是source的时钟还是我们衍生的时钟,在。后面的一定是这个时钟最初的产生位置。在视频中我们会具体展示)。把上述的约束指令在tcl中运行后,我们再运行一遍。.这里需要注意的是,如果该约束中使用。在时序树的分析中,我们看到,
2025-04-09 18:50:45
213
原创 软件无线电基础知识
通信就是传输信息,将信息从一个地方传输到另一个地方。包括模拟通信系统和数字通信系统。模拟通信系统是利用模拟信号来传递信息的通信系统,其中包含两种重要变换。第一种变换是,在发送端把连续消息变换成原始电信号(用各种传感器,比如咪头、摄像头),在接收端进行相反的变换。这种变换、反变换由信源和信宿来完成。这里所说的,基带的含义是基本频带,即从信源发出或送达信宿的信号的频带,它的频谱通常从零频附近开始,如语音信号的频率范围为,图像信号的频率范围为。
2025-03-28 11:15:26
736
原创 原码、反码、反码
当然如果需要进位,符号位也要进位。反码是原码的符号位不变,其余各位取反。原码反码和补码是对有符号数而言。原码、反码、补码都一样。原码是符号位和绝对数值。
2025-03-12 10:30:49
235
原创 AD6688手册(1—7)
目录前言一、FEATURES(产品特点)二、FUNCTIONAL BLOCK DIAGRAM(功能模块图)三、GENERAL DESCRIPTION(总体描述)四、SPECIFICATIONS(规格)4.1 直流电气规格4.2 交流电气规格4.3 数字化规格4.4 SWITCHING SPECIFICATIONS(交换标准)4.5 TIMING SPECIFICATIONS时间规范五、ABSOLUTE MAXIMUM RATINGS(绝对最大额定值)六、PIN CONFIGURATION AND FUNCT
2025-03-11 15:44:38
730
原创 verilog乘加运算位宽
verilog,乘加运算的有效数据位。如果输入数据位宽为N,求系数绝对值之和,求绝对值之和对应无符号数位宽n,那么乘加运算的结果需要N+n位保存。滤波器系数为8 17 11 0 -11 -17 -8//将对称系数的输入数据相加//采用移位加法运算实现乘法运算//*8//*17//*11。
2025-03-06 22:06:58
170
原创 MATLAB中使用fread读取二进制数据时的大端序与小端序处理
只是记录matlab使用的小知识提示:以下是本篇文章正文内容,下面案例可供参考matlab使用fread读取文件时需要注意大字节序和小字节序。
2025-02-10 23:10:56
917
原创 stm32f103的主频不能设置为72MHz的问题
更改STM32f103c8t6的时钟时,发现不能改成最高72Mhz。添加晶振后,就可以设置为最高频72MHz了。原因是没有使用RCC晶振。
2024-06-27 21:48:14
759
原创 ESP32shaolu
点击START,如果点不了,可能是串口被其他软件占用,关掉其他串口软件,再试。下载成功后对ESP32-12f进行串口调试,发送"AT+换行",如果没有收到OK,那就重新下载或者重新插入USB。选择下载的固件包,右边的空填0x000000,打钩先,下面选择40MHz,QOUT,串口和波特率115200。如果之前没有安装CH340的驱动,那么还要安装CH340的驱动。将ESP32-12f用数据线与PC连接,查看电脑的端口里有没有对应的com口,没有就可能是CH340驱动没装。打开下载的烧录软件,点ok。
2024-06-25 11:55:17
479
原创 结构体名与结构体指针
linklist是结构体指针的别名,访问结构体的成员时,用符号"->“访问。listnode是结构体的别名,访问结构体的成员时,用符号"."访问。员时,用符号”->"访问。
2024-06-10 11:00:00
167
原创 没有return不报错
问题是在vscode里编写函数时,少了return,但是vscode的IntelliSense不报错,怎么让它报错呢?可以报错了,但是另一个问题来了,代码分析里有不希望出现的错误怎么办?分析里有不希望出现的错误怎么办?可以看到有个黄色的波浪线的提示。没有提示错误,这是不希望的。解决办法:手动进行代码分析。需要点下面的{}才能看到。
2024-06-09 11:32:54
269
原创 单链表的操作
单链表是一种线性的链式存储结构,由多个节点组成(头结点,中间节点和尾结点),单链表的存储结构图如下:来源于网页单链表的节点是分散的,与数组不同,数组的存储结构是连续的,单链表的每个节点存储了本节点的数据和下一个节点的地址,只能单向的查找。
2024-06-06 16:41:32
707
原创 电路模型与电路定律
集总参数元件:元件外部没有电磁场(在高频段,会发生集肤效应,频率越高,导线内部电流越小,电流集中在导线外部)。如果元件外部有电场,进出端子的电流可能不一样,元件外部有磁场,端子间电压可能不是单值(单值,电压与电流之间是一对一的关系)。电源叫做激励源或者激励时,电流电压叫做响应。分析激励与响应的因果关系(输入输出关系,传递函数)时,激励叫输入,响应叫输出。根据电路图列方程时,两个回路重叠的部分可以相减消除,两个节点相连部分一样。电路、电路模型、电流、电压、电功率、元件(RLC、独立源、受控源)
2024-05-24 20:23:50
326
1
原创 同一元件,同一封装,尺寸不一致的原因
可见C0805有两种规格。电容的值<=100nF时,采用第一种规格;电容的值>100nF时,采用第二种规格。同一个元件,同一个封装,尺寸不一样的原因如下。
2024-05-11 22:15:44
595
1
原创 vscode因stop已暂停
原因是,在进入函数时str1分配了较大的内存,用的char[未知参数]导致,不知道分配多少内存,解决办法是用malloc函数动态分配内存。程序停在20行无法继续step in。
2024-04-22 20:16:47
353
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人