<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[chenjieaaa的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/chenjieaaa</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; chenjieaaa]]></copyright><item><title><![CDATA[DC里的门控时钟方案]]></title><link>https://blog.youkuaiyun.com/chenjieaaa/article/details/131379304</link><guid>https://blog.youkuaiyun.com/chenjieaaa/article/details/131379304</guid><author>chenjieaaa</author><pubDate>Sun, 25 Jun 2023 16:27:51 +0800</pubDate><description><![CDATA[具体的做法可以这样：自己写一段代码，代码中加上enable信号，或者找一个具有类型code style的模块文件（我用的是公司DP550这个IP），然后DC综合的时候让它自动插入门控时钟，综合完之后start_gui打开图形化界面，打开自动插入的门控时钟的电路原理图，原理图上会显示门控时钟用到的器件名。-max_fanout：设置一个门控单元所驱动的最大负载数目，定义CG单元最大扇出的一个目的是减少CG后面的时钟延迟，门控时钟单元的扇出越大，它到达寄存器的延迟越长；门控时钟用于低功耗设计。]]></description><category></category></item><item><title><![CDATA[FPGA解决门控时钟问题]]></title><link>https://blog.youkuaiyun.com/chenjieaaa/article/details/130450050</link><guid>https://blog.youkuaiyun.com/chenjieaaa/article/details/130450050</guid><author>chenjieaaa</author><pubDate>Sun, 30 Apr 2023 18:47:40 +0800</pubDate><description><![CDATA[门控时钟 fpga门控时钟 vivado门控时钟]]></description><category></category></item><item><title><![CDATA[SystemVerilog接口（九）]]></title><link>https://blog.youkuaiyun.com/chenjieaaa/article/details/126773166</link><guid>https://blog.youkuaiyun.com/chenjieaaa/article/details/126773166</guid><author>chenjieaaa</author><pubDate>Fri, 09 Sep 2022 20:55:28 +0800</pubDate><description><![CDATA[SystemVerilog接口]]></description><category></category></item><item><title><![CDATA[SystemVerilog层次化设计（八）]]></title><link>https://blog.youkuaiyun.com/chenjieaaa/article/details/126721983</link><guid>https://blog.youkuaiyun.com/chenjieaaa/article/details/126721983</guid><author>chenjieaaa</author><pubDate>Tue, 06 Sep 2022 22:21:38 +0800</pubDate><description><![CDATA[SystemVerilog层次化设计]]></description><category></category></item><item><title><![CDATA[SystemVerilog过程语句（七）]]></title><link>https://blog.youkuaiyun.com/chenjieaaa/article/details/126645580</link><guid>https://blog.youkuaiyun.com/chenjieaaa/article/details/126645580</guid><author>chenjieaaa</author><pubDate>Fri, 02 Sep 2022 19:38:11 +0800</pubDate><description><![CDATA[SystemVerilog过程语句]]></description><category></category></item><item><title><![CDATA[SystemVerilog过程块，任务和函数（六）]]></title><link>https://blog.youkuaiyun.com/chenjieaaa/article/details/126560257</link><guid>https://blog.youkuaiyun.com/chenjieaaa/article/details/126560257</guid><author>chenjieaaa</author><pubDate>Tue, 30 Aug 2022 20:48:09 +0800</pubDate><description><![CDATA[SystemVerilog过程块，任务和函数]]></description><category></category></item><item><title><![CDATA[SystemVerilog的数组和结构体（五）]]></title><link>https://blog.youkuaiyun.com/chenjieaaa/article/details/126499785</link><guid>https://blog.youkuaiyun.com/chenjieaaa/article/details/126499785</guid><author>chenjieaaa</author><pubDate>Fri, 26 Aug 2022 18:51:07 +0800</pubDate><description><![CDATA[SystemVerilog的数组和结构体]]></description><category></category></item><item><title><![CDATA[SystemVerilog的自定义类型和枚举类型（四）]]></title><link>https://blog.youkuaiyun.com/chenjieaaa/article/details/126431154</link><guid>https://blog.youkuaiyun.com/chenjieaaa/article/details/126431154</guid><author>chenjieaaa</author><pubDate>Wed, 24 Aug 2022 10:37:11 +0800</pubDate><description><![CDATA[介绍SystemVerilog的自定义类型和枚举类型]]></description><category></category></item><item><title><![CDATA[SystemVerilog的类型和数据类型（三）]]></title><link>https://blog.youkuaiyun.com/chenjieaaa/article/details/126373564</link><guid>https://blog.youkuaiyun.com/chenjieaaa/article/details/126373564</guid><author>chenjieaaa</author><pubDate>Fri, 19 Aug 2022 19:53:13 +0800</pubDate><description><![CDATA[SystemVerilog的数据类型]]></description><category></category></item><item><title><![CDATA[SystemVerilog声明的位置（二）]]></title><link>https://blog.youkuaiyun.com/chenjieaaa/article/details/126334618</link><guid>https://blog.youkuaiyun.com/chenjieaaa/article/details/126334618</guid><author>chenjieaaa</author><pubDate>Tue, 16 Aug 2022 20:10:10 +0800</pubDate><description><![CDATA[在systemverilog中使用包的注意事项]]></description><category></category></item><item><title><![CDATA[学习SystemVerilog的前言（一）]]></title><link>https://blog.youkuaiyun.com/chenjieaaa/article/details/126333740</link><guid>https://blog.youkuaiyun.com/chenjieaaa/article/details/126333740</guid><author>chenjieaaa</author><pubDate>Sun, 14 Aug 2022 18:03:26 +0800</pubDate><description><![CDATA[唠一唠这篇专栏的缘由]]></description><category></category></item><item><title><![CDATA[Xilinx异步fifo的注意点（避坑点）]]></title><link>https://blog.youkuaiyun.com/chenjieaaa/article/details/121283944</link><guid>https://blog.youkuaiyun.com/chenjieaaa/article/details/121283944</guid><author>chenjieaaa</author><pubDate>Fri, 12 Nov 2021 11:05:56 +0800</pubDate><description><![CDATA[Xilinx异步fifo的注意点（避坑点）
FIFO是FPGA处理跨时钟和数据缓存的必要IP，可以这么说，只要是任意一个成熟的FPGA涉及，一定会涉及到FIFO。但是我在使用异步FIFO的时候，碰见几个大坑，这里总结如下，避免后来者入坑。
这里博主主要总结两个注意点，也是最常入坑的点：
1、异步FIFO的读写计数不准，经常可以碰见FIFO的空标志拉高，但是计数器显示FIFO中还有数据的情况，所以使用FIFO自带的计数器时，一定要小心，只可以使用大概范围，不可以使用精确范围。
2、异步FIFO在复位一段时间后]]></description><category></category></item><item><title><![CDATA[fpga控制sdram存储器的读写5：sdram读数据]]></title><link>https://blog.youkuaiyun.com/chenjieaaa/article/details/120281568</link><guid>https://blog.youkuaiyun.com/chenjieaaa/article/details/120281568</guid><author>chenjieaaa</author><pubDate>Tue, 14 Sep 2021 21:52:50 +0800</pubDate><description><![CDATA[一.理论知识
1.读命令(Read)，控制命令为{CS_N,RAS_N,CAS_N,WE_N} = 4’b0101，用来实现对已激活的特定 L-Bank 的特定行的数据突发读取操作， BA[1:0]指定需要读取数据的特定 LBank，地址总线 A0-A9 指定需要读取存储单元的起始列地址， A10 的电平变化控制突发读操作完成后是否立即执行自动预充电操作，若 A10 为高电平，突发读操作完成后，立即执行自动预充电操作，关闭当前行；若 A10 为低电平，突发读操作完成后，当前行依然处于激活状态，以便对当前行执]]></description><category></category></item><item><title><![CDATA[fpga控制sdram存储器的读写4：sdram写数据]]></title><link>https://blog.youkuaiyun.com/chenjieaaa/article/details/120183075</link><guid>https://blog.youkuaiyun.com/chenjieaaa/article/details/120183075</guid><author>chenjieaaa</author><pubDate>Fri, 10 Sep 2021 16:39:08 +0800</pubDate><description><![CDATA[一.理论知识
二.芯片时序分析
三.设计verilog时序图
四.verilog代码
五.仿真代码

]]></description><category></category></item><item><title><![CDATA[fpga控制sdram存储器的读写3：sdram自动刷新]]></title><link>https://blog.youkuaiyun.com/chenjieaaa/article/details/120163478</link><guid>https://blog.youkuaiyun.com/chenjieaaa/article/details/120163478</guid><author>chenjieaaa</author><pubDate>Wed, 08 Sep 2021 14:44:21 +0800</pubDate><description><![CDATA[一.理论知识
1.SDRAM内部存储体是利用电容能够保持电荷以及可充放电的特性制成，而电容所存储的电荷会随时间不断流失，会造成存储数据的丢失。为保证SDRAM 中数据的可靠性，需要对 SDRAM 进行不断刷新。SDRAM的刷新方式分为自刷新和自动刷新两种。
2.自动刷新模式：作用是在 SDRAM 的正常操作过程中，保证数据不丢失，自动刷新过程需要外部时钟的参与，但刷新行地址由内部刷新计数器控制，无需外部写入。
3.自刷新模式则主要用于休眠模式低功耗状态下的数据保存， 自刷新过程无需外部时钟参与，与自动刷新相]]></description><category></category></item><item><title><![CDATA[fpga控制sdram存储器的读写2：sdram初始化]]></title><link>https://blog.youkuaiyun.com/chenjieaaa/article/details/120126929</link><guid>https://blog.youkuaiyun.com/chenjieaaa/article/details/120126929</guid><author>chenjieaaa</author><pubDate>Mon, 06 Sep 2021 16:47:54 +0800</pubDate><description><![CDATA[一.理论知识
sdram芯片上电后，执行读写操作之前，首先要做的第一件事就是初始化，这里解释下初始化的目的。
1.在使用sdram资源的时候，要先给出芯片的地址，这个地址就是行/列地址。初始化第一步，首先就是要关闭所有bank中激活的行。虽然系统上电之后，sdram还没开始使用，没有被激活的行，但是依然要执行预充电这一步操作，确保在使用之前所有bank中没有激活的行。
2.sdram是动态存储器，物理层面是靠电容来维持电平信号，需要不断地给它刷新来给电容充电。在使用sdram资源之前，要给sdram的所有b]]></description><category></category></item><item><title><![CDATA[Quartus固化程序到flash芯片]]></title><link>https://blog.youkuaiyun.com/chenjieaaa/article/details/119921312</link><guid>https://blog.youkuaiyun.com/chenjieaaa/article/details/119921312</guid><author>chenjieaaa</author><pubDate>Wed, 25 Aug 2021 23:10:25 +0800</pubDate><description><![CDATA[一.理论知识
1.对工程进行上板验证的时候，可以通过两种方式烧录程序：一种是将程序下载到 FPGA 内部的 SRAM 之中，这种方式烧录过程耗时较短，但缺点是掉电后程序会丢失，再次上电后要重新烧录程序；另外一种就是将程序固化到 FPGA 外部挂载的 Flash 芯片中， Flash 芯片是非易失性存储器，程序掉电后不会丢失，重新上电后会执行掉电前烧录到 Flash 中的程序，但是烧录程序耗时较长。
2.如果我们对程序验证完成后，想要将固化到 Flash 中的程序删除时，可以通过两种方式，一种是通过使用spi]]></description><category></category></item><item><title><![CDATA[PC机与FPGA实现Uart串口数据通信]]></title><link>https://blog.youkuaiyun.com/chenjieaaa/article/details/119855818</link><guid>https://blog.youkuaiyun.com/chenjieaaa/article/details/119855818</guid><author>chenjieaaa</author><pubDate>Sun, 22 Aug 2021 18:34:18 +0800</pubDate><description><![CDATA[一.理论知识
1.在最初的应用中， RS-232 串口标准常用于计算机、路由与调制调解器(MODEN，俗称“猫” )之间的通讯，在这种通讯系统中，设备被分为数据终端设备 DTE(计算机、路由)和数据通讯设备 DCE(调制调解器)。 我们以这种通讯模型讲解它们的信号线连接方式及各个信号线的作用。
2.在旧式的台式计算机中一般会有 RS-232 标准的 COM 口(也称 DB9 接口)，见下图。

