随笔分类 -  Experience

摘要:Introduction 问题1:什么是DRAM、SRAM、SDRAM? 答:名词解释如下 DRAM--------动态随即存取器,需要不断的刷新,才能保存数据,而且是行列地址复用的,许多都有页模式 SRAM--------静态的随机存储器,加电情况下,不需要刷新,数据不会丢失,而且一般不是行列地址复用的 SDRAM-------同步的DRAM,即数据的读写需要时钟来同步 问题2:为什么DRAM要刷新,SRAM则不需要? 答:这是由RAM的设计类型决定的,DRAM用了一个T和一个RC电路,导致电容会漏电和缓慢放电,所以需要经常刷新来保存数据问题3:我们通... 阅读全文
posted @ 2012-06-15 14:51 poiu_elab 阅读(867) 评论(0) 推荐(0)
摘要:programmable language interface这里就说给verilog用的一些系统函数,还是无双大大的帖子首先介绍了怎么让你自己写的pli系统函数在ncverilog里面可以成功调用。http://www.cnblogs.com/oomusou/archive/2009/03/25/verilog_hello_world.html接着,一个不是特别麻烦的例子说明了c和verilog怎么互相传递参数变量http://www.cnblogs.com/oomusou/archive/2009/03/30/verilog_pli_show_value.html 阅读全文
posted @ 2012-06-07 22:46 poiu_elab 阅读(558) 评论(0) 推荐(0)
摘要:原理如下图(为了方便简洁,去掉了rst_n)波形是这样的代码就是根据电路图写的 1 /////////////////////////////////////////////////////////////////////////////////////////// 2 // DATE : Wed Jun 6 23:31:57 CST 2012 3 /////////////////////////////////////////////////////////////////////////////////////////// 4 module clk_sw( 5 in... 阅读全文
posted @ 2012-06-07 22:43 poiu_elab 阅读(5294) 评论(1) 推荐(0)
摘要:这个就是原理图,奉上代码 1 ///////////////////////////////////////////////////////////////////////////// 2 // DATE : Wed Jun 6 22:58:17 CST 2012 3 ///////////////////////////////////////////////////////////////////////////// 4 module clk_mul( 5 input wire clk 6 , input wire ... 阅读全文
posted @ 2012-06-07 14:32 poiu_elab 阅读(16299) 评论(0) 推荐(0)
摘要:(太专业了没懂以备后用吧)对上拉电阻和下拉电阻的选择应结合开关管特性和下级电路的输入特性进行设定,主要需要考虑以下几个因素:1. 驱动能力与功耗的平衡。以上拉电阻为例,一般地说,上拉电阻越小,驱动能力越强,但功耗越大,设计是应注意两者之间的均衡。2. 下级电路的驱动需求。同样以上拉电阻为例,当输出高电平时,开关管断开,上拉电阻应适当选择以能够向下级电路提供足够的电流。3. 高低电平的设定。不同电路的高低电平的门槛电平会有不同,电阻应适当设定以确保能输出正确的电平。以上拉电阻为例,当输出低电平时,开关管导通,上拉电阻和开关管导通电阻分压值应确保在零电平门槛之下。4. 频率特性。以上拉电阻为例,上 阅读全文
posted @ 2012-06-06 11:40 poiu_elab 阅读(932) 评论(0) 推荐(0)
摘要:从foundry厂得到圆片进行减薄、中测打点后,即可进入后道封装。封装对集成电路起着机械支撑和机械保护、传输信号和分配电源、散热、环境保护等作用。 芯片的封装技术已经历了好几代的变迁,从DIP、QFP、PGA、BGA到CSP再到MCM,技术指标一代比一代先进,包括芯片面积与封装面积之比越来越接近于1,适用频率越来越高,耐温性能越来越好,引脚数增多,引脚间距减小,重量减小,可靠性提高,使用更加方便等等。 近年来电子产品朝轻、薄、短、小及高功能发展,封装市场也随信息及通讯产品朝高频化、高I/O 数及小型化的趋势演进。 由1980 年代以前的通孔插装(PTH)型态,主流产品为DIP(Dual In. 阅读全文
posted @ 2012-06-06 11:29 poiu_elab 阅读(2792) 评论(0) 推荐(0)
摘要:集成芯片(IC)的三个温度等级(商业级、工业级和军品级):商业级集成芯片(IC)的温度定额为0℃~70℃;工业级集成芯片(IC)的温度定额为-40℃~85℃;军品级集成芯片(IC)的温度定额为-55℃~125℃。 阅读全文
posted @ 2012-06-06 11:24 poiu_elab 阅读(16652) 评论(0) 推荐(0)
摘要:现在常用的电平标准有TTL、CMOS、LVTTL、LVCMOS、ECL、PECL、LVPECL、RS232、RS485等,还有一些速度比较高的 LVDS、GTL、PGTL、CML、HSTL、SSTL等。下面简单介绍一下各自的供电电源、电平标准以及使用注意事项。一、 TTL:Transistor-Transistor Logic 三极管结构。Vcc:5V;VOH>=2.4V;VOL<=0.5V;VIH>=2V;VIL<=0.8V。因为2.4V与5V之间还有很大空闲,对改善噪声容限并没什么好处,又会白白增大系统功耗,还会影响速度。所以后来就把一部分“砍”掉了。也就是后面的L 阅读全文
posted @ 2012-06-06 11:22 poiu_elab 阅读(568) 评论(0) 推荐(0)
摘要:1. $skew是Verilog所提供的專門用來做timing check的system task,可以檢查兩個信號間最大的延遲,若兩個信號間的skew大於我們所指定的需求,將產生violation warning。比如下面的这个例子,表示從posedge wire_a到posedge wire_b間的skew limit為4 ns,若skew大於4 ns,將產生timing violation warning。此外,Verilog規定timing check類的system task,一定要放在specify block內。1 specify2 $skew(posedge wire_a,.. 阅读全文
posted @ 2012-06-05 11:05 poiu_elab 阅读(1144) 评论(0) 推荐(0)
摘要:转自无双大大的博客http://www.cnblogs.com/oomusou/archive/2010/08/04/timing_slack.htmlhttp://www.cnblogs.com/oomusou/archive/2010/08/04/fmax.htmlhttp://www.cnblogs.com/oomusou/archive/2009/10/31/verilog_signed_overflow.html不转过来实在对不起大大第一篇 非常详尽的阐述了什么是setup time 和 hold time 以及 time slack 是什么东东第二篇 给出了计算Fmax的公式第三篇 阅读全文
posted @ 2012-06-04 22:54 poiu_elab 阅读(715) 评论(0) 推荐(0)
摘要:比如你是一个开发人员你写好了一个module_A,之后同时竞争对手也是朋友的公司B写好了一个module_B想把你的module_A加进来连仿FPGA验证但是你担心自己的知识产权问题,所以你不想给rtl,但是连仿确实很有吸引力,你该怎么做呢,好来看看ISE怎么帮你Step 1:建立ISE工程,source选择HDL,选择FPGA类型Step 2:在建立好的工程中加入rtl代码Step 3:更改ISE设定,选择Synthesize-XST的Process properties,在选项里面把IO buffers和bufg都设置成不要加入Step 4:Synthesize生成netlist,就是ng 阅读全文
posted @ 2012-05-26 00:04 poiu_elab 阅读(425) 评论(0) 推荐(0)
摘要:从上次的经验教训,对同步reset和异步reset基本有了一个比较清醒的认识,这次正好在eetop上面看到了一个讨论的帖子,这里再说一下这个东西到底是怎么弄的,一般的工业界的硬件的reset是不会真的接给内部模块的rst_n的,而是同步过之后再给内部的模块,这样的话基本就不会有上次提到的removal_time的约束了,所以呢,这里介绍一下通用的电路结构是什么样的。如图这个电路的仿真结果(发出的rst_n_async是用$random函数生成的不规律信号)可以看到这个电路输出的rst_n_sync还是比较令人满意的,代码很简单,如下module rst_n_proc( input w... 阅读全文
posted @ 2012-05-25 20:47 poiu_elab 阅读(1166) 评论(0) 推荐(0)
摘要:关于一般的门控时钟结构,首先来看看为什么要有门控时钟Clock tree consume more than 50 % of dynamic power. The components of this power are:1) Power consumed by combinatorial logic whose values are changing on each clock edge 2) Power consumed by flip-flops and 3) The power consumed by the clock buffer tree in the design.通常用的门控 阅读全文
posted @ 2012-05-25 19:00 poiu_elab 阅读(15634) 评论(0) 推荐(0)
摘要:基本无所事事已经两周了这两周除了把之前一直没写完的I2C完成了之外,别的东西还是学到了不少的基本意识到了服务器上linux版本与机器32bit/64bit的差别能换用64bit的软件基本都换成了64bit的软件截止今天大部分的synopsys cadence mentor 前端能用到的工具都用了个遍 包括环境变量的设置什么的 自己都弄过了一遍 其中涉及的软件基本有下面几个cadence 的ldv就是IUS就是nc-sim,换成了64bit的,synopsys的dc搞了个自己的环境,本来弄了个32bit的,之后换搞了一个64bit的,vcs环境也搞好了,之前也是搞了一个32bit的,之后换成了一 阅读全文
posted @ 2012-05-23 23:50 poiu_elab 阅读(979) 评论(0) 推荐(0)
摘要:转自OO无双大大的博客 顿首(本文生动形象的讲述了在ieee订立的verilog标准里面blocking/non-blocking 与各种系统函数的执行顺序,读后会对每个数字设计的略糊涂人员有种醍醐灌顶之感,请进)我用的环境还是NC+Debussy主要说的是blocking/non-blocking 和各种仿真时会用到的一些函数和#0的执行时刻module nb_schedule1; reg a, b; integer fp; initial begin fp = $fopen("log.txt","w"); a = 0; b = 0; #1; a... 阅读全文
posted @ 2012-05-15 10:35 poiu_elab 阅读(496) 评论(0) 推荐(0)
摘要:#define N1 (1 << n)1.向第n bit内写入1(寄存器可读) register_0 |= N1;2.向第n bit内写入0(寄存器可读) register_0 &= ~N1;3.将第n bit翻转(0变1, 1变0)(寄存器可读) register_0 ^= N1;4.判断第n bit是否为1(寄存器可读) if(register_0 &N1)5.判断第n bit是否为0(寄存器可读) if( !(register_0 & N1) )对于寄存器赋值的时候常用这种方法,好处不一而足,而对于配置寄存器来说,把所有有意义的bit都define出来 阅读全文
posted @ 2012-05-11 14:03 poiu_elab 阅读(377) 评论(0) 推荐(0)
摘要:有源和无源在电子学上,通常将含有晶体管元件的电路称作“有源电路”(如有源音箱、有源滤波器等),而仅由阻容元件组成的电路称作“无源电路”。不依靠外加电源(直流或交流)的存在就能独立表现出其外特性的器件就是无源器件。之外就是有源器件。所谓“外特性”就是描述器件的某种关系量,尽管是使用了电压或电流,电场或磁场压力或速度等等量来描述其关系。无源器件的外特性却与他们是否作为策动源而存在没有关系。有源晶振和无源晶振的简单介绍无源晶振无源晶振为crystal(晶体),无源晶振是有2个引脚的无极性元件,需要借助于时钟电路才能产生振荡信号,自身无法振荡起来,所以“无源晶振”这个说法并不准确。无源晶振没有电压的问 阅读全文
posted @ 2012-05-08 23:29 poiu_elab 阅读(1253) 评论(0) 推荐(0)
摘要:今天不知怎么的,正好提到了这个问题所以再说一下。一般的外部reset,对于内部的模块来说,是需要处理过再接入的,所以一般的情况就是,用几个寄存器给rst_n打上几拍,去掉不稳定的状态和短于一个clock的noise,再用个majority的逻辑去一下毛刺,注意这几个处理rst_n的寄存器是不要reset的,之后处理完毕的rst_n和clk就可以配套的接给模块内部的所有寄存器使用了。 阅读全文
posted @ 2012-05-08 23:19 poiu_elab 阅读(315) 评论(0) 推荐(0)
摘要:Question:Theexamplebelowmodelsaflip-flopwithasynchronousset/resetlogic(activelow).Themodelsynthesizescorrectly,butthereisacornercasewheresimulationresultsareincorrect. Whatisthecornercase?always_ff @( posedge clk or negedge rst_n or negedge set_n) begin if(!rst_n) q_out <= '0; else if(!set_n) 阅读全文
posted @ 2012-05-08 23:02 poiu_elab 阅读(488) 评论(0) 推荐(0)
摘要:转自coolshell.cn下面是我给这位朋友的一些建议:鼓励并为你叫好。我鼓励你想要去学C语言的想法和精神,很多人都觉得C语言好学,其实并不然。(你可以看看《C语言的迷题》)现在的这个社会更多地去关注那些时髦的技术,而忽略了这个流行了40+年的C语言。一门技术如果能够流行40多年,这才是你需要去关注和学习的技术,而不是那些刚出来的技术(过度炒作的技术,Windows编程史)。这才是踏踏实实的精神。不要找借口。这一条路走下来并不容易,不要给自己找借口。我最不喜欢听到的就是“很忙,没有时间” 这样的借口。我以前在银行做项目,早9点到晚10点,周一到周六,我一样可以每天抽1个小时来看书和专研,一年 阅读全文
posted @ 2012-05-08 21:45 poiu_elab 阅读(1733) 评论(0) 推荐(1)