<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[gratdan的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/gratdan</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; gratdan]]></copyright><item><title><![CDATA[[HDL设计] 片外串行总线-SPI]]></title><link>https://blog.youkuaiyun.com/gratdan/article/details/157904389</link><guid>https://blog.youkuaiyun.com/gratdan/article/details/157904389</guid><author>gratdan</author><pubDate>Mon, 09 Feb 2026 14:11:10 +0800</pubDate><description><![CDATA[SPI !]]></description><category></category></item><item><title><![CDATA[[HDL设计] 片外串行总线-IIC]]></title><link>https://blog.youkuaiyun.com/gratdan/article/details/157899687</link><guid>https://blog.youkuaiyun.com/gratdan/article/details/157899687</guid><author>gratdan</author><pubDate>Mon, 09 Feb 2026 09:12:21 +0800</pubDate><description><![CDATA[IIC!]]></description><category></category></item><item><title><![CDATA[[HDL设计] 片外串行总线-UART]]></title><link>https://blog.youkuaiyun.com/gratdan/article/details/157808780</link><guid>https://blog.youkuaiyun.com/gratdan/article/details/157808780</guid><author>gratdan</author><pubDate>Sat, 07 Feb 2026 10:23:07 +0800</pubDate><description><![CDATA[UART verilog开发。]]></description><category></category></item><item><title><![CDATA[Xilinx 7系列 Ultrascale Ultrascale+ FPGA 选型指南]]></title><link>https://blog.youkuaiyun.com/gratdan/article/details/139068303</link><guid>https://blog.youkuaiyun.com/gratdan/article/details/139068303</guid><author>gratdan</author><pubDate>Mon, 20 May 2024 16:31:27 +0800</pubDate><description><![CDATA[Xilinx 选型指南]]></description><category></category></item><item><title><![CDATA[Xilinx FPGA累加器-资源性能评估]]></title><link>https://blog.youkuaiyun.com/gratdan/article/details/138963051</link><guid>https://blog.youkuaiyun.com/gratdan/article/details/138963051</guid><author>gratdan</author><pubDate>Thu, 16 May 2024 15:48:37 +0800</pubDate><description><![CDATA[Xilinx FPGA累加器-资源性能评估]]></description><category></category></item><item><title><![CDATA[verilog testbench-产生时钟复位]]></title><link>https://blog.youkuaiyun.com/gratdan/article/details/138926858</link><guid>https://blog.youkuaiyun.com/gratdan/article/details/138926858</guid><author>gratdan</author><pubDate>Wed, 15 May 2024 23:16:34 +0800</pubDate><description><![CDATA[最近在看vivado的官方例程，顺便总结一下比较常用且优雅的testbench代码。将这些代码封装一下，以后在仿真时直接调用，非常的方便。]]></description><category></category></item><item><title><![CDATA[关于FIFO Generator IP和XPM_FIFO在涉及位宽转换上的区别]]></title><link>https://blog.youkuaiyun.com/gratdan/article/details/138912512</link><guid>https://blog.youkuaiyun.com/gratdan/article/details/138912512</guid><author>gratdan</author><pubDate>Wed, 15 May 2024 16:16:31 +0800</pubDate><description><![CDATA[FIFO的非对称读写的大小端问题]]></description><category></category></item><item><title><![CDATA[加速vivado编译工程]]></title><link>https://blog.youkuaiyun.com/gratdan/article/details/138686334</link><guid>https://blog.youkuaiyun.com/gratdan/article/details/138686334</guid><author>gratdan</author><pubDate>Fri, 10 May 2024 23:43:06 +0800</pubDate><description><![CDATA[加速vivado编译工程]]></description><category></category></item><item><title><![CDATA[Xilinx FPGA底层逻辑资源简介(1)：关于LC，CLB，SLICE，LUT，FF的概念]]></title><link>https://blog.youkuaiyun.com/gratdan/article/details/138579860</link><guid>https://blog.youkuaiyun.com/gratdan/article/details/138579860</guid><author>gratdan</author><pubDate>Wed, 08 May 2024 17:35:05 +0800</pubDate><description><![CDATA[Xilinx FPGA底层逻辑资源简介(1)：关于LC，CLB，SLICE，LUT，FF的概念]]></description><category></category></item><item><title><![CDATA[关于verilog不能处理数组端口的解决方法]]></title><link>https://blog.youkuaiyun.com/gratdan/article/details/138573233</link><guid>https://blog.youkuaiyun.com/gratdan/article/details/138573233</guid><author>gratdan</author><pubDate>Wed, 08 May 2024 15:11:56 +0800</pubDate><description><![CDATA[关于verilog不能处理数组端口的解决方法]]></description><category></category></item><item><title><![CDATA[Altium Designer入门项目之自制《USB to 串口》]]></title><link>https://blog.youkuaiyun.com/gratdan/article/details/129099574</link><guid>https://blog.youkuaiyun.com/gratdan/article/details/129099574</guid><author>gratdan</author><pubDate>Sat, 18 Feb 2023 13:58:13 +0800</pubDate><description><![CDATA[Altium Desginer入门，硬件DIY入门]]></description><category></category></item><item><title><![CDATA[[LeetCode] Basic Calculator I II III 总结]]></title><link>https://blog.youkuaiyun.com/gratdan/article/details/104690153</link><guid>https://blog.youkuaiyun.com/gratdan/article/details/104690153</guid><author>gratdan</author><pubDate>Fri, 06 Mar 2020 14:53:16 +0800</pubDate><description><![CDATA[前几天在微信公众号看了一个大佬对于如何实现一个简易计算器的思路分享，学到很多。于是在LeetCode上找到原题码了码，在此记录一下自己的心得。

