<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Yaphets__2015的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/Yaphets__2015</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Yaphets__2015]]></copyright><item><title><![CDATA[Perl面向对象与面向过程的思考]]></title><link>https://blog.youkuaiyun.com/Yaphets__2015/article/details/101734332</link><guid>https://blog.youkuaiyun.com/Yaphets__2015/article/details/101734332</guid><author>Yaphets__2015</author><pubDate>Thu, 18 Feb 2016 18:45:00 +0800</pubDate><description><![CDATA[应用介绍
在IC验证中，需要对每个模块输入若干测试向量，来验证电路功能。手写的测试向量不足以代表所有的输入组合，而自动测试向量生成又会产生过多测试向量，因此采用了一种折衷的方法，通过种子随机生成测试向量。不断跑不同种子的testcase的工作称为regression，目的是发现不常见的bug。
实现方法
脚本结构
我实现的Perl脚本功能分为两块，一个是代码版本更新与编译检查。虽...]]></description><category></category></item><item><title><![CDATA[Perl脚本调用的优缺点]]></title><link>https://blog.youkuaiyun.com/Yaphets__2015/article/details/101734330</link><guid>https://blog.youkuaiyun.com/Yaphets__2015/article/details/101734330</guid><author>Yaphets__2015</author><pubDate>Thu, 18 Feb 2016 18:44:00 +0800</pubDate><description><![CDATA[Perl脚本在运行时作为一个独立的进程，调用另一个脚本意味着创建一个子进程，这和函数调用有着本质的区别，函数调用是一个进程中执行了一段独立代码。这是特别需要注意的前提，下面总结了这种机制的优缺点。
优点

并行性。进程之间是独立的、并发的，因此脚本调用脚本时，这两个脚本可以是并行工作的，子脚本又可以调用子脚本，并行性可以无限扩展，运行效率高。
兼容性。一行命令就能调用其它脚本语言...]]></description><category></category></item><item><title><![CDATA[System Verilog Assertion for debug]]></title><link>https://blog.youkuaiyun.com/Yaphets__2015/article/details/101734331</link><guid>https://blog.youkuaiyun.com/Yaphets__2015/article/details/101734331</guid><author>Yaphets__2015</author><pubDate>Thu, 18 Feb 2016 18:22:00 +0800</pubDate><description><![CDATA[System Verilog Assertion是非常好的验证方法，通过SVA可以显式描述需要验证的电路逻辑，并且仿真工具可以在仿真的过程中自动输出波形出错信息，从而替代传统的看波形调试方法，提高前端设计验证效率。
RTL代码结构

`ifdef SVA
module m_sva(input wire signal);
    property p1;
        ex...]]></description><category></category></item><item><title><![CDATA[函数与变量的内存存储方案]]></title><link>https://blog.youkuaiyun.com/Yaphets__2015/article/details/101734329</link><guid>https://blog.youkuaiyun.com/Yaphets__2015/article/details/101734329</guid><author>Yaphets__2015</author><pubDate>Mon, 30 Nov 2015 16:36:00 +0800</pubDate><description><![CDATA[本段内容整理自《C++ Primer第五版中文版》第9章：内存模型与名字空间

编译器通常使用三块独立的内存存储变量：一块用于静态持续变量，一块用于自动变量，一块用于动态存储。
静态持续变量有以下几种：

全局变量：在所有文件中使用
全局静态变量：在当前文件中使用
局部静态变量：在当前函数中使用

全局变量
全局变量定义在main()函数外部，其它文件要使用这个变...]]></description><category></category></item><item><title><![CDATA[STL中的哈希表 hash table]]></title><link>https://blog.youkuaiyun.com/Yaphets__2015/article/details/101734328</link><guid>https://blog.youkuaiyun.com/Yaphets__2015/article/details/101734328</guid><author>Yaphets__2015</author><pubDate>Sat, 28 Nov 2015 13:35:00 +0800</pubDate><description><![CDATA[哈希表在STL的map库中，用到的两个主要函数为map.count()和map.insert()，分别是查找和插入操作。代码样例如下：

1 include &lt;map&gt;
2 
3 map&lt;int, int&gt; hashtable;
4 if(!hashtable.count(key)) {
5     hashtable.insert(pair&lt;i...]]></description><category></category></item></channel></rss>