一、CMT(时钟管理单元)在学习PLL锁相环之前,我们要先了解CMT(clock management tile)以Xilinx 7系列FPGA 为例(ZYNQ系列中PL端结构与7系列相同)CMT(时钟管理单元) :内部包含MMCM与PLL
MMCM(混合时钟管理),相比于PLL,可进行动态相位调整PLL(锁相环),用于输出更广的频率范围,可看作频率合成器CMT模块图如下,可以看到其中包含一
一. 简介本篇文章,将介绍如何编写命令的发送,与响应的接收,这部分代码,这部分代码。对应所以模式而言,发送与接收的时序都是一样的,所以这部分代码对应所以的eMMC而言,都是通用的。先来看一下整体的框图,命令模块下包括发送与接收,还是比较容易的。二. 命令发送在命令发送模块里面,我们就不关心,命令长什么样,每一位代表什么意思,只需要知道每一条命令的长度,以及如何将其发送出去即可。模块的接口信号如下,
转载
2024-07-26 12:00:55
203阅读
USB2.0的开发与设置主要包括三部分,第一:基于keil 的USB2.0的固件开发,这里主要是借用黑金开发板516上面自带的固件进行相关的设置预配置:第二:是基于C# 或者C++对于USB2.0的上位机的开发;第三:主要是基于FPGA的对于USB2.0的同步传输。 首先,通过固件修改将USB2.0配置为同步传输模式
EM算法
所谓EM算法,指的是就是Expect-Maximum算法,是一种非常有用的算法。假设这么一个问题,我们有一堆样本集合X,我们已知该样本总体的分布类型(比如是高斯分布),但是我们不知道这个分布的参数具体是多少,我们希望有方法能够根据这些观测到的样本集合来估计出这个分布的参数。怎么办呢?于是就有了极大似然估计,该方法思路很简单,计算出这些样本出现的分布概率公式,该公式肯
一、EMIF简述64x的EMIF是用于片外存储器扩展和外部数据接口的一种并行数据传输片上外设。使用过程需要通过软件编写配置程序,使片上外设的的硬件电路实现特定的时序逻辑功能,构成与外部存储器或外设设备之间的无缝高速数据传输通道,因此,EMIF工作需要软硬件相互配合,属于混合基体。EMIF可以通过EDMA与存储空间直接关联,整个数据传输可以与CPU工作并行,增加了算法执行的时间效率。图为EMIF基本
转载
2024-09-29 14:52:45
241阅读
在FPGA中,寄存器的使能设计一般有两种方式:1.直接使用寄存器的使能端口。2.使用一个数据选择器连接寄存器的D端口,通过数据选择器的sel端口做使能。如下图 这个方式与直接使用寄存器的CE端口有什么区别呢?我们可以看出来,1.在Q1为输出端口时,此时这个结构所具有的功能和普通的寄存器是一样的,当CE=1时,D经过数据选择器选通
目录一、常用1.解释竞争与冒险的概念:如何消除竞争与冒险:具体层面应当如何做:2.时序逻辑电路与组合逻辑电路的区别是什么:被综合成电路之后的器件是什么:在代码中时两种电路如何表现:什么是同步时序电路和异步时序逻辑电路3:米利状态机和摩尔状态机的区别是什么:4.什么是建立时间和保持时间:(西安)如果不满足将导致什么?如何解决:不同比特的数据传输,又如何消除亚稳态:5.信号同步—打拍的作用是什么:6
转载
2024-08-28 10:31:43
138阅读
开发产品时,常常需要掉电保存一些数据,以防止电源不稳定或发生系统异常,这就需要使用FLASH或EEPROM芯片。这两种芯片,可擦除的次数是有限制的,Nor Flash可以擦除重写10w次以上,Nand Flash类似,而EEPROM的标称寿命一般是100w写入。当然也有寿命很高的非易失性存储器,比如最近宣传很多的FRAM,号称寿命在1000万亿次以上,而且可
转载
2024-05-21 11:54:39
617阅读
本来讲一讲FPGA的重构,在说FPGA重构之前,需要先了解FPGA的配置方式。FPGA 配置所有现代FPGA的配置分为两类:基于SRAM的和基于非易失性的。其中,前者使用外部存储器来配置FPGA内的SRAM后者只配置一次。Lattice和Actel的FPGA使用称为反熔丝的非易失性配置技术,其主要优点是系统设计更加简单、不需要外部存储器和配置控制器、功耗低、成本低和FPGA配置时间更快。最大的缺点
背景在我平时用Emacs编写C代码时,经常需要进行代码的跳转,主要需求为函数定义的跳转,某个具体函数的调用查找,某个结构体的定义跳转以及结构体中具体某一项的跳转等,GNU Global就能完全满足我的这个需求,所以习惯了Emacs的人可以将Source Insight扔开了。GNU Global简介GNU Global全称为GNU Global source code tagging system
转载
2024-06-23 23:12:34
69阅读
FPGA以9600的波特率向单片机发送32位数据,然后单片机对数据进行解析,显示在显示屏上面波特率的产生 : 9600bps是指每秒钟发送9600个bit,即1bit的时间为1/9600,fpga板子自带50M晶振,那么一bit的时间时1/9600/1/50M 在没有检验位的情况下,每一帧数据是10位 第一位起始位 0 2-9位 数据(低位在前,高位在后),第十位 终止位 1FPGA
一.需求说明 fpga首先全擦除flash芯片,然后往flash芯片中写入一页数据,再接着读取这一页数据。二.硬件介绍 1.flash资源介绍M25P16芯片是flash芯片,容量是16Mbit。16Mbit=16×1024×1024bit=2×1024×1024byte=2,097,152 bytes 。总共有32个扇区,每个扇区有512×1024bit=65536byte。每个扇区有256页,
转载
2024-09-24 09:30:11
175阅读
FPGA实现高带宽NVMeSSD读写——纯逻辑实现项目背景方案介绍测试平台测试方案测试硬盘:测试结果:IP连续数据读写测试结果:IP实现及测试中的问题Xilinx官方IP:AXI Interconnect硬盘厂商的调教:队列深度结语 项目背景在两年之前的帖子《FPGA实现高带宽NVMe SSD读写》中,我们实现了一个基于PS和PL端的高速NVMe SSD IP。这个IP在我们自己的系统中使用正常
第二十三章 EEPROM读写测试实验EEPROM是一种用于计算机系统的非易失性存储器,也常在嵌入式领域中作为数据的存储设备,在物联网及可穿戴设备等需要存储少量数据的场景中也有广泛应用。本章我们学习EEPROM的读写操作并进行EEPROM读写实验。 本章包括以下几个部分: 23.1 EEPROM简介 23.2 实验任务 23.3 硬件设计 23.4 程序设计 23.5 下载验证 23.1 EEP
FPGA的基础学习-----EEPROM读写测试EEPROM简介EEPROM(AT24C64)IIC通讯协议空闲状态起始信号与停止信号数据有效性应答信号ACK数据的传送AT24C64单次写时序AT24C64当前地址读时序AT24C64随机地址读时序 EEPROM简介EEPROM即电可擦除可编程只读存储器,是一种常用的非易失性存储器(掉电后,数据不丢失)。不同厂家的产品,相同厂家不同型号、系列的产
一、摘要 DE2_TV中,有关于寄存器的配置的部分,采用的方法是通过IIC的功能,这里对IIC总线的FPGA实现做个说明。 二、实验平台 软件平台:ModelSim-Altera 6.4a (Quartus II 9.0) 硬件平台:DIY_DE2 三、实验原理1、IIC总线器件工作原理 在IIC总线上传送信息时的时钟同步信号是由挂接在SCL时钟线上的所有器件的逻辑“与
第十九章 EEPROM读写测试EEPROM是一种用于计算机系统的非易失性存储器,也常在嵌入式领域中作为数据的存储设备,在物联网及可穿戴设备等需要存储少量数据的场景中也有广泛应用。本章我们学习EEPROM的读写操作并进行EEPROM读写实验。 本章包括以下几个部分: 1919.1EEPROM简介 19.2 实验任务 19.3 硬件设计 19.4 程序设计19.1EEPROM简介EEPROM (Ele
好久发博客了,一晃一年过去了。 最近打算学习FPGA,手头有几块开发板在用,平时练练代码足够了,但是作为一只硬件狗不亲自设计一块属于自己的开发板实在说不过去。正巧博主这段时间在深入学习Cadence Allegro这款软件,顺便练练手,混个脸儿熟~这不是一举两得么!于是博主打算把设计一块开发板作为博客连载,记录开发板在设计之中的遇到的问题和没有考虑过的细节。这是博客的第一篇:关于Altera FP
FMC ( FPGA Mezzanine Card ) FPGA中间层板卡,整个FMC模块由子板模块、载卡两部分构成。子板模块和载卡之间由连接器连接,子板模块上连接器使用公座(male),载卡上连接器使用母座(female)。载卡连接器引脚与具有可配置IO资源的芯片例如FPGA引脚通过PCB设计连接在一起;子板模块上连接器引脚与IO接口也是通过PCB设计连接起来。子板PCB上可以设计不同的IO接口
转载
2024-10-02 15:33:50
76阅读
在FPGA上做一个mini的mcu,实现mcu可根据代码自动裁剪
简介主要实现功能有什么特有的特性环境准备step1:安装cygwin以支持bash脚本step2:安装verilog小巧的仿真工具-iverilogstep3:主要工具准备完毕,在随意来个编辑器下载mini-mcu项目文件结构已经支持的指令开发你的项目step1:编写代码step2:编译s