先放上原题：
LeetCode-224 ：Basic Calculator

Implement a basic calculator to evaluate a simple expression string.
The expression stri...]]></description><category></category></item><item><title><![CDATA[FMC150配置和使用（三）ads62p49]]></title><link>https://blog.youkuaiyun.com/gratdan/article/details/102771463</link><guid>https://blog.youkuaiyun.com/gratdan/article/details/102771463</guid><author>gratdan</author><pubDate>Sun, 27 Oct 2019 21:17:06 +0800</pubDate><description><![CDATA[对于芯片的配置在前两个篇章已经详细介绍过了，无非就是仔细看芯片的数据手册，然后不断试错。这一章就重点讲一讲配置ads62p49需要我们注意的地方。
SPI时序图
这里需要注意的是，对于ads62p49，输入数据是在SCLK的下降沿锁存，上升沿改变，和前两个芯片不太一样。另外，如果芯片寄存器是软复位的话，RESET得一直置零，而不是输出脉冲。

输出数据格式
如果是LVDS输出的话，对应如下时序图。...]]></description><category></category></item><item><title><![CDATA[FMC150配置和使用（二）dac3283]]></title><link>https://blog.youkuaiyun.com/gratdan/article/details/102769219</link><guid>https://blog.youkuaiyun.com/gratdan/article/details/102769219</guid><author>gratdan</author><pubDate>Sun, 27 Oct 2019 20:32:19 +0800</pubDate><description><![CDATA[接着上一篇《FMC150配置和使用（一）cdce72010》，这一篇介绍dac3283，以及如何配置和使用它。
DAC3283
和cdce72010以及后续要介绍的ads62p49一样，他们三个芯片都是TI公司研发的可以在TI官网找到相应的资料，也可以在TI中文论坛里发布自己遇到的问题或者查看他人遇到的问题。
DAC3283是一个具有双通道，支持16位差分输入（转成单端就是8位了），转换速率最高可...]]></description><category></category></item><item><title><![CDATA[FMC150配置和使用（一）cdce72010]]></title><link>https://blog.youkuaiyun.com/gratdan/article/details/102478398</link><guid>https://blog.youkuaiyun.com/gratdan/article/details/102478398</guid><author>gratdan</author><pubDate>Sun, 27 Oct 2019 18:01:21 +0800</pubDate><description><![CDATA[FMC150是什么？
FMC是一种标准的名称，FMC150则是符合FMC标准的四通道ADC/DAC子卡，可以和一些FPGA相连扩展其功能。
该卡提供两个14位A/D通道和两个16位D/A通道，可由内部时钟源提供或外部提供采样时钟。
Related Documents