3.其中接线口以针式引出信号线的称为公头，以孔式引出信号线的称为母头。在计算机中一般引出公头接口，而在调制调解器设]]></description><category></category></item><item><title><![CDATA[fpga使用spi协议擦除读写flash芯片]]></title><link>https://blog.youkuaiyun.com/chenjieaaa/article/details/119766270</link><guid>https://blog.youkuaiyun.com/chenjieaaa/article/details/119766270</guid><author>chenjieaaa</author><pubDate>Tue, 17 Aug 2021 21:26:56 +0800</pubDate><description><![CDATA[一.需求说明
fpga首先全擦除flash芯片，然后往flash芯片中写入一页数据，再接着读取这一页数据。
二.硬件介绍
1.flash资源介绍

M25P16芯片是flash芯片，容量是16Mbit。
16Mbit=16×1024×1024bit=2×1024×1024byte=2,097,152 bytes 。
总共有32个扇区，每个扇区有512×1024bit=65536byte。
每个扇区有256页，每页有256个字节。
每个地址占三个字节，第一个字节表示扇区，第二个字节表示页数，第三个字节表示页内]]></description><category></category></item><item><title><![CDATA[Signal Tab使用指南]]></title><link>https://blog.youkuaiyun.com/chenjieaaa/article/details/119250057</link><guid>https://blog.youkuaiyun.com/chenjieaaa/article/details/119250057</guid><author>chenjieaaa</author><pubDate>Fri, 30 Jul 2021 16:11:28 +0800</pubDate><description><![CDATA[Signal Tab使用指南
1.简介
Fpga调试有两个工具，一种是Modelsim，另一种是SignalTab。Modelsim是仿真软件，是用软件来模拟fpga的时序信号，以此来观察fpga各个变量的信号变化过程。这种是软件模拟出来的，也是理想化的情况。常用于下板子之前测试代码是否正常运行。SignalTab是需要把代码下载到开发板，然后fpga在运行的时候，实时捕获到每个变量对应于真实器件的信号。SignalTab使用fpga内部的逻辑资源和RAM资源，使用时只需将一根JTAG接口的下载电缆连接到开]]></description><category></category></item></channel></rss>