摘要: 1、总的来说,同步复位的优点大概有3条: a、有利于仿真器的仿真。 b、可以使所设计的系统成为100%的同步时序电路,这便大大有利于时序分析,而且综合出来的fmax一般较高。 c、因为他只有在时钟有效电平到来时才有效,所以可以滤除高于时钟频率的毛刺。他的缺点也有不少,主要有以下几条: a、复位信号的有效时长必须大于时钟周期,才能真正被系统识别并完成复位任务。同时还要考虑,诸如:clk skew,组合逻辑路径延时,复位延时等因素。 b、由于大多数的逻辑器件的目标库内的DFF都只有异步复位端口,所以,倘若采用同步复位的话,综合器就会在寄存器的数据输入端口插入组合逻辑,这样就会耗费较多的逻... 阅读全文
posted @ 2013-11-20 20:19 zhoususheng 阅读(213) 评论(0) 推荐(0) 编辑
摘要: 深入了解GPU--学习教材 (摘自opengpu) 收藏1.入门: NEHEhttp://nehe.gamedev.net 中文版http://www.owlei.com/DancingWind/ OpenGL Superbible 4ed 《OpenGL超级宝典(第4版)》2.OpenGL Shading Language 2ed这本书有中文版,但是我强烈不建议看,除非你不像学会这门语言。上一本书主要讲解了API使用,但是对于GLSL讲解得不多。所以在用这本书打打牢基础。Shader Programing是现代图形硬件的关键,有相当多的算法仰仗SHader,必须给与足够重视。3.《Op... 阅读全文
posted @ 2013-11-04 19:32 zhoususheng 阅读(3165) 评论(0) 推荐(2) 编辑
摘要: 我们倾向于直接从最底层引入本书中的大部分主题进行探讨,对于一本关注计算机底层体系结构的书而言,这似乎是自然而然的。然而,为了说清楚内存管理硬件,我们得从MIPS R2000所寻求实现的unix风格的虚拟存储系统开始讲起。本章的后面我们还会讨论一下相同的硬件如何在其他环境下工作。早期的MIPS CPU定位于支持运行在UNIX工作站与服务器上的应用程序,因此内存管理硬件被构想为一个最小化的能帮助BSD UNIX——一个经过完善设计并拥有充分多虚拟存储需求的操作系统的典型——提供内存管理功能的硬件。很明显的是,这些设计者们十分熟悉DEC VAX小型机,并且在从这种体系结构中获取了众多思路的同时,也摒 阅读全文
posted @ 2013-10-22 11:18 zhoususheng 阅读(3096) 评论(0) 推荐(0) 编辑
摘要: 没有Cache的MIPSCPU不能称为真正的RISC。可能这样说不公平。但为了一些特殊的目的,你可以设计一个含有小而紧密内存的MIPSCPU,而这些内存只需要固定个数的流水线步骤(最好是一个)就可以被访问到。但绝大部分MIPS CPU都是含有cache的。 这一章将介绍MIPS的cache怎样工作和软件应该怎么做才能使它可以被使用而且是可靠的。MIPSCPU重新启动后,cache的状态是不确定的,所以软件必须非常小心。你有一些线索知道cache的大小(如果你直接知道cache的大小后去初始化,这是一个不好的软件习惯。)。对于诊断程序员,我们将讨论怎样测试cache和获取特殊入口。 对于实时应用 阅读全文
posted @ 2013-10-22 11:15 zhoususheng 阅读(1484) 评论(0) 推荐(0) 编辑
摘要: 1. 背景介绍随着电子电路集成度的提高,电路愈加复杂,要完成一个电路的测试所需要的人力和时间也变得非常巨大。为了节省测试时间,除了采用先进的测试方法外,另外一个方法就是提高设计本身的可测试性。其中,可测试性包括两个方面:一个是可控制性,即为了能够检测出目的故障(fault)或缺陷(defect),可否方便的施加测试向量;另外一个是可观测性,指的是对电路系统的测试结果是否容易被观测到。在集成电路(Integrated Circuit,简称IC)进入超大规模集成电路时代,可测试性设计是电路和芯片设计的重要环节,它通过在芯片原始设计中插入各种用于提高芯片可测试性(包括可控制性和可观测性)的硬件逻辑, 阅读全文
posted @ 2013-08-27 20:19 zhoususheng 阅读(1846) 评论(0) 推荐(0) 编辑
摘要: http://wenku.baidu.com/view/cbcc3147a8956bec0975e33e.html 阅读全文
posted @ 2013-07-24 14:09 zhoususheng 阅读(738) 评论(0) 推荐(0) 编辑
摘要: 介绍内联函数之前,有必要介绍一下预处理宏。内联函数的功能和预处理宏的功能相似。相信大家都用过预处理宏,我们会经常定义一些宏,如 #define TABLE_COMP(x) ((x)>0?(x):0) 就定义了一个宏。 为什么要使用宏呢?因为函数的调用必须要将程序执行的顺序转移到函数所存放在内存中的某个地址,将函数的程序内容执行完后,再返回到转去执行该函数前的地方。这种转移操作要求在转去执行前要保存现场并记忆执行的地址,转回后要恢复现场,并按原来保存地址继续执行。因此,函数调用要有一定的时间和空间方面的开销,于是将影响其效率。而宏只是在预处理的地方把代码展开,不需要额外的空间和时间方面的开 阅读全文
posted @ 2013-07-16 08:46 zhoususheng 阅读(199) 评论(0) 推荐(0) 编辑
摘要: C++是最难的语言。这个世界上最难的编程语言可能非C++莫属了。你千万不要以为几天就可以学好C++,C++的学习曲线是相当BT的,你可以看看这篇文章。C++是一门很自由的语言,自由到了有点BT和恐怖的地步。我甚至认为C++并不是一门成熟的编程语言,因为太容易犯错了。所以,你一定要在一开始就要有很小心谨慎的态度,并把C++当成一种难以训服的猛兽来看待。多问“为什么要这样”的问题。学习C++一定要多问几个“为什么是这样”,“凭什么要这样”的问题。比如:很多人知道C++有拷贝构造函数和初始化列表,但你真的知道为什么要有拷贝构造函数?为什么要有初始化列表吗?为什么要有template,为什么要有 RT 阅读全文
posted @ 2013-07-11 19:30 zhoususheng 阅读(178) 评论(0) 推荐(0) 编辑
摘要: 1.关于要不要学习C++?(结论:要学,一定要学!)如今在网上很多为要不要学C++争的不可开交,因为现在JAVA,C#,.NET都炒的很火,特别是JAVA,大有炸平庐山,停止地球转动之势。用林锐同 志的话说,其实JAVA只是C++外甥,跑到舅舅身上撒了一泡尿而已。首先,我们从JAVA 的来历上来说,JAVA的设计初衷是用来给家用电器设计程序使用的,最初设计者想用C++,但觉得C++太复杂,就在C++的基础上做了一些简化,设计出 了JAVA,它的设计思想是跨平台,所以必须先在运行平台上安装虚拟机,然后把源程序编译成中间语言在运行。这是一个优点,但我们说任意优点都是建立在缺 点上的,JAVA的缺点 阅读全文
posted @ 2013-07-11 19:27 zhoususheng 阅读(250) 评论(0) 推荐(0) 编辑
摘要: http://blog.csdn.net/liyuanbhu/article/details/8458769三角函数的计算是个复杂的主题,有计算机之前,人们通常通过查找三角函数表来计算任意角度的三角函数的值。这种表格在人们刚刚产生三角函数的概念的时候就已经有了,它们通常是通过从已知值(比如sin(π/2)=1)开始并重复应用半角和和差公式而生成。现在有了计算机,三角函数表便推出了历史的舞台。但是像我这样的喜欢刨根问底的人,不禁要问计算机又是如何计算三角函数值的呢。最容易想到的办法就是利用级数展开,比如泰勒级数来逼近三角函数,只要项数取得足够多就能以任意的精度来逼近函数值。除了泰勒级数逼近之外, 阅读全文
posted @ 2013-05-28 09:45 zhoususheng 阅读(525) 评论(1) 推荐(0) 编辑