闲来无事玩玩异步FIFO,然而该过程发现自己对,双端口RAM不了解,导致有些问题无法debug,故特地花了两个小时研究了一下双端口RAM。那么为什么要使用双端口的RAM,原因很简单:在异步FIFO中数据就存放于RAM中,那通过例化IP的形式是最简便的,难道不是吗?简单聊一聊我对RAM读写操作的理解。
当读使能信号write_en有效时,如果这个时候wdata有数据,则会写入到RAM中。随着waddr的增加,数据写入的地址不同。如:write_en = 1(高电平有效),wdata=11,12,13,14,15(包含5个clock的数据待写入RAM中)waddr = 0~4(0-4分别表示RAM中不同地址),在wclk的作用下,wdata= 11,12,13,14,15,分别写入RAM中0, 1, 2, 3, 4的地址中。非常关键的一点,写入不存在延时任何一个clock。如下图所示
本次讨论的重点是,RAM的读数据过程。同样读数据时需要读使能信号,read_en(高电平有效)或者是write_en = 0(写时1有效,读时0有效)。在rclk的作用下,raddr= 0~4(表示要读的数据位于RAM中的0-4的地址中,如raddr= 4,读出数据rdata = 15。)注意注意注意,当raddr = 4 时,此时在同一竖线前方对应的数据并不是15,即radata 不为15,而是14。相信不了解问题所在的同学就会大呼惊讶,这是什么鬼,读的数据不对吗,为啥会变成raddr=3对应的数据。完了肯定出错了。别急别急,其实是读数据时存在1个clock的延时,这是RAM读写本身存在的问题,是无法避免的。所以我们看到raddr = 4 对应于raddr = 2时的数据。如下图所示。如果你有强迫症你可以把raddr信号延迟2个clock,让raddr和rdata数据对齐。
【高效开发】在Eclipse中如何快速查找Java源码,配置操作<全程看图>就行▲主要是引入本地安装好jdk中src.zip包,如图所示:实现步骤(演示配置的jdk1.8资源):第一步:在代码编写界面,Ctrl键选中类或方法即可。第二步:Ctrl键选中后,自动跳转到.class文件界面,点击Attach Source按钮。第三步:选中External location,...
QPS:前后两次差值/时间差select value from v$sysstat where name = 'execute count';1TPS:前后两次差值/时间差select (select value from v$sysstat where name = 'user commits') +(select value from v$sysstat where name = 'user rollbacks') as TPS from dual;其他v$sys...
报错信息: *ERROR at line 2:ORA-00923: FROM keyword not found where expected运行语句1一直报这个错误,运行语句2成功用编辑器打开才发现语句1case后是tab键,语句2case后是空格键,tab键导致sql语句在执行时casewhen是连接在一起的,用记事本看了半天。_1671465600
前两天有位朋友,微信公众号提了一个问题,原文描述如下,1. 我的需求是在tag库中执行一个处理,使得tag中所有用户seq的nextval与src库中一致。2. 我在tag库的user1中创建了一个存储过程,代码逻辑为通过dblink(指向src库的user1,user1有读取dba视图的权限)查询源库的dba_sequence与tag库的对比,找出两库间nextval相差1000以上的,并在ta
当使能一个I2C或者UART功能导致系统开不起机的情况,一般有两点原因:1、Pin脚被占用2、在TZ那边,Pin脚给的权限不够以SDM660平台的I2C_3为例:我在sdm660-mtp.dtsi文件中使能了i2_3:&i2c_3 { status = "ok";};结果原本能开机的系统开不起来了……i2c的配置在sdm660-blsp.dtsi文件中,我...
导读1.数据库的故障类型及其影响 2.事务故障的恢复 3.日志
Problem AACM CONTEST AND BLACKOUT In order to prepare the “The First National ACM School Contest”(in 20??) the major of the city decided to provide all the schools with a reliable source of po
腾讯的QMUI已经问世好长时间了,然而官方至今也没有给出一个详细的文档。为了方便大家使用,我就把我用过的控件的使用方法记录下来。1.QMUIQQFaceView先来个效果图,由于我没有现成的表情图片,只好先用软件图标代替了。官方说QMUIQQFaceView实质上并不是TextView,所以用法和TextView还是有差异的。首先,自定义一个控件继承QMUIQQFaceVi...
带格式的邮件,其实就是一张网页,正式名称叫做HTML Email。它能否正常显示,完全取决于邮件客户端。大多数的邮件客户端(比如Outlook和Gmail),会过滤HTML设置,让邮件面目全非。我发现,编写HTML Email的窍门,就是使用15年前的网页制作方法。下面就是我整理的编写指南。1. Doctype目前,兼容性最好的Doctype是XHTML 1.0 Strict,事实上Gmail和Hotmail会删掉你的Doctype,换上这个Doctype。<!DOCTYPE htm
参考《TCP/IP网络编程》 尹圣雨多种I/O函数send和recv函数Linux中的send和recv(1)send#include <sys/socket.h>ssize_t send(int sockfd, const void* buf, size_t nbytes, int flags);成功时返回发送的字节数,失败时返回-1sockfd:表示与数据传输对象的连接的套接字文件描述符buf:保存待传输数据的缓冲地址值nbytes:待传输的字节数flags
#import &lt;Foundation/Foundation.h&gt;@interface NSDate(ZXLExtension)/** 是否为今天 */-(BOOL)isToday;/** 是否为昨天 */- (BOOL)isYesterday;/** 是否为本周内 */- (BOOL)isThisWeak;/** 是否为本月 */- (BOOL)isThi...
本文主要总结菜单栏类QMenu和工具栏类QToolBar的用法,具体的用法,将通过一个实例进行讲解。1.1新建一个widget工程,不要勾选ui界面设计,然后分别在widget.h,widget.cpp,main.cpp分别添加如下代码。widget.h#ifndef WIDGET_H#define WIDGET_H#include #include #include #include #incl...