<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Augusdi的专栏]]></title><description><![CDATA[攀登技术的高峰，我与大家共勉！]]></description><link>https://blog.youkuaiyun.com/Augusdi</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Augusdi]]></copyright><item><title><![CDATA[公司EDAtools总结]]></title><link>https://blog.youkuaiyun.com/Augusdi/article/details/156989752</link><guid>https://blog.youkuaiyun.com/Augusdi/article/details/156989752</guid><author>Augusdi</author><pubDate>Thu, 15 Jan 2026 17:08:51 +0800</pubDate><description><![CDATA[公司EDAtools总结]]></description><category></category></item><item><title><![CDATA[Cadence工具简介]]></title><link>https://blog.youkuaiyun.com/Augusdi/article/details/156989731</link><guid>https://blog.youkuaiyun.com/Augusdi/article/details/156989731</guid><author>Augusdi</author><pubDate>Thu, 15 Jan 2026 17:07:52 +0800</pubDate><description><![CDATA[Cadence工具简介]]></description><category></category></item><item><title><![CDATA[Synopsys工具介绍]]></title><link>https://blog.youkuaiyun.com/Augusdi/article/details/156989682</link><guid>https://blog.youkuaiyun.com/Augusdi/article/details/156989682</guid><author>Augusdi</author><pubDate>Thu, 15 Jan 2026 17:06:05 +0800</pubDate><description><![CDATA[Synopsys工具介绍]]></description><category></category></item><item><title><![CDATA[C++自动化(模板元)编程基础与应用(3)]]></title><link>https://blog.youkuaiyun.com/Augusdi/article/details/122767038</link><guid>https://blog.youkuaiyun.com/Augusdi/article/details/122767038</guid><author>Augusdi</author><pubDate>Tue, 01 Feb 2022 23:19:53 +0800</pubDate><description><![CDATA[#if 0

  在前面的两章里面讨论了C++模板元作为C++的一门二级语言的问题，并给出了常用的
程序设计语言的语素的实现，是一个完备的体系。总的来说，前面的章节里面是采用了下
面的方法来实现这些语素的：

  (1)整数计算结果通过enum变量进行保存

  (2)类型计算结果通过typedef进行保存

  (3)?:运算符可用来实现静态整型表达式的选择功能

  (4)模板特化可用来实现静态类型表达式的选择功能

  (5)模板递归可用来实现静态循环，循环变化元素只能够是整数...]]></description><category></category></item><item><title><![CDATA[C++自动化(模板元)编程基础与应用(3)]]></title><link>https://blog.youkuaiyun.com/Augusdi/article/details/122754927</link><guid>https://blog.youkuaiyun.com/Augusdi/article/details/122754927</guid><author>Augusdi</author><pubDate>Tue, 01 Feb 2022 23:14:42 +0800</pubDate><description><![CDATA[#if 0

  在前面的两章里面讨论了C++模板元作为C++的一门二级语言的问题，并给出了常用的
程序设计语言的语素的实现，是一个完备的体系。总的来说，前面的章节里面是采用了下
面的方法来实现这些语素的：

  (1)整数计算结果通过enum变量进行保存

  (2)类型计算结果通过typedef进行保存

  (3)?:运算符可用来实现静态整型表达式的选择功能

  (4)模板特化可用来实现静态类型表达式的选择功能

  (5)模板递归可用来实现静态循环，循环变化元素只能够是整数...]]></description><category></category></item><item><title><![CDATA[C++自动化(模板元)编程基础与应用(4)]]></title><link>https://blog.youkuaiyun.com/Augusdi/article/details/122755080</link><guid>https://blog.youkuaiyun.com/Augusdi/article/details/122755080</guid><author>Augusdi</author><pubDate>Tue, 01 Feb 2022 23:13:35 +0800</pubDate><description><![CDATA[#if 0

  这一章，我们将要开始的讨论C++里面的代码生成技术。说起代码生成技术，实际上这
并不是C++的专利，作为C++子集的C语言早就已经使用了一定的代码生成技术，这就是C宏
。我想C宏大家应该非常熟悉了吧，特别是能够实现带参数的宏使得大量的库利用这种技术
来生成那些格式重复的代码，例如：微软的MFC库，跨平台的GUI库wxWidget，Boost库等等
都使用了C宏。虽然C宏在这些库里面扮演了非常重要的角色，并且仍将扮演非常重要的角
色，但是也不得不说：C宏存在着很大的问题。最基础的就是类型..]]></description><category></category></item><item><title><![CDATA[C++自动化(模板元)编程基础与应用(5)]]></title><link>https://blog.youkuaiyun.com/Augusdi/article/details/122755097</link><guid>https://blog.youkuaiyun.com/Augusdi/article/details/122755097</guid><author>Augusdi</author><pubDate>Tue, 01 Feb 2022 23:12:44 +0800</pubDate><description><![CDATA[#if 0

  在上一篇文章里面讨论了C++里面的代码生成技术，使用的是scatter，不过上一篇文
