摘要: TestBench的主要目标是:实例化DUT-Design Under Test为DUT产生激励波形产生参考输出,并将DUT的输出与参考输出进行比较提供测试通过或失败的指示TestBench产生激励的三种方式:直接在testbench中产生从矢量中读入从单独的激励文件中读入比较流行的做法是使用matlab产生激励文件,由testbench读入该激励文件并将激励馈送到DUT,DUT产生的相应输出以文件的形式存储,由matlab读取并与理想的响应作比较。下面以一个简单的同步加法器为例,分析不同形式的testbench的写法。1. 简单的TestBench简单的testbench只适合于相对比较简单 阅读全文
posted @ 2013-07-16 13:24 feitian629 阅读(997) 评论(0) 推荐(0) 编辑
摘要: 大多数硬件设计人员对verilog的testbench比较熟悉,那是因为verilog被设计出来的目的就是为了用于测试使用,也正是因为这样verilog的语法规则才被设计得更像C语言,而verilog发展到后来却因为它更接近C语言的语法规则,设计起来更加方便,不像VHDL那也死板严密,所以verilog又渐渐受到硬件设计者们的青睐。但其实VHDL在最开始也是具有测试能力的,而且它的语法严密,但我们同样可以用它来编写我们的测试文件。下面以一个8bit计数器为例子给出个简单的testbench模板及注释:通过编写testbench来仿真和通过拖波形来仿真,最大的好处就是,当测试数据无比庞大时,可以 阅读全文
posted @ 2013-07-16 13:21 feitian629 阅读(1116) 评论(0) 推荐(0) 编辑
摘要: 沉金板VS 镀金板一、沉金板与镀金板的区别1、原理区别FLASH GOLD 采用的是化学沉积的方法!PLANTINGGOLD 采用的是电解的原理!2、外观区别电金会有电金引线,而化金没有。而且若金厚要求不高的话,是采用化金的方法,比如,内存条PCB,它的PAD表面采用的是化金的方法。而TAB(金手指)有使用电金也有使用化金!3、制作工艺区别镀金象其它电镀一样,需要通电,需要整流器.它的工艺有很多种,有含氰化物的,有非氰体系,非氰体系又有柠檬酸型,亚硫酸盐型等.用在PCB 行业的都是非氰体系.化金(化学镀金)不需要通电,是通过溶液内的化学反应把金沉积到板面上.它们各有优缺点,除了通电不通电之外, 阅读全文
posted @ 2013-07-16 13:15 feitian629 阅读(1351) 评论(0) 推荐(0) 编辑
摘要: 1.1 概述 在高速系统中FPGA时序约束不止包括内部时钟约束,还应包括完整的IO时序约束和时序例外约束才能实现PCB板级的时序收敛。因此,FPGA时序约束中IO口时序约束也是一个重点。只有约束正确才能在高速情况下保证FPGA和外部器件通信正确。1.2 FPGA整体概念 由于IO口时序约束分析是针对于电路板整个系统进行时序分析,所以FPGA需要作为一个整体分析,其中包括FPGA的建立时间、保持时间以及传输延时。传统的建立时间、保持时间以及传输延时都是针对寄存器形式的分析。但是针对整个系统FPGA的建立时间保持时间可以简化。 图1.1 FPGA整体时序图 如图1.1所示,为分解的FPGA... 阅读全文
posted @ 2013-07-16 13:09 feitian629 阅读(517) 评论(0) 推荐(0) 编辑
摘要: 何谓静态时序分析(Static Timing Analysis,简称STA)? 它可以简单的定义为:设计者提出一些特定的时序要求(或者说是添加特定的时序约束),套用特定的时序模型,针对特定的电路进行分析。分析的最终结果当然是要求系统时序满足设计者提出的要求。 下面举一个最简单的例子来说明时序分析的基本概念。假设信号需要从输入到输出在FPGA内部经过一些逻辑延时和路径延时。我们的系统要求这个信号在FPGA内部的延时不能超过15ns,而开发工具在执行过程中找到了如图4.1所示的一些可能的布局布线方式。那么,怎样的布局布线能够达到我们的要求呢?仔细分析一番,发现所有路径的延时可能为14ns、14ns 阅读全文
posted @ 2013-07-16 13:04 feitian629 阅读(1018) 评论(0) 推荐(0) 编辑
摘要: 摘要:12个C语言面试题,涉及指针、进程、运算、结构体、函数、内存,看看你能做出几个!1.gets()函数问:请找出下面代码里的问题:#includeintmain(void){charbuff[10];memset(buff,0,sizeof(buff));gets(buff);printf("\nThebufferenteredis[%s]\n",buff);return0;}答:上面代码里的问题在于函数gets()的使用,这个函数从stdin接收一个字符串而不检查它所复制的缓存的容积,这可能会导致缓存溢出。这里推荐使用标准函数fgets()代替。2.strcpy()函 阅读全文
posted @ 2013-07-16 12:48 feitian629 阅读(2211) 评论(0) 推荐(0) 编辑
摘要: LDO稳压器工作原理随着便携式设备(电池供电)在过去十年间的快速增长,像原来的业界标准LM340和LM317这样的稳压器件已经无法满足新的需要。这些稳压器使用NPN达林顿管,在本文中称其为NPN稳压器(NPN regulators)。预期更高性能的稳压器件已经由新型的低压差(Low-dropout)稳压器(LDO)和准LDO稳压器(quasi-LDO)实现了。(原文:Linear Regulators: Theory of Operation and Compensation)NPN稳压器(NPN regulators)在NPN稳压器(图1:NPN稳压器内部结构框图)的内部使用一个PNP管来驱 阅读全文
posted @ 2013-07-16 10:20 feitian629 阅读(1492) 评论(0) 推荐(0) 编辑
摘要: 一、例子我们使用如图1所示的verilog代码所实现的开关电路作为例子。这个电路把DE系列开发板上的前8个开关简单的和对应的8个红色LED相连接。它是这样工作的:在时钟(CLOCK_50)的上升沿读取开关的值,放入对应的寄存器,寄存器的输出与红色LED直接相连接。按照图1代码实现该电路,锁定引脚,编译整个工程等等,这些在这里不再重复累述。二、使用SignalTap II软件在本文的第一部分,我们将建立SignalTap逻辑分析仪来探测8个LED开关的值,同时,我们将设定逻辑分析仪的触发信号为当第一个开关(LED[0])为高电平。1.选择File->New打开逻辑分析仪窗口,该窗口如图2所 阅读全文
posted @ 2013-07-16 10:18 feitian629 阅读(5350) 评论(0) 推荐(0) 编辑
摘要: 这两天做综合后仿真,发现FPGA器件库又不会加了,无奈上网找方法。说起来不好意思,很早就接触Modelsim这个仿真软件了,可是没有好好琢磨。把这两天找的方法贴出来,再加上自己的理解,以后忘了可以上博客翻翻,也适合新手看。(这个办法是quartusII综合完后启动Modelsim仿真综合后的网表,要是quartusII里直接启动Modelsim需不需要加库不清楚,我没试过)-----------------------------------转载分割线-----------------------------------------------------以下内容转载Efronc博客园http 阅读全文
posted @ 2013-07-16 10:15 feitian629 阅读(2307) 评论(0) 推荐(0) 编辑
摘要: 本篇文章为转载,写的不错,最近在学modelsim仿真,网上的教程很乱,把自己认为不错的整理贴出来,后面有机会会写个详细点的。Quartus中调用modelsim的流程1. 设定仿真工具assignmentèsettingèEDA tool settingèsimulation选择你需要的工具。2. 自动产生测试激励文件模板:processingèstartèStart test bench template writer我们点击之后系统会自动在目录:当前文件夹èsimulationèmodelsim (这个文件夹名字跟你选 阅读全文
posted @ 2013-07-16 10:11 feitian629 阅读(488) 评论(0) 推荐(0) 编辑