- 博客(26)
- 收藏
- 关注
原创 异步时钟之间的时序约束
原来绿色部分是异步时钟。这里也就解释了为啥会存在这么大的时序违例。我们通过将这两个时钟进行下面语句进行约束便可以解决这个问题。在tcl上运行此语句然后保存,在进行综合可以发现时序变好了(这下舒服了)发现原来这里3.361ns是在这里,我们通过下图发现。在上一章中,发现还是十分的糟糕。这里我们再次查看时序报告。
2024-03-30 16:00:33 379
原创 衍生时钟约束
如何查看是否存在这样的时钟:(先open Implementation 然后在TCL下输入下面的命令)输入下面语句就可以约束了,这里的4是指4分频,实际上并不是4分频但够用的,跟实际情况有关。此时需要通过阅读代码,找到这个时钟与谁相关联。(这是i2c进行分频下产生的时钟)这里的衍生时钟是指经由verilog语言进行分频与倍频产生的时钟。来自于 u_clk_wiz_0/clk_out2。需要双击红色按钮就可以知道,需要约束的时钟名字。保存,此时xdc上就有文件了。不难发现Q没有被约束。
2024-03-30 15:19:20 197 1
原创 基于MIG IP核与Burst模块,创建一个实用的存储器DDR3_module
文字说明,对于存储器而言,一般是存储具有比较多的数据,比如图片。写初始地址 、写结束地址、写数据使能、写数据、写数据长度。读初始地址、读结束地址 、读数据请求、读数据、读数据长度。仿真设计要求,实现0-1023数据写入,以及读出。
2024-03-10 20:03:14 359
原创 使用MIG IP核的native接口进行DDR3的配置
一、完成DDR3芯片的初始化工作。二、讨论分析DDR3芯片native接口的工作时序。三、着手设计DDR3的接口突发时序。四、设计DDR3突发模块的仿真代码。
2024-03-06 17:25:07 817
原创 vivadao 联合 modelsim注意事项
结合18.3与106c、106d和2020.4进行了联合,但总是出现问题目,后来重新装了新版本的vivado2022.2,其中有一个关键的步骤没有进行编辑,现在可以仿真ddr3的MIG IP核了,也算是耽误了十分长的时间了。这是参考的csdn,从中摘取的一段 (
2024-01-19 17:10:34 517 1
原创 Verilog拾遗(三)
/利用三目运算符,省去了if else 嵌套语句。这是寄存器类型变量,直接初始化,为后面省略初始化。verilog语言初始化,直接赋值。这直接省略了assign赋值语句。
2023-10-22 20:16:42 99 1
原创 高速PCB设计学习记录
单击原理图,右键,工程选项(O),Error Reporting栏,(Floating net labels,Floating power labels,Nets with multiple names,Nets with olny one pin)设置成“致命错误”,这四个是(悬挂的线标签,悬挂的电源标签,一条线多个命名,线只和一个管脚相连)这四个是比较重要的。
2023-08-31 11:23:21 170
原创 SDRAM各个模块的学习(三)
在提供了VDD和VDDQ后,并且在时钟稳定的情况下,SDRAM要在除了禁止命令或者空命令之前延迟至少100us,(不同厂家对于这个延迟时间是不一样的,同一厂家的不同速度等级对延迟的时间要求可能也不一样)。下句话百度了一下,讲的是这100us的延迟中必须有禁止命令或者是无操作命令,并且结束也是以这两个命令结束而结束的。6.进行配置模式寄存器命令,然后等待一段时间tMRD,同样,在等待的这段时间里用禁止命令或者无操作命令填充命令。这样就完成了初始化,然后你可以激活,激活过后,就可以使用命令进行读写操作了。
2023-08-18 19:42:58 98 1
原创 SDRAM学习(二)SDRAM实战演练
项目介绍:1.利用按键对SDRAM写入10个数据;2.利用按键对SDRAM读出这10个数据;3.这10个读出数据传递给UART通过上位机显示对比。
2023-08-16 17:05:26 211 1
原创 SDRAM学习(一)SDRAM理论学习
而DDR5中第一个D是因为DDR采用双边沿采样(可降低干扰的差分信号)的数据存储而SDRAM仅仅单边沿(上升沿)进行数据的存储,这也表明了DDR在速度上更优于SDRAM,后来都没人在开发SDRAM,都在DDR的基础上进行更新迭代设计才有了DDR、DDR2、DDR3、DDR4、DDR5。动态与存储器内部的原理有关,此存储器的存储是通过电容进行存储电荷,而电荷会随着时间的推移不断释放因此需要动态的进行充电刷新,保证数据的稳定性。首先进行BANK进行寻址,然后在行,在列,最后确定了这个存储单元,
2023-08-15 16:55:04 435 2
原创 TFT显示字符
因为屏幕是二维的就是长和宽,在显示一副图片时,屏幕上的二维矩阵像素点被一行一行的点亮,最后完成整幅图片的显示,最小单元是组成行扫描周期的最小周期,像素周期,其可以使得一个像素点点亮与否。在一个完整的行扫描周期中有四部分组成同步,后沿,有效图像,前沿。rgb_valid这个信号表明此时数据有效,而在考虑到将横纵坐标点传递给字符生成模块会产生一个延迟,则提前一个周期产生pix_data_req用于提取数据,接下来就是rgb_tft的赋值,当rgb_valid为高电平就将输入的色彩信号输出。
2023-08-13 17:06:15 353 1
原创 基于IIC协议的EEPROM驱动控制
(这里摘抄一些重点进行罗列)1.是低俗三大总线之一(另外两个是UART和SPI)2.有且仅有两根线,SDA(数据线)和SCL(时钟线)3.属于同步通信,即公用同一时钟信号SCL4.有主设备(Master)和从设备(Slave)之分5.创新性地提出了器件地址这一说法,使得仅通过两根线就能进行不同设备之间的通讯6.可以包含多个主机和多个从机,由于器件地址位为7位,因此理论上可以有128个器件。
2023-07-24 17:32:39 250
原创 想法:自己记录一些想法,交流交流
1.终于知道为啥会写博客了,因为,博客不是为了让别人知道,实际上是有利于自己的,因为博客的内容可以帮助正在工作的你减轻许多压力,比如一些繁琐的且自己实操的代码,这些你都了解并且在一定程度上熟练应用了,然而重写这些代码,显然是意义性不大,因为这个纯纯无脑的工作只会影响你拔刀的速度,就像是搬砖头一样,重复且低廉的劳动,尽管可以初始万丈高楼拔地而起,但是更加先进的工业机器人可以在瞬息之间便能完成这样的劳动。因此更能解放我们的双手,去做一些更加有创造性意义的工作,这样,单纯的想想就十分有意思。
2023-07-24 16:32:56 62
原创 Verilog拾遗(一)
上面的一个模块有一个变量 state ,但是这个变量不是端口变量,在仿真时只需这样。这是为了Transcript”界面中打印 RTL 模块内部变量方便。
2023-07-09 10:17:35 58 1
原创 VGA显示学习(一)
上面是野火官方给的部分时序图,这里在每一个场周期下(一个高电平和一个低电平的组合),就完成了一帧的图像显示,说到这里,我也是吃饭前才想明白,没想到这就完成了一帧的图像显示。这里参考的的模式是640*480@60Hz,昨天在看那个场同步信号时,一直是十分迷糊,感觉并不像是书上所讲的从上往下显示图像,感觉从原先的理解角度看来,像是直接从左往右显示,因为,当时自己有一点没有注意到。具体实现以后再说,最近两天快考政治和英语了,今天买的一块屏幕也到了,能点亮,90块还行吧,买的校友的,哈哈哈哈。
2023-06-26 18:11:49 79 1
原创 偶分频与奇分频
2023.6.24买了一个黑金屏幕4.3寸正好搭配我的征途mini(前些天买的,还送了ov5640)这样东西都全了,可以开始准备搞图像处理了。在本次工程中,重点是在分频的同时将分频得到的时钟信号挂在全局时钟树上,因此本次只能使用flag标志信号进行标志分频点。2.因为是六分频,且每次都是(上边沿检测)检测一个周期,因此可由只需要检测012345便可以开始分频了。1.这里需要一个计数器,实现计数,因此需要确定计数的最大值。下面是偶分频,将参数改为5,即可。下面是奇分频,将参数改为4,即可。
2023-06-24 21:54:16 57 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人