章里面也提到了，前一篇文章里面讨论的代码生成模板scatter使用的类型串绝对不允许
重复。其实上一篇中的scatter使用由重复的类型的类型串也是能够正常生成代码的，不
过产生的代码却不能将类型重复的变量分辨出来，这样生成的代码就没有了什么实际意义
，所以在这一章中将要解决的问题是：重新编写一个可以使用重复类型的类型串生成代码
，并且能够采用一定的方法将这些生成的变量分辨出来。

  那么该如何...]]></description><category></category></item><item><title><![CDATA[C++自动化(模板元)编程基础与应用(6)]]></title><link>https://blog.youkuaiyun.com/Augusdi/article/details/122755101</link><guid>https://blog.youkuaiyun.com/Augusdi/article/details/122755101</guid><author>Augusdi</author><pubDate>Tue, 01 Feb 2022 23:11:08 +0800</pubDate><description><![CDATA[#if 0

  在上一章里面讨论了代码的自动生成机制，经常会遇到根据不同的类型选择不同的操
作的情况，也就是静态分派的问题。这就需要有一种机制用来识别不同的类型，在本章里
面将会系统的讨论C++里面可用的类型识别问题。

  最常见的有下面几种：
 
  (1)根据模板参数需要精确匹配类型来识别类型

  (2)根据隐式自动转型来判断类型是否可以自动转型，从而可以判断是某个基类的派生
类。

  (3)给每一个类型都追加一个额外的模板参数用来表示不同的类型，一般都是用不同的
数字...]]></description><category></category></item><item><title><![CDATA[C++自动化(模板元)编程基础与应用(2)]]></title><link>https://blog.youkuaiyun.com/Augusdi/article/details/122754908</link><guid>https://blog.youkuaiyun.com/Augusdi/article/details/122754908</guid><author>Augusdi</author><pubDate>Tue, 01 Feb 2022 23:08:35 +0800</pubDate><description><![CDATA[#if 0

  在上一篇文章的最后提到了一个相对来说通用一点的LOOP循环，下面还是将上一篇文
章中的LOOP循环代码复制如下：

#endif
#ifdef CODE1
#include &lt;iostream&gt;
template&lt;size_t n&gt; void print()
{//这里的n是编译期的结果，可以用来定义数组的
    int a[n+1];//这么做是为了证明n是编译期常量
    std::cout &lt;&lt; sizeof(a)/size...]]></description><category></category></item><item><title><![CDATA[C++自动化(模板元)编程基础与应用(1)]]></title><link>https://blog.youkuaiyun.com/Augusdi/article/details/122754846</link><guid>https://blog.youkuaiyun.com/Augusdi/article/details/122754846</guid><author>Augusdi</author><pubDate>Sun, 30 Jan 2022 18:51:04 +0800</pubDate><description><![CDATA[#if 0

  大家好，在这一类的文章中将会系统的介绍模板元编程的相关基础知识。最主要的是
这类文章的目的就是让不熟悉模板元的C++迷们尽快的进入到模板元的奇妙世界里面来，所
以每一篇文章都将只会讨论一个话题，尽可能的把这个话题说清楚明白就可以了。

  好了，言归正传。大家都知道C++是一们计算机语言，这一点也没错，但是你知道C++
里面还包含了另外一种子语言么？呵呵，恐怕知道的人就不多了，会用的人就更少了。但
是既然经过了这么多年的发展，C++语言里面出现了这种子语言（模板）自然有它的根源的
...]]></description><category></category></item><item><title><![CDATA[深入浅出让你理解什么是LLVM]]></title><link>https://blog.youkuaiyun.com/Augusdi/article/details/120168542</link><guid>https://blog.youkuaiyun.com/Augusdi/article/details/120168542</guid><author>Augusdi</author><pubDate>Sat, 11 Sep 2021 17:20:26 +0800</pubDate><description><![CDATA[什么是LLVM


LLVM项目是模块化、可重用的编译器以及工具链技术的集合。


