电路仿真

FPGA整理资料

匿名 (未验证) 提交于 2019-12-03 00:40:02
1.寄存器与锁存器 锁存器:电平触发的存储单元,在有效电平时间里可以多次改变数据。 去毛刺的方法 :格雷码计数器(*https://blog.csdn.net/qp314/article/details/5147695*)代替二进制码计数器,或者用D触发器同步。) 时序逻辑结构 latch:锁存器,是由电平触发,结构图如下: 组合逻辑结构 2.FPGA实现的verilog编码流程 :文本编辑→功能仿真→逻辑综合→布局布线→时序仿真 3 .对于同步接口的设计 ,同步输入信号需要约束――input delay――――,同步输出信号需要约束――output delay――分别关联到同步时钟上 4. 逻辑设计中的同步电路有源同步,系统同步,自同步 三种,传统并行接口采用的是源同步或者系统同步的方法来实现的,serdes接口―SerDes(Serializer-Deserializer)是串行器和解串器的简称http://blog.sina.com.cn/s/blog_aec06aac01013m5g.html―均衡和数据时钟相位检测――GMII接口(是8bit并行同步收发接口,采用 8λ 接口数据,工作时钟125MHz,因此传输速率可达 1000Mbps 。同时 兼容MII 所规定的10/100 Mbps工作方式。) 5 .关于FPGA的仿真: 主要有功能仿真,门级仿真和时序仿真

ModelSim-Altera版本仿真流程

青春壹個敷衍的年華 提交于 2019-12-02 07:45:25
ModelSim-Altera版本仿真流程 1、建立ModelSim-Altera工作环境 1.1版本说明 ModelSim-Altera(OEM)version 6.4a QuartusII version 9.0 该ModelSim版本支持所有QuartusII支持的Altera器件。 1.2要自动从Quartus II运行EDA设计输入、综合、仿真或者时序分析工具,您必须指定第三方EDA工具的可执行文件位置,通过单击Tools菜单上的Options供然后点击EDA Tool Options选项。 2、用ModelSim-Altera建立工程 2.1 如果要执行时序仿真,需要产生Verilog(.vo)或者VHDL(.vho)输出文件。 a. 选择EDA Tool Settings b. 用QuartusII编译设计文件 注:如果已经编译过设计, 要重新产生.vo、.vho和.sdo(标准延迟输出文件)的话,只需要运行Start EDA Netlist Writter即可。 同时也可以用于产生.vcd文件。 如果要执行功耗估算,确保在Simulator Settings下的Settings对话框选择合适的参数。 2.2 启动Modelsim软件,选择工程目录:File—>Change Directory. 注:如果要执行功能仿真,工程目录就是包含设计文件的目录;

二选一数据选择器的设计

♀尐吖头ヾ 提交于 2019-11-29 12:26:43
写在前面的话 数据选择器在数字电路设计中的应用尤为广泛。同时,作为基础的电路功能单元,也比较适合作为初学者的入门实验。现在梦翼师兄陪大家一起来设计一个最基础的数据选择器。 项目需求 设计一个二选一数据选择器,然后用一路控制信号选择输出数据选通哪一路输入的数据信号。 系统架构 模块功能介绍 模块名 功能描述 mux2 通过Data_sel 选择输出结果的值 顶层模块端口描述 端口名 端口说明 Data_a A通道数据输入 Data_b B通道数据输入 Data_out 数据输出端 Data_sel 数据选通控制 代码解释 mux2代码解释 /**************************************************** * Engineer : 梦翼师兄 * QQ : 761664056 * The module function:二选一多路器 *****************************************************/ 00 module mux2 ( 01 data_a , //A通道数据输入 02 data_b , //B通道数据输入 03 data_sel , //输出数据选通信号 04 data_out //数据输出 05 ); 06 //系统输入 07 input data_a ; //A通道数据输入 08

Mentor工具简介

南笙酒味 提交于 2019-11-28 02:37:22
http://hi.baidu.com/hieda/blog/item/c1dc23ee505a25f8b2fb95e3.html Calibre物理验证系列 〓 Calibre DRC   作为工作在展平模式下的设计规则检查(DRC)工具,Calibre DRC先展平输入数据库,然后对展平的几何结果进行操作。 〓 Calibre DRC-H   作为Calibre DRC的选项,Calibre DRC-H确保层次化的DRC成为可能,层次化设计规则检查维持数据库的层次化结构,并且充分利用设计数据的层次化关系减少数据处理时间、内存使用和DRC检查结果数量。对于确定类型的芯片而言,DRC-H要比在展平模式下的Calibre快几个数量级。层次化处理对于0.35μm或以下工艺,规模达到或者超过百万晶体管的芯片设计优势更加明显。Calibre DRC-H通常可以和设计规则检查(DRC)以及光学工艺校正(OPC)配合使用。 〓 Calibre LVS   作为Mentor Graphics公司工作在展平模式下的版图与原理图对照(LVS)工具,Calibre LVS先展平输入数据库,然后对展平的几何结果进行操作。 〓 Calibre LVS-H   作为Calibre LVS的选项,Calibre LVS-H确保层次化的LVS成为可能,层次化版图与原理图对照维持数据库的层次化结构

RTL编码风格所造成的仿真和综合的不匹配

帅比萌擦擦* 提交于 2019-11-28 02:36:31
http://www.cnblogs.com/lunix/archive/2010/12/31/rtl_coding_styles_that_yield_simulation_and_synthesis_mismatches.html 1.0 简介 ASIC 或者 FPGA 设计就是把一个想法或者概念转换成物理实现的过程。这篇文章讨论了 HDL 编码风格所造成的 RTLGate-level 仿真的不一致的几种情况。 它的一个基本的判定规则是,符合以下两种情况的编码风格是坏的编码风格。 提供给 HDL 仿真器的关于设计的信息不能传送给综合工具 综合开关提供给综合工具的信息在仿真器中不可得 如果上犯了上两条禁忌,就会造成综合前的 RTL 仿真和综合后的门级仿真不匹配的问题。这些问题很难发现,因为由于门的数量的增多,完备测试是不可能的,而且如果不注意会最终导致 ASIC 生产的失败。 解决方法就是了解什么样的编码风格或者综合选项会导致 RTL 到门级的仿真不一致,并避免这些问题。 2.0 敏感列表 当一个 always 块中并不包含 Verilog 的关键字 posedge 或者 negedge 的时候综合工具会把它综合成组合或者锁存器逻辑。对于一个组合逻辑 always 块,逻辑直接从块中的等式中推导出, * 而与敏感列表没有关系 * 。综合工具读取敏感列表,并把它与 always

一位前辈的工作经验

时光怂恿深爱的人放手 提交于 2019-11-28 02:36:02
http://www.cnblogs.com/jianyungsun/archive/2010/12/07/1899533.html 在公司里的几个月,做的项目其实不多,但是收获还是有一些,我觉得收获最大的是 设计 理念的改变,这也是我这段 时间 最想总结的,我会在后面逐渐阐述。 如对此文有疑问或想给作者提 建议 请给作者发email: wangdian@tom.com 1/时序是设计出来的 我的boss有在华为及峻龙工作的背景,自然就给我们讲了一些华为及altera做逻辑的一些东西,而我们的项目规范,也基本上是按华为的那一套去做。在工作这几个月中,给我感触最深的是华为的那句话:时序是设计出来的,不是仿出来的,更不是湊出来的。 在我们公司,每一个项目都有很严格的评审,只有评审通过了,才能做下一步的工作。以做逻辑为例,并不是一上来就开始写代码,而是要先写总体设计方案和逻辑详细设计方案,要等这些方案评审通过,认为可行了,才能进行编码,一般来说这部分工作所占的时间要远大于编码的时间。 总体方案主要是涉及模块划分,一级模块和二级模块的接口信号和时序(我们要求把接口信号的时序波形描述出来)以及将来如何测试设计。在这一级方案中,要保证在今后的设计中时序要收敛到一级模块(最后是在二级模块中)。什么意思呢?我们在做详细设计的时候,对于一些信号的时序肯定会做一些调整的

后仿真能否被形式验证(Formal Verification)和静态时序分析(Static Timing Analysis)所取代...

无人久伴 提交于 2019-11-28 02:36:02
http://www.cnblogs.com/jyaray/archive/2011/04/26/2029856.html    验证的主要目的:就是检查时间模型是否满足时间要求,是否实现了时间所需的功能。对于集成电路来说,具体就是在时间需求规定的激励下,电路是否产生了符合功能要求的输出;以及在设计需求规定的条件下,电路是否完成正常的功能。 以RTL级设计为仿真对象的 前仿真 ,主要是验证电路的逻辑功能,信号的跳变是瞬时完成的,因此只能在功能上证明设计的正确性,而无法证明在实际电路中逻辑功能仍然正确。 门级仿真 是对RTL代码综合并布局布线后生成的门级网表进行时序仿真,是引入了逻辑延时时间的仿真。在后仿真阶段,仿真的过程中引入了线上和门级的延时,重点是验证在引入了实际时延之后系统功能是否正确,以避免因时延问题而导致系统时序功能的错误。 我们知道,当RTL级功能仿真或FPGA验证结束之后,传统的IC设计流程需要完成以下几次门级仿真:综合之后的门级仿真、DFT之后的门级仿真、布局布线之后的门级仿真等。如果设计很大或者电路很复杂,往往需要庞大的测试向量来验证设计的功能及时序是否正确,这就使得我们花费在门级仿真的时间会随着电路规模的增大而直线上升。 那么,可不可以用形式验证(Formal Verification)和静态时序分析(Static Timing Analysis

组合逻辑always信号敏感列表对电路的影响

。_饼干妹妹 提交于 2019-11-27 12:13:01
在verilog编写组合逻辑电路的时候会遇到敏感列表的信号应该包含哪些的问题,因此做如下仿真来验证信号敏感列表对电路的影响。在两个仿真例中通过设定不同的信号敏感列表来对比综合出来的仿真结果从而验证 信号敏感列表不影响最终的电路 信号敏感列表不完整 module mod_test( rd, rst, outdata ); input rd; input rst; output reg outdata; always@(rst) if(!rst) outdata = 1'b0; else outdata = rd; endmodule RTL视图 前仿真 后仿真 信号敏感列表完整 module mod_test( rd, rst, outdata ); input rd; input rst; output reg outdata; always@(rst or rd) if(!rst) outdata = 1'b0; else outdata = rd; endmodule RTL视图 前仿真 后仿真 结论 always信号敏感列表是否完整对综合出来的RTL视图、门级仿真、最终电路没有影响,但是会影响行为级仿真,不在敏感信号列表里面的信号无法触发和该信号相关的仿真进程,也就得不到正确的仿真结果。在verilog_IEEE官方标准手册-2005_IEEE_P1364手册有如下表述。

protel99se简明实用手册

本小妞迷上赌 提交于 2019-11-27 11:21:40
Protel 99SE 简明使用手册 Protel 99SE内容简介 Protel 99SE采用数据库的管理方式。Protel 99SE软件沿袭了Protel以前版本方便易学的特点,内部界面与Protel 99大体相同,新增加了一些功能模块,功能更加强大。新增的层堆栈管理功能,可以设计32个信号层,16个地电层,16个机械层。新增的3D功能让您在加工印制版之前可以看到板的三维效果。增强的打印功能,使您可以轻松修改打印设置控制打印结果。Protel 99SE容易使用的特性还体现在“这是什么”帮助,按下右上角的小问号,然后输入你所要的信息,可以很快地看到特性的功能,然后用到设计中,按下状态栏末端的按钮,使用自然语言帮助顾问。 第一章 Protel 99SE的安装 Protel 99SE 设计平台软硬件配置要求: 1 硬件配置 最低: CPU-Pentium II 233MHZ 内存-32M 硬盘-300M 显示器-15〃 显示分辩率-1024′768 建议配置:CPU-Pentium II 300 以上 内存-128M 硬盘-6G以上 显示器-17〃以上 显示分辩率-1280′1024 2 操作系统 Microsoft Windows NT 4.0 或以上版本(含中文版)。 Microsoft Windows 98/95 或以上版本(含中文版)。 Protel