基于Vivado的硬件设计
文章平均质量分 94
PPRAM
从事数字ic设计领域,欢迎大家访问交流!
展开
-
基于Zynq FPGA对雷龙SD NAND的测试
雷龙的SD NAND有很多型号,在测试中使用的是CSNP4GCR01-AWM与CSNP32GCR01-AOW。芯片是基于NAND FLASH和 SD控制器实现的SD卡。具有强大的坏块管理和纠错功能,并且在意外掉电的情况下同样能保证数据的安全。接口支持SD2.0 2线或4线;电压支持:2.7V-3.6V;默认模式:可变时钟速率0 - 25MHz,高达12.5 MB/s的接口速度(使用4条并行数据线)高速模式:可变时钟速率0 - 50MHz,高达25 MB/s的接口速度(使用4条并行数据线)原创 2023-09-03 14:39:30 · 525 阅读 · 0 评论 -
AMBA协议AXI-Stream(板级验证)
在上一篇中,我们已经讲述了AXI-Stream(以下简写AXIS)的相关信号和对应的缓冲模块设计;在本篇中,将给出后续的上板实验过程;原创 2023-03-06 13:08:52 · 506 阅读 · 2 评论 -
AMBA协议AXI-Stream(协议信号、设计实践)
AXI-Stream(以下简称AXIS)是AMBA协议的AXI协议三个版本中(AXI4-FULL、AXI4-Lite、AXI4-Stream)最简单的一个协议;摄像头高速ADXilinx的AXI-DMA模块在进行SOC设计中需要高速数据传输处理的场合,常常使用AXIS协议;AXIS与AXI-FULL的区别:取消了Address Write/Address Read通道;取消了反馈响应信号Bresp和Rresp;半双工,仅能读或者写;不允许乱序;无最大突发传输长度;原创 2023-03-05 21:56:09 · 10664 阅读 · 4 评论 -
FPGA资源之LUT
Xilinx 7的FPGA可编程逻辑资源为CLB(Configurable Logic Block)下图白色高亮为CLB资源:在Xilinx的FPGA中,这样的CLB资源有很多个,组成可编程逻辑阵列;我们看到在CLB资源中,还有两个区域如下图:这些资源统称为SLICE,一个CLB中有两个SLICE,当然这两个SLICE片在名字与功能上也是有区别的;绿色(SLICEM),黄色(SLICEL)原创 2023-01-28 19:22:16 · 6537 阅读 · 2 评论 -
基于verilog设计一个硬件看门狗
看门狗:也称看门狗定时器,是常见于系统的一种外设;看门狗似乎就是一条看门的狗,如果系统一切正常则看门狗不叫,如果程序不正常,则看门狗则会将程序咬死(即程序强制复位)。看门狗的作用:当一段程序跑飞,卡死或不受控制时,能使得系统强制重启;喂狗:当看门狗被初始化后,需要在程序中每进行一段时间就重置看门狗模块的定时器计数值,防止程序被咬死;程序咬死:当程序出现问题时(跑飞或锁死),导致看门狗定时器的计数值没能及时重置,当计数值达到设置的阈值后,看门狗定时器则输出复位信号,使得CPU强制复位;原创 2022-12-15 21:00:01 · 3173 阅读 · 1 评论 -
基于verilog的UART串行总线协议模块设计(含原理、源码、AXI封装、C驱动文件)
UART即通用异步收发传输器(Universal Asynchronous Receiver/Transmitter),两个UART设备在进行通信时,发送数据的设备将并行的数据转化为一位一位的串行数据,并按照给定的时钟频率将串行数据依次打到TX通信线上,接收方检测RX上的电平,按照给定的时钟频率读取RX线上电平,并将采样到的串行数据还原成并行数据;原创 2022-09-20 21:04:14 · 2461 阅读 · 2 评论 -
亚稳态及信号跨时钟域处理
亚稳态的产生:一个信号在一个时钟域变化,并在另一个时钟域被采样,就会导致输出成为亚稳态。本质上是由于违背了触发器的建立和保持时间产生的;亚稳态的危害:导致逻辑判断错误、亚稳态传播(下一级电路同样产生亚稳态)建立时间(Tsu,set up time):时钟有效边沿到来前,要求数据保持稳定的最小时间;保持时间(Th, hold time):时钟有效边沿到来后,要求数据保持稳定的最小时间;输出延迟值(Tco):规定的时钟到输出的延迟值;决断时间(Tmet)原创 2022-09-14 19:46:03 · 1025 阅读 · 0 评论 -
各种FIFO硬件设计(FIFO概念、异步、同步、非2次幂深度FIFO)
FIFO(first in first out)是一种先进先出的存储器,与栈不同,栈对应的是一种先进后出的数据存储理念。FIFO无论是在IC设计中、IP核设计中、SOC设计中都存在广泛的应用。特别是随着设计复杂度的提高,在一个系统中往往会引入多个时钟,这也就使得数据的跨时钟域处理显得尤为重要,而FIFO正是解决这一问题的有效方法。......原创 2022-08-11 14:43:58 · 4823 阅读 · 3 评论 -
从零开始的RISCV架构CPU设计(3)- 状态机与流水线
流水线与状态机是数字电路设计中两种重要的技术,本节将由浅入深对这两种技术作简要介绍,并探讨在该RVCPU软核的实现框架。虽然流水线会带来诸多问题,但从总体上来看,流水线对实现处理器的性能带来的收益还是很可观的。所以飞V开源软核的设计采用了典型的五级流水线架构。在本章中主要对流水线和状态机技术进行了说明,最终确定以流水线的方法来实现RISC-V指令集。流水线的引入同样会带来很多问题,本章只对流水线的控制冒险和数据冒险问题进行了介绍,在实际CPU设计的过程中,遇到问题往往比阐述的这些复杂。...原创 2022-08-01 18:08:39 · 3647 阅读 · 0 评论 -
从零开始的RISCV架构CPU设计(2)-CISC与RISC
从指令集架构的角度来看,现在流行的两种指令集架构为复杂指令集(ComplexInstructionSetComputer)即CISC以及精简指令集(ReducedInstructionSetComputer,)即RISC。在CPU发展早期,CISC作为主流,凭借其灵活、指令集易拓展等优点,占据了CPU领域的半边江山,但随着其不断发展,指令集不断壮大,CISC的缺点也越来越多。针对其缺点,在20世纪80年代,无病一身轻的CPU界新星RISC架构便诞生了。...原创 2022-07-28 17:14:29 · 2146 阅读 · 0 评论 -
从零开始的RISCV架构CPU设计(1)-CPU开源资料说明
最近学习了RISC-V架构的CPU设计,然后根据经典的五级流水线架构在Vivado上完成了一个简单的CPU,故开一个新坑记录该CPU的设计过程。该CPU实现了RVIM指令集,并可以搭建简单的SOC。这个CPU也有致命缺点,就是没有实现JTAG,无法进行调试,在后面会实现。目前CPU进度可搭建片上soc,已能够通过Vivado综合,各功能验证无误。注此软核仅用于学习交流,若要进行商用,请务必与作者本人联系!...原创 2022-07-23 18:22:30 · 3390 阅读 · 1 评论 -
基于verilog的时钟管理电路设计(奇数/偶数分频、门控时钟等)
在许多设计中,常常伴随着对时钟的各种需求,如需要进行偶数倍分频,奇数倍分频;对于时钟的处理也很重要,如何防止时钟截断,时钟毛刺,减少累计时钟偏移;在低功耗设计中,如何降低时钟网络和其中寄存器的功耗; 进而衍生出各种技术,如行波计数器、计数分频器、门控时钟、锁存器门控时钟等待。 在数字设计中,产生时钟信号的方法主要有两种,一种是通过PLL锁相环对时钟源进行分频或倍频,另一种是在设计的模块中用硬件描述语言描述分频逻辑。 在本文中将对这些技术进行简要的介绍,并给出若干设计实例。...原创 2022-06-29 00:12:31 · 4644 阅读 · 1 评论 -
基于verilog实现2FSK调制解调器
基于verilog实现2FSK调制解调器,完成代码设计及功能仿真。原创 2022-04-04 17:04:59 · 10513 阅读 · 25 评论 -
基于Vivado的硬件IIC软硬协同设计
I2C通信协议的verilog设计,并成功完成了与EEPROM、OLED等I2C器件的数据交互。原创 2022-03-31 18:48:37 · 2849 阅读 · 4 评论