美国计算机协会 (ACM) 将其2012 年软件系统奖项颁给了LLVM，之前曾经获得此奖项的软件和技术包括:Java、Apache、 Mosaic、the World Wide Web、Smalltalk、UNIX、Eclipse等等
创始人:Chris Lattner，亦是Swift之父


趣闻：Chris Latter本来只是想写一个底层的虚拟机，这也是LLVM名字的由来，low level virtual machi]]></description><category></category></item><item><title><![CDATA[看国内十大EDA软件公司排行榜，总人数不到全球EDA研发总数的1/100，怎样突破困境？]]></title><link>https://blog.youkuaiyun.com/Augusdi/article/details/120131214</link><guid>https://blog.youkuaiyun.com/Augusdi/article/details/120131214</guid><author>Augusdi</author><pubDate>Mon, 06 Sep 2021 12:02:19 +0800</pubDate><description><![CDATA[芯片是中国科技行业目前最被卡脖子的一个环节，而EDA是芯片设计的必备工具，国际上主要被Synopsys、Cadence和Mentor Graphics占据着95%的市场，高端复杂的芯片设计更是依赖这三个巨头，最新数据显示，他们的人员总数是国内全部EDA从业人员的一百倍，那么中国的EDA方面存在哪些问题呢，是单纯的技术，还是人才，又或者两者都缺？

人才与技术窘况

EDA一直牵动着国内芯片行业的心，2020年第23届中国集成电路制造年会上，公布了国内十大EDA软件公司及人员规模排行榜，如下：



数据来源]]></description><category></category></item><item><title><![CDATA[安得猛士兮守四方——国产EDA公司盘点]]></title><link>https://blog.youkuaiyun.com/Augusdi/article/details/120130799</link><guid>https://blog.youkuaiyun.com/Augusdi/article/details/120130799</guid><author>Augusdi</author><pubDate>Mon, 06 Sep 2021 11:50:17 +0800</pubDate><description><![CDATA[来源: 半导体行业观察来源：内容由半导体行业观察（ID：icbank）原创，作者：黄乐天，谢谢。

《大风歌》

汉.刘邦

大风起兮云飞扬

威加海内兮归故乡

安得猛士兮守四方

前言

随着中美竞争的急速加剧，半导体/集成电路领域成为了双方竞争的主战场。而在这主战场中，“战火”逐步在向设备、EDA软件和材料三个最为焦灼的“阵地”集中。由于目前各大自媒体和行业媒体对于这三个细分行业讨论较多，其中有不少精彩而不失真知灼见的作品。但是其中的谬误也比较多，尤其是一些非专业出身的作者往往从网上一些公开信息出发来]]></description><category></category></item><item><title><![CDATA[LLVM-clang]]></title><link>https://blog.youkuaiyun.com/Augusdi/article/details/119838587</link><guid>https://blog.youkuaiyun.com/Augusdi/article/details/119838587</guid><author>Augusdi</author><pubDate>Sat, 21 Aug 2021 13:29:13 +0800</pubDate><description><![CDATA[LLVM

什么是LLVM？

官网：https://llvm.org/

The LLVM Project is a collection of modular and reusable compiler and toolchain technologies.

LLVM项目是模块化，可重用的编译器与及工具链技术的技术

美国计算协会(ACM)将其2012年软件系统奖项颁给了LLVM，之前曾经获得此奖项的软件和技术包括：Java，Apache，Mosaic，the World Wide Web,Small]]></description><category></category></item><item><title><![CDATA[LLVM入门笔记]]></title><link>https://blog.youkuaiyun.com/Augusdi/article/details/119838528</link><guid>https://blog.youkuaiyun.com/Augusdi/article/details/119838528</guid><author>Augusdi</author><pubDate>Sat, 21 Aug 2021 13:24:48 +0800</pubDate><description><![CDATA[一、LLVM的周边项目：

1.clang、llvm、clang-tools-extra、compiler-rt:

clang+LLVM:clang是LLVM的前端，把各种源码编译处理；

clang-tools-extra:clang默认以外的认为不是很重要的工具；

Compiler-RT 项⽬为硬件不⽀持的低级功能提供特定的⽀持。例如，32位

⽬标通常缺少⽀持64位除法的指令， Compiler-RT 通过提供特定⽬标的优

