
fpga学习
文章平均质量分 90
意大利的E
这个作者很懒,什么都没留下…
展开
-
以太网实验1.mdio接口读写实验
YT8511共有22位寄存器,有些寄存器是仅可读的,有些寄存器是仅可写的,还有些寄存器是可读可写的,当然在程序设计中我们不需要把这些寄存器全部都用上,一般来说寄存器0x00、0x01、0x1F是3个最常用的寄存器,即基本控制寄存器、基本状态寄存器、PHY控制寄存器。对基本状态寄存器,用户通过MDIO协议从PHY中读取该寄存器的值,即可从16位的寄存器值中判断目前自协商状态,注意到寄存器的第5位为1时,代表自协商完成,为0时代表自协商未完成;根据状态寄存器的值,为连接速率状态位speed_status赋值。原创 2023-11-04 19:41:31 · 1835 阅读 · 0 评论 -
hdmi彩条显示与滚动实验(verilog)
hdmi接口高清晰度多媒体接口(英文:High Definition Multimedia Interface,HDMI)是一种数字化视频/音频接口技术,是适合影像传输的专用型数字化接口,可同时传送音频和影像信号,最高数据传输速度为2.25GB/s,无需在信号传送前进行数/模或者模/数转换。HDMI向下兼容DVI,但是DVI(数字视频接口)只能用来传输视频,而不能同时传输音频,这是两者最主要的差别。此外,DVI接口的尺寸明显大于HDMI接口。hdmi引脚图HDMI接口共有19个引脚,分上下两排,奇原创 2023-10-31 16:27:54 · 586 阅读 · 0 评论 -
lcd图片和rtc时钟显示实验
基于正点原子领航者v2原创 2023-10-26 20:29:43 · 333 阅读 · 0 评论 -
使用axi4_full进行ddr3读写实验和axi4_lite进行流水灯实验
DDR从诞生到现在已经经历了多代,分别是第一代SDR SDRAM(Single Data Rate SDRAM,同步型动态存储器),第二代的DDR SDRAM,第三代的DDR2 SDRAM,第四代的DDR3 SDRAM,现在已经发展到DDR5 SDRAM。Rank:一组可以被一个内存通道同时访问的芯片组合称作一个rank,一个rank中的每个芯片都共用内存通道提供的地址线、控制线和数据线,同时每个芯片都提供一组输出线,这些输出线组合起来就是内存条的输出线。Bank:是一个逻辑上的概念。原创 2023-10-20 19:46:46 · 1456 阅读 · 0 评论 -
基于verilog的i2c协议实现与eeprom读写
该地址为一个或两个字节长度,具体长度由器件内部的存储单元的数量决定,当存储单元数量不超过一个字节所能表示的最大数量(2^8=256)时,用一个字节表示,超过一个字节所能表示的最大数量时,就需要用两个字节来表示。发送模块应该具有以下接口:clk、rtsn、send_en(用来提示开始发送)、device_addr(设备地址,不同设备位宽不同)、word_addr(字节地址,一般是8位)、data_w(发送有效数据,8位)、done(传输完成信号)、scl串行时钟线与sda串行信号线。原创 2023-10-18 10:41:16 · 889 阅读 · 1 评论 -
vivado dds+vio波形合成实验
Vivado中的VIO(Virtual Input/Output) IP核是一种用于调试和测试FPGA设计的IP核。它允许设计者通过使用JTAG接口读取和写入FPGA内部的寄存器,从而检查设计的运行状态并修改其行为。VIO IP核提供了一个简单易用的接口,使得用户可以轻松地与FPGA内部寄存器进行交互.通过使用VIO IP核,用户可以实时监视和修改设计中的信号,以便进行调试和验证。此外,VIO IP核还可以与其他IP核和设计组件配合使用,从而帮助设计者更好地理解和调试整个系统。主要用作虚拟IO使用。原创 2023-10-09 11:05:08 · 1062 阅读 · 0 评论 -
vivado adda与dds实验
对于这种情况, 每次时钟到来时,相位累加器加 1 ,则就会在第 i 个时钟周期输出 第 i 个采样点( i = 1~m) ,第 m + 1 个时钟输出第 1 个采样点回复循坏,这时的相位累加器实 际上是步进为 1 的模 m 计数器。如果每次时钟到来时, 总是间隔一个采样点输出,即相位累 加器的步进为 2 ,这时在第 i 个周期输出第 2i 个采样点,输出波形如图 1. 2 的波形 b,显然波 形 b 的频率是 a 的 2 倍,即 f b = 2 f a。换句话说,采样频率应该至少是信号频率的两倍。原创 2023-10-08 09:03:12 · 737 阅读 · 0 评论 -
乒乓buffer的verilog设计
下图为乒乓RAM的模块示意图。先在时钟控制下输入两路信号,经过粗略处理,产生两路数据线和地址线,以及两个RAM模块的控制线,分别控制两个RAM的读和写,并且两个RAM的读(或者写)互锁,即一个若处于读状态,则另一个处于写状态。在低速处理高速数据流时,可以使用乒乓操作,10M的数据流用乒乓操作,分流成两个FIFO,一个FIFO的吞吐速度只有原来的一半5M,就可以满足低速的处理方法处理高速的数据,处理后在用合并成一个10M的数据流,top层看起就是10M的处理速度而且数据就被不丢失且高速的处理过。原创 2023-09-23 18:51:45 · 3228 阅读 · 0 评论 -
vivado fifo ip实验及其设计
此时,对于深度为2^n的FIFO,需要的读/写指针位宽为(n+1)位,如对于深度为8的FIFO,需要采用4bit的计数器,0000~1000、1001~1111,MSB作为折回标志位,而低3位作为地址指针。把FIFO比作汽车进入一个单向行驶的隧道,隧道两端都有一个门进行控制, FIFO宽度就是这个隧道单向有几个车道, FIFO的深度就是一个车道能容纳多少辆车,当隧道内停满车辆时,这就是 FIFO的满标志,当隧道内没有一辆车时,这便是 空标志。当读写指针相等时,表明FIFO为空,这种情况发生在复位操作时;原创 2023-09-18 17:15:32 · 708 阅读 · 1 评论 -
vivado ram ip实验与设计实验
RAM可以随时把数据写入任一指定地址的存储单元,也可以随时从任一指定地址中读出数据,其读写速度是由时钟频率决定的RAM:随机访问内存随机访问内存(RAM)相当于PC机上的移动存储,用来存储和保存数据的。在任何时候都可以读写,RAM通常用作操作系统或其他正在运行的程序的临时存储介质(可称作系统内存)。不过,当电源关闭时RAM不能保留数据,如果需要保存数据,就必须把它们写入到一个长期的存储器中(例如硬盘)。正因为如此,有时也将RAM称作"可变存储器"。原创 2023-09-15 19:13:44 · 1051 阅读 · 0 评论 -
fpga中uart的使用(xilinx vivado)
奇校验指的是,加上校验位,共有奇数个1,偶校验指的是,加上校验位共有偶数个1。UART 通信只有两根信号线,一根是发送数据端口线叫 tx(Transmitter),一根是接收数据端口线叫 rx(Receiver),对于 PC 来说它的 tx 要和对于 FPGA来说的 rx 连接,同样 PC 的 rx 要和 FPGA 的 tx 连接,如果连接两个 tx 或者两个 rx 连接那数据就不能正常被发送出去和接收到。位时间,起始位、数据位、校验位的位宽度是一致的,停止位有0.5位、1位、1.5位格式,一般为1位。原创 2023-10-11 21:11:55 · 987 阅读 · 0 评论 -
verilog pll ip核配置(vivado)
在vivado 的ip catalog中,找到并选择fpga features and design,clocking,clocking wizard。PLL锁相环,用于对输入时钟进行任意分频、倍频、相位调整、占空比调整,得到更高或更低频率的时钟信号,供逻辑电路使用。设置4个输出时钟频率分别为12.5,25,50,100MHZ。可以看到时钟频率是倍增的,这正是我们设计的效果。等待完成后,可以查看到我们生成的ip。设置输入时钟频率50M。原创 2023-05-17 20:34:11 · 1128 阅读 · 0 评论