- 博客(15)
- 问答 (1)
- 收藏
- 关注
原创 FPGA初学刷题及困惑(记录)
也要理解时序逻辑,它是一拍一拍的东西,变化点都是基于时钟来的,并不是直接变化的,这里就有人想这个一拍变化一次,那我全用组合逻辑是不是就会更快一些,这个是很多人刚开始学的时候一个很大的一个误区,在FPGA中组成的基本单元是触发器,要知道触发器的变化点是边沿变化的,用组合逻辑的话全是电平变化了,同时,组合逻辑的变化点完全是不可控的,同样一个逻辑,*9和*99计算的时间能一样吗,每次都不同,那么该如何控制它呢?时钟跑的比较高,但是使用资源是适用范围内的10倍以上或者5倍以上,一样有什么意义呢。
2024-09-12 18:36:10
1200
原创 SERDESE各信号意思(记录)
下面讲解ISERDESE2最重要的信号BITSLIP,即信号对齐信号,这个信号为字节对齐信号,其作用为:咱们接收到的数据不可能一次就对的,因此需要咱们进行数据对齐,比如说咱们空闲的时候发送的是55,这个时候咱们接收到的数据如果不是55的话BITSLIP信号就拉高,这个时候源语内部就会移动一位,使其内部接收进行变化,一直重复上述操作到识别到55后,BITSLIP就一直不拉高,表示现在接收到的是正确的数据。可以看到这里有一个CE1、CE2两个信号,他们分别是差分的两个使能信号,直接为1即可。
2024-09-11 11:27:55
783
原创 W25Q64 FLASH手册简析(记录)
第二个为完成一次操作后cs需要拉高的时间,需要注意的是完成一次操作,这里假设操作为也变成,那么我们cs拉高的点就为最后一个数据写完后,擦除为最后一个地址写入后、写使能为发送完命令后,读为读出最后一个所需数据时,只有在这几个点后拉高cs才行,如果中间拉高的话flash就会无法识别当前操作。扇区擦除命令跟其他命令一样的需要先拉低cs使能,然后再进行命令、地址的发送,发送完成后拉高cs即可,这个跟页编程一样的,想要正确执行也需要在其前面发送写使能命令才行。第一个为操作flash前cs需要提前拉低多少时间。
2024-09-11 09:32:27
1267
原创 AXI各通道协议信号解析(记录)
AXI协议是ARM公司的AMBA3.0总线中的一种,他是面向高性能、高带宽、低延时的片内总线,它的地址/控制和数据相位是分离的,支持不对齐的数据传输,同时在突发传输中,只需要首地址,同时分离的读写数据通道,并支持显著传输访问和乱序访问,并更容易时序收敛。因为AXI4采用的是握手机制的方式进行通信的,因此只有VALID和READY两个信号同时有效的时候才表明本次传输有效。写数据通道需要重点介绍的就是WSTRB信号,这个信号是表面那个字节有效的,1有效、0无效,如果传输的时候所有数据都有效及全部置1即可。
2024-09-04 10:41:38
2631
原创 紫光联合modelsim和vscode
Language:仿真库用的语言,library:选择usim则是gtp前仿真库,vsim则是VOP后仿真库,ALL则包括这两种仿真,一般默认ALL。Simulator:第三方仿真工具,支持modelsim和questasim,本次用的是modelsim(①)。Family:指定芯片系列对应的仿真库进行编译,可支持多个系列,一般默认ALL。在弹出来的窗口中设置需要编译的器件库、编译库路径、modsim路径即可,如图。添加完成tb文件后,可运行仿真文件。
2023-12-08 10:20:14
545
原创 vscode配置代码片段+无网配置
按下“Ctrl+Shift+P”组合键以显示“命令面板”,然后键入“display”以筛选并显示“Configure Display Language”命令。按“Enter”,选择中文简体,即配置完成。3.拷贝完成后复制在无网的电脑上相应的位置,此时电脑上的有些插件是可直接用的,有些不能,以简体中文插件为例,就需要修改。1.首先先在网的电脑上安装好VS code 并将所需插件安装好。其他插件同理,可查看插件的配置流程,按照流程操作即可。可以在当前电脑中查看,是否符合自己所安装插件。
2023-12-08 08:27:15
284
原创 vscode解决中文乱码问题
选择好我们当前文件的编码格式即可解决乱码问题,但是只能对当前文件有效,新建文件或者下一个文件格式改变也要出现操作。此时便可以时间自动识别打开文件的格式,并用文件格式来打开当前文件。Reopen with encoding:通过编码器打开。此设置只针对新建文件有效,之前已有的文件无法自动设置。Save with encoding:通过编码器保存。
2023-12-08 08:22:51
2703
原创 以太网-IP、UDP、ARP协议记录用
当发送的以太网帧数据段字节个数小于 46(对应以太网 UDP 帧数据段个数为 46-20 个 IP头部数据-8 个 UDP 头部数据 = 18)时,就进入到 TX_FILL_DATA 状态继续发送无效数据 0 凑足到 以太网数据段最小字节个数。TX_FILL_DATA:发送填充数据状态,当需要发送的有效数据的长度比较小的时候,导致 以太网帧的数据段小于 46 字节就需要用 0 来填充到 46 字节,该状态就是用来应对这 种情况下,发送填充 0 相应个数的 0 来满足以太网帧数据段长度要求。
2023-12-07 16:32:14
300
1
原创 EEPRAM(24LC04B)(记录用)
结合单字节写入,可看出,单字节写入和多字节写入操作的不同就是在什么时候发送停止命令,这里需要注意的是,我们这里最多只能写入15个字节的数据,如果多余15个字节,将重新重0开始,把原来的数据进行替换。在写代码时我们可以在把IIC协议中的开始、结束单独定义,在适当的时候再发送即可,如单字节写的时候再写入数据的时候发送结束控制信号,即可在写入后结束写入操作。(1) 主机产生并发送起始信号到从机,将控制命令写入从机设备,读写控制位设置为低电平,表示对从机进行数据写操作,控制命令的写入高位在前低位在后;
2023-11-15 21:47:48
693
1
原创 spi通信协议(记录用)
一、什么是SPI协议SPI,全称()是由摩托罗拉公司首先定义的协议,中文名为串型外围设备接口。SPI是一种Serial(串型):与并型相对应,单向数据通路只需要一根线,而同样常见的AMBA则为并型总线Peripheral(外围):指此总线多用来连接如“AD转换、EEPROMPWM”等外围设备,即对应于AMBA的APB部分。二、什么是通信协议通信协议可以按照通信方式分为单工,半双工,全双工三种。单工:发射端和接收端固定,有一条数据通路,通路上数据单向流动。半双工。
2023-10-11 15:16:05
374
原创 iic通信协议(记录用)
I2C是由Philips开发的简单的双向两线总线,I2C协议由数据线 SDA 和时钟线 SCL 构成通信线路,既可用于 发送数据,也可接收数据属于半双工协议(即同一时刻,数据单向流动)。此外,I2C也是一种可以多主设备,多从设备的总线协议,通过地址索引,I2C可以使能所需从设备,I2C的出现主要是用来实现不同集成电路组件之间的控制功能,比如通过I2C协议,连接MCU与LCD驱动器,远程I/O口,RAM,EEPROM或数据转换器。
2023-10-11 14:46:08
707
原创 uart(串口)协议概念(记录用)
UART (universal asynchronous receiver-transmitter)是一种采 用异步串行通信方式的通用异步收发传输器;它在接收数据时 将接收到的串行数据转换成并行数据,在发送数据时将并行 数据转换成串行数据来传输。接收数据:接收设备将接收到的串行数据转换成并行数据 (串转并)。发送数据:发送设备将数据转换成串行数据来传输(并转 串)。
2023-10-11 10:37:44
508
原创 利用Quartus对Altera进行时序约束(记录用)
约束的对象就是网表,网表就是 Quartus 软件经过编译,布局布线后得到的实际电路信息,该电路信息就是对应下载到芯片中后实际在芯片中呈现的电路。时序违规:没有进行时序约束可能会导致电路在实际运行时无法满足时序要求,例如在时钟边沿到来之前数据信号就发生了变化,或者电路在时钟周期内无法完成操作。对时钟出现的抖动进行约束,是一个时钟到另一个时钟的约束,用 derive_clock_uncertainty约束命令不需要确定uncertainy的时间。创建时钟约束,就是为当前网表模型指定一个明确的时钟信号。
2023-10-10 18:26:41
2828
kell找不到库函数< inreins.h>应该怎么办
2022-04-22
TA创建的收藏夹 TA关注的收藏夹
TA关注的人