FMC150_user_manual（FMC150用户手册）
Datasheet CDCE72010
Datasheet ADS6...]]></description><category></category></item><item><title><![CDATA[在VIVADO下使用ILA（逻辑分析仪）引发的深思]]></title><link>https://blog.youkuaiyun.com/gratdan/article/details/102733274</link><guid>https://blog.youkuaiyun.com/gratdan/article/details/102733274</guid><author>gratdan</author><pubDate>Thu, 24 Oct 2019 22:01:30 +0800</pubDate><description><![CDATA[最近在配置一款时钟同步芯片(CDCE72010)，具体通过配置内部寄存器来输出不同频率的时钟。这块芯片有一个时钟输入(491.52MHz)，它的一路输出时钟是输入时钟的二分频，也就是(245.76MHz)。这一路输出是给FPGA的，所以我打算通过在FPGA内部产生一个491.52MHz的时钟作为ILA的采样时钟来抓取这一路输出时钟，以验证配置寄存器是否成功。
但是万万没想到，在ILA上观察，每次都...]]></description><category></category></item><item><title><![CDATA[关于C++的除法运算和取余运算]]></title><link>https://blog.youkuaiyun.com/gratdan/article/details/96478338</link><guid>https://blog.youkuaiyun.com/gratdan/article/details/96478338</guid><author>gratdan</author><pubDate>Fri, 19 Jul 2019 12:51:22 +0800</pubDate><description><![CDATA[参考《C++ Primer》第五版

除法运算
在C++中，整数相除的结果还是整数（除数不能为0），例如：
int val1 = 21/6; //val1是3，余数被直接抛弃
int val2 = 21/7; //val2是0

在除法运算中，如果两个运算对象的符号相同则商为正，否则商为负。C++语言的早期版本允许结果为负值的商向上取整或向下取整，C++11新标准则规定商一律向0取整（即直接切除...]]></description><category></category></item><item><title><![CDATA[二叉树的一些基本概念]]></title><link>https://blog.youkuaiyun.com/gratdan/article/details/96173151</link><guid>https://blog.youkuaiyun.com/gratdan/article/details/96173151</guid><author>gratdan</author><pubDate>Tue, 16 Jul 2019 19:52:58 +0800</pubDate><description><![CDATA[二叉树(Binary Tree)


结点(Node)：组成二叉树的基本单元。从图中可以看出，结点又有根结点(Root Node)，子结点(Child Node)，左结点(Left Node)，右结点(Right Node)之分。
度：结点连接的子结点的个数。二叉树规定几个结点的度不能超过2。
深度：描述树的层数。图中二叉树的深度为3。
子树：从图中还能看到左子树和右子树，在二叉树中子树的次序不能...]]></description><category></category></item><item><title><![CDATA[对i++和++i的理解浅谈]]></title><link>https://blog.youkuaiyun.com/gratdan/article/details/95789710</link><guid>https://blog.youkuaiyun.com/gratdan/article/details/95789710</guid><author>gratdan</author><pubDate>Sat, 13 Jul 2019 21:17:16 +0800</pubDate><description><![CDATA[参考：https://blog.youkuaiyun.com/u012679707/article/details/80313425
这次是在参考leetcode大老代码时想到的问题：i++和++i区别到底在哪？
这个问题在本科的时候就一直困扰着我，今天也算是理解了。
代码分析
vector&lt;int&gt; digits = {1, 2, 3, 9};
    for (int i=digits.siz...]]></description><category></category></item><item><title><![CDATA[用Verilog写一个串口接收程序]]></title><link>https://blog.youkuaiyun.com/gratdan/article/details/95620680</link><guid>https://blog.youkuaiyun.com/gratdan/article/details/95620680</guid><author>gratdan</author><pubDate>Fri, 12 Jul 2019 16:02:26 +0800</pubDate><description><![CDATA[用Verilog写一个串口接收程序欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题，有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能，丰富你的文章UML 图表FLowchart流程图导出与导入导出导入...]]></description><category></category></item></channel></rss>