<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[sodcsdn的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/sodcsdn</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; sodcsdn]]></copyright><item><title><![CDATA[测试文件的编写 及 相关循环语句]]></title><link>https://blog.youkuaiyun.com/sodcsdn/article/details/146535377</link><guid>https://blog.youkuaiyun.com/sodcsdn/article/details/146535377</guid><author>sodcsdn</author><pubDate>Wed, 02 Apr 2025 21:46:52 +0800</pubDate><description><![CDATA[在 Verilog 代码设计完成后，我们还需要进行一项重要的步骤：仿真。一般来说，仿真阶段花费的时间会比设计花费的时间更多，因为需要根据各种可能的应用场景设计各式各样的样例，对应的代码编写也更加复杂。Testbench 的中文释义是试验台、测试架、试样、试验工作台，TestBench 是用于硬件设计中验证和测试设计模块的仿真环境，它可以生成输入信号并模拟设计模块的输出，进而测试设计电路的功能、性能与设计的预期是否相符。首先，我们需要区分测试和 Debug 的概念。]]></description><category></category></item><item><title><![CDATA[避免锁存器]]></title><link>https://blog.youkuaiyun.com/sodcsdn/article/details/146052592</link><guid>https://blog.youkuaiyun.com/sodcsdn/article/details/146052592</guid><author>sodcsdn</author><pubDate>Mon, 24 Mar 2025 18:28:13 +0800</pubDate><description><![CDATA[锁存器是新手容易犯的错误，阅读后自己总结一下。]]></description><category></category></item><item><title><![CDATA[Verilog语言中，关于always的详细介绍]]></title><link>https://blog.youkuaiyun.com/sodcsdn/article/details/146301406</link><guid>https://blog.youkuaiyun.com/sodcsdn/article/details/146301406</guid><author>sodcsdn</author><pubDate>Sun, 16 Mar 2025 22:16:05 +0800</pubDate><description><![CDATA[当时我会深究这个现象问题，是因为我认为，既然always的敏感变量在0时刻的初始值就是1，没有电平变化（甚至持续数ns），那么按理来说就不会进入always内，更不会执行q的赋值操作，那么reg型q就没有存储任何值，那就应该是默认的X。在延时后，如果按照我错误的想法，q的值应该为X，但实际上可以很明显的看出，在0时刻的时候q的取值是en为X的情况，也就是进入了else内。但真实情况是q的值和data的值一样，那就表明我的认为是错的，在0时刻之前或许就已经进入了always内。]]></description><category></category></item><item><title><![CDATA[Verilog HDL语法（下）]]></title><link>https://blog.youkuaiyun.com/sodcsdn/article/details/145836791</link><guid>https://blog.youkuaiyun.com/sodcsdn/article/details/145836791</guid><author>sodcsdn</author><pubDate>Sun, 02 Mar 2025 17:48:27 +0800</pubDate><description><![CDATA[Verilog 可以使用三种不同的方式描述模块实现的逻辑功能。调用其他已经定义过的低层次模块对整个电路的功能进行描述，或者直接调用 Verilog 内部预先定义的基本门级元件描述电路的结构进行描述。使用连续赋值语句 assign 对电路的逻辑功能进行描述。该方式特别适合于对组合逻辑电路建模。使用过程块语句结构 always 和比较抽象的高级程序语句对电路的逻辑功能进行描述。例子：对下面的电路分别使用三种不同的方式进行描述。请写出该电路的逻辑表达式。（数字电路知识）]]></description><category></category></item><item><title><![CDATA[Verilog HDL语法（上）]]></title><link>https://blog.youkuaiyun.com/sodcsdn/article/details/145123982</link><guid>https://blog.youkuaiyun.com/sodcsdn/article/details/145123982</guid><author>sodcsdn</author><pubDate>Fri, 21 Feb 2025 22:26:13 +0800</pubDate><description><![CDATA[对verilog进行了入门级别的介绍。
重点需要区分开wire型和reg型的不同，像是它们在声明，赋值，模块例化等地方。
还需要注意在时序逻辑电路和组合逻辑电路，它们在赋值，条件语句中的特殊缺省情况等，避免出现latch。
]]></description><category></category></item><item><title><![CDATA[FPGA开发流程]]></title><link>https://blog.youkuaiyun.com/sodcsdn/article/details/145099366</link><guid>https://blog.youkuaiyun.com/sodcsdn/article/details/145099366</guid><author>sodcsdn</author><pubDate>Sun, 12 Jan 2025 23:41:19 +0800</pubDate><description><![CDATA[为了方便文件管理，在文件夹内建立几个子文件夹，并把相关的项目资料统一收纳在内。]]></description><category></category></item><item><title><![CDATA[在顺序块begin...end中，需要注意end前不能时延，否则会编译报错。]]></title><link>https://blog.youkuaiyun.com/sodcsdn/article/details/144755185</link><guid>https://blog.youkuaiyun.com/sodcsdn/article/details/144755185</guid><author>sodcsdn</author><pubDate>Thu, 26 Dec 2024 23:54:41 +0800</pubDate><description><![CDATA[我想着多添加一下延时的数自己测试看看，结果不小心在end前也添加了时延，导致我反复检查都没查出问题，最后去看顺序块的定义，才发现end前不能添加时延！点醒了我！]]></description><category></category></item><item><title><![CDATA[我的学习记录]]></title><link>https://blog.youkuaiyun.com/sodcsdn/article/details/144753782</link><guid>https://blog.youkuaiyun.com/sodcsdn/article/details/144753782</guid><author>sodcsdn</author><pubDate>Thu, 26 Dec 2024 21:56:10 +0800</pubDate><description><![CDATA[因为想记录一下自己的学习经过，虽然我知道可能也是半途而废，但是就当体验一下吧！]]></description><category></category></item></channel></rss>