摘要: 转自:ModelSim中Altera仿真库的添加最近,做一个IP核的调试,但是里面调用了Altera的syncram,这样ModelSim就不能直接进行仿真,而QuartusII又不支持Tesbbench的仿真,所以为了在ModelSim中仿真就必须将Altera的这些仿真库添加到ModelSim中。通常,在ModelSim中进行仿真需要加入Quartus提供的仿真库,原因是下面三个方面: ·Quartus不支持Testbench; ·调用了megafunction或者lpm库之类的Altera的函数; ·时序仿真要在Modelsim下做仿真。 下面以Altera 阅读全文
posted @ 2012-04-13 22:03 inet2012 阅读(534) 评论(0) 推荐(0) 编辑
摘要: 吸电流、拉电流输出、灌电流输出拉即泄,主动输出电流,从输出口输出电流;灌即充,被动输入电流,从输出端口流入;吸则是主动吸入电流,从输入端口流入。 吸电流和灌电流就是从芯片外电路通过引脚流入芯片内的电流;区别在于吸收电流是主动的,从芯片输入端流入的叫吸收电流。灌入电流是被动的,从输出端流入的叫灌入电流;拉电流是数字电路输出高电平给负载提供的输出电流,灌电流时输出低电平是外部给数字电路的输入电流。这些实际就是输入、输出电流能力。 拉电流输出对于反向器只能输出零点几毫安的电流,用这种方法想驱动二极管发光是不合理的(因发光二极管正常工作电流为5~10mA)。上、下拉电阻一、定义1、上拉就是将不确定的信 阅读全文
posted @ 2012-03-21 20:36 inet2012 阅读(1255) 评论(0) 推荐(0) 编辑
摘要: 1. 背景 静态时序分析的前提就是设计者先提出要求,然后时序分析工具才会根据特定的时序模型进行分析,给出正确是时序报告。 进行静态时序分析,主要目的就是为了提高系统工作主频以及增加系统的稳定性。对很多数字电路设计来说,提高工作频率非常重要,因为高工作频率意味着高处理能力。通过附加约束可以控制逻辑的综合、映射、布局和布线,以减小逻辑和布线延时,从而提高工作频率。2. 理论分析 2.1固定参数launch edge、latch edge、Tsu、Th、Tco概念2.1.1 launch edge 时序分析起点(launch edge):第一级寄存器数据变化的时钟边沿,也是静态时序分析的起点。2.. 阅读全文
posted @ 2012-03-07 20:14 inet2012 阅读(8283) 评论(5) 推荐(5) 编辑
摘要: 先说说时序图的规则: 时序图从上到下看、从左到右看。注意事项:1、注意时间轴,如果没有标明(其实大部分也都是不标明的),那么从左往右的方向为时间正向轴,即时间在增长。2、看懂时序图的一些常识: (1)时序图最左边一般是某一根引脚的标识,表示此行图线体现该引脚的变化,如RS、R/W、E、DB0~DB7四类引脚的时序变化。 (2)有线交叉状的部分,表示电平在变化。 (3)两条平行线分别对应高低电平。 (4)密封的菱形部分(注意一定注意要密封),表示数据有效,Valid Data这个词也显示了这点。3、需要十分严重注意的是,时序图里各个引脚的电平变化,基于的时间轴是一致的。一定要严格按照... 阅读全文
posted @ 2012-03-07 15:03 inet2012 阅读(7812) 评论(0) 推荐(1) 编辑
摘要: 关于FPGA内部双口RAM的时序总结:1)存储时,双口ram的存储是在写时钟的上升沿到来时完成的,因此要在写时钟的上升沿到来时,数据跟写地址都已经是个稳定的状态,这样才能保证数据的正确存储。2)读数据时,双口ram的读取实在读时钟的上升沿到来时完成的,因此要在读时钟的上升沿到来时,读地址已经处于稳定的状态,这样才能保证读到的数是相应地址内的数据,数据在读时钟的上升沿到来后输出。3)对于双口ram的数据输出,对于一个地址上的数据会在读下一个地址的数据时才输出到数据线上,相当于数据的真正输出延时读时钟一个时钟。4)读地址模块的使能应延时输出使能一个时钟周期,使得第一个地址0可以保持被时钟上升沿采集 阅读全文
posted @ 2012-02-27 19:39 inet2012 阅读(8057) 评论(1) 推荐(0) 编辑
摘要: MIPS指令特点: 1、所有指令都是32位编码; 2、有些指令有26位供目标地址编码;有些则只有16位。因此要想加载任何一个32位值,就得用两个加载指令。16位的目标地址意味着,指令的跳转或子函数的位置必须在64K以内(上下32K); 3、所有的动作原理上要求必须在1个时钟周期内完成,一个动作一个阶段; 4、有32个通用寄存器,每个寄存器32位(对32位机)或64位(对64位机); 5、本身没有任何帮助运算判断的标志寄存器,要实现相应的功能时,是通过测试两个寄存器是否相等来完成的; 6、所有的运算都是基于32位的,没有对字节和对半字的运算(MIPS里,字定义为32位,半字定义为16位); 7、 阅读全文
posted @ 2012-02-23 14:08 inet2012 阅读(7198) 评论(1) 推荐(3) 编辑
摘要: 计算机内部的8位二进制数码,可以以不同的形式,代表各种数字...――――――――――――――――――――――――――――――――――――――――――― 二进制数码 | 无符号数 原码 反码 补码 移码―――――――――――+――――――――――――――――――――――――――――――― 0000 0000 | 0 +0 +0 0 -128 0000 0001 | 1 +1 +1 +1 -127 0000 0010 | 2 +2 +2 +2 -126 …… …… | …… ... 阅读全文
posted @ 2012-02-21 15:15 inet2012 阅读(520) 评论(0) 推荐(0) 编辑
摘要: rt,什么是向量部分选择呢?verilog-2001 LRM中有这么一句话:对于a[8*i+:8],this is the so-called "Indexed vector part selects" 。在Verilog-1995中,可以选择向量的任一位输出,也可以选择向量的连续几位输出,不过此时连续几位的始末数值的index需要是常量。vect[msb_expr : lsb_expr]; //其中msb_expr和lsb_expr必须是常量表达式。而在Verilog-2001中,可以用变量作为index,进行part select。[base_expr +: width 阅读全文
posted @ 2012-02-20 10:57 inet2012 阅读(378) 评论(0) 推荐(0) 编辑