化函数来解决此问题，使⽤这样的函数可以在32位指令处理器上实现64位

]]></description><category></category></item><item><title><![CDATA[Filter Solutions入门]]></title><link>https://blog.youkuaiyun.com/Augusdi/article/details/119707241</link><guid>https://blog.youkuaiyun.com/Augusdi/article/details/119707241</guid><author>Augusdi</author><pubDate>Sat, 14 Aug 2021 22:30:32 +0800</pubDate><description><![CDATA[由于参加电子设计竞赛的原因，才正式开始接触 Filter Solutions 这一无源滤波器设计软件，因其独特的算法设计及大家的广泛好评，结合笔者在试用过程中的心得，给大家简要的介绍一下。

 我用的版本是Filter Solutions 2009，网上貌似是没有的，我是从六维空间上搬下来的。最新版是13.1。个人感觉应该都是差不多的，对于普通普通滤波器的设计来说，已经足够了。


这就是软件打开的主界面，左上是选择滤波器的类型，我们以Butterworth（巴特沃兹）滤波器为例，上中为滤波器阶数（set.]]></description><category></category></item><item><title><![CDATA[概率算法与代码]]></title><link>https://blog.youkuaiyun.com/Augusdi/article/details/118975936</link><guid>https://blog.youkuaiyun.com/Augusdi/article/details/118975936</guid><author>Augusdi</author><pubDate>Wed, 21 Jul 2021 20:44:06 +0800</pubDate><description><![CDATA[一、随机数

　　随机数在概率算法设计中扮演着十分重要的角色。在现实计算机上无法产生真正的随机数，因此在概率算法中使用的随机数都是一定程度上随机的，即伪随机数。

线性同余法是产生伪随机数的最常用的方法。由线性同余法产生的随机序列a0,a1,…,an满足



　　其中b &gt;= 0，c &gt;= 0，d &lt;= m。d称为该随机序列的种子。如何选取该方法中的常数b、c和m直接关系到所产生的随机序列的随机性能。这是随机性理论研究的内容，已超出本书讨论的范围。从直观上看，m应取得充分大，因此可取m.]]></description><category></category></item><item><title><![CDATA[层级调用的makefile模板]]></title><link>https://blog.youkuaiyun.com/Augusdi/article/details/118885474</link><guid>https://blog.youkuaiyun.com/Augusdi/article/details/118885474</guid><author>Augusdi</author><pubDate>Sun, 18 Jul 2021 23:28:57 +0800</pubDate><description><![CDATA[目录

简介
	公共部分makefile
	模块目录makefile
	顶层makefile
	实际输出


简介

学习完《跟我一起写makefile》之后，对于makefile的各种规则和函数有了初步了解，但是对于层级调用的makefile不是很熟悉，接下来的内容是搜索的网上的一个模板，对其中内容自己做了一些修改，并且简单实验了一下可以正常工作.这个模板与其他的不相同的是，他把公共部分封装成了一个makefile，这个思路感觉很有意思。

原文链接《一个适用于层级目录结构的makefile模版》

本.]]></description><category></category></item><item><title><![CDATA[C/C++程序编译]]></title><link>https://blog.youkuaiyun.com/Augusdi/article/details/118885426</link><guid>https://blog.youkuaiyun.com/Augusdi/article/details/118885426</guid><author>Augusdi</author><pubDate>Sun, 18 Jul 2021 23:27:45 +0800</pubDate><description><![CDATA[目录

简介
	预处理
	编译
	汇编
	链接


简介


该部分内容仅作概念上的介绍，具体细节请参照《程序员的自我修养–链接、装载与库习》进行学习，以下笔记也是书中相关内容


编译过程大体可分为4个过程，预处理（preprocessing）、编译（compiliation）、汇编（assembly）和链接（linking）



使用 gcc 命令不跟任何的选项的话，会默认执行预处理、编译、汇编、链接这整个过程，如果程序没有错，就会得到一个可执行文件，默认为a.out

-E选项：提示编译器执行完预处]]></description><category></category></item><item><title><![CDATA[GDB调试之多进程/线程]]></title><link>https://blog.youkuaiyun.com/Augusdi/article/details/118885419</link><guid>https://blog.youkuaiyun.com/Augusdi/article/details/118885419</guid><author>Augusdi</author><pubDate>Sun, 18 Jul 2021 23:24:04 +0800</pubDate><description><![CDATA[目录

选择调试进程
	进程切换
	实例
	多线程调试


选择调试进程

在GDB中有两个选项来确定调试的进程：

follow-fork-mode，设置调试哪个进程
	detach-on-fork，GDB在fork之后是否断开（detach）某个进程的调试
这两个选项的参数组合起来的效果如下表

follow-fork-mode
			detach-on-fork
			效果
		parent
			on
			只调试父进程
		child
			on
			只调试子进程
		parent
			off]]></description><category></category></item></channel></rss>