随笔分类 -  ASIC设计

记录或者转载一些ASIC设计知识,好记性不如烂笔头。
摘要:仿真是IC设计不可或缺的重要步骤,仿真后一般需要记录下波形文件,用于做详细分析和研究。说一下几种波形文件WLF(Wave Log File)、VCD(Value Change Dump)文件,fsdb(Fast Signal DataBase)文件、shm、vpd: 对于WLF波形日志文件,只要我们 阅读全文
posted @ 2016-11-15 10:41 鱼游时光 阅读(5631) 评论(0) 推荐(0)
摘要:首先要说一下同步复位与异步复位的区别。 同步复位是指复位信号在时钟的上升沿或者下降沿才能起作用,而异步复位则是即时生效,与时钟无关。异步复位的好处是速度快。 再来谈一下为什么FPGA设计中要用异步复位同步释放。 复位信号的释放是有讲究的: 我们知道,DFF的D端和clk端之间时序关系是有约束的,这种 阅读全文
posted @ 2016-11-10 15:15 鱼游时光 阅读(1823) 评论(0) 推荐(0)
摘要:前言:阻塞与非阻塞赋值是Verilog语言中最基本的部分,也是让大部分Verilog新手最困惑的地方。关于阻塞与非阻塞的著作文章可谓汗牛充栋,这些文章对阻塞与非阻塞赋值的原理进行了非常详细的讲解,但新手读了之后依然有种似懂非懂的感觉,编码过程中一如既往的犯错。所以,本文的目的立足于提供一种实用化的解 阅读全文
posted @ 2016-11-02 16:56 鱼游时光 阅读(8498) 评论(0) 推荐(1)
摘要:IC系统是什么? 对算法工程师来说,IC系统是完成特定功能的硬件。对架构设计师来说,IC系统包括控制,运算,存储部分。电路设计工程师来说,IC系统是加法器,乘法器,与非门,运算放大器,开关电容等的搭配。对版图工程师来说,它是多边形组成的组合。 一个常见的IC系统包括: 数字部分(可能包括微处理器,控 阅读全文
posted @ 2016-11-01 21:56 鱼游时光 阅读(803) 评论(1) 推荐(0)
摘要:脚本里面有一句:system "rm -fr simv*";rm表示删除,另外两个option代表什么意思呢?通过man rm得知:-f,--force :ignore nonexistent files never prompt。表示忽略不存在的文件并且不提示,有的时候simv*如果不存在的话,将忽略这个option并且不提示。-r,-R,--recursive: remove directories and their contents recursively。表示递归删除目录及其内容(即:删除目录及其子目录中的内容)。如果采用rmdir命令来删除目录的话,如果该目录非 阅读全文
posted @ 2013-09-04 20:59 鱼游时光 阅读(239) 评论(0) 推荐(0)
摘要:1. What is the race condition in verilog?Ans :The situation when two expressions are allowed to execute at same instance of time without mentioning the order of execution.2. List the levels of abstraction in verilog?Ans : 1. Behavioral level 2. Register-Transfer level 3. Gate level 4. Switch levels3 阅读全文
posted @ 2013-08-29 17:38 鱼游时光 阅读(1340) 评论(0) 推荐(0)
摘要:1 //电子表的设计包括正常计时模块,LED显示模块,定时报警模块,校时模块,秒表模块。 2 //(1)正常计时模块clock 3 module clock(clk,rst,clock_en,second,minute,hour); 4 input clk,rst,clock_en; 5 output[5:0]second,minute,hour; 6 reg[5:0]second,minute,hour; 7 always@(posedge clk or negedge rst or posedge clock_en) 8 if(!rst) 9 begin 10 seco... 阅读全文
posted @ 2013-08-27 15:36 鱼游时光 阅读(1732) 评论(0) 推荐(0)
摘要:1.简介sed是非交互式的编辑器。它不会修改文件,除非使用shell重定向来保存结果。默认情况下,所有的输出行都被打印到屏幕上。sed编辑器逐行处理文件(或输入),并将结果发送到屏幕。具体过程如下:首先sed把当前正在处理的行保存在一个临时缓存区中(也称为模式空间),然后处理临时缓冲区中的行,完成后把该行发送到屏幕上。sed每处理完一行就将其从临时缓冲区删除,然后将下一行读入,进行处理和显示。处理完输入文件的最后一行后,sed便结束运行。sed把每一行都存在临时缓冲区中,对这个副本进行编辑,所以不会修改原文件。2.定址定址用于决定对哪些行进行编辑。地址的形式可以是数字、正则表达式、或二者的结合 阅读全文
posted @ 2013-08-20 15:16 鱼游时光 阅读(14183) 评论(2) 推荐(0)
摘要:1.1 什么是DC? DC(Design Compiler)是Synopsys公司的logical synthesis工具,它根据design description和design constraints自动综合出一个优化了的门级电路。它可以接受多种输入格式,如HDL、Schematics、Netlist等,并能生成多种性能 report,在reducing design time的同时提高了设计的性能。1.2 DC能接受多少种输入格式? 支持 .db、.v、.vhd、.edif、.vgh、.lib等,.db一般是厂商的单元库;.v是veilog的后缀;.vhd是VHDL的后缀;.edif 和 阅读全文
posted @ 2013-08-15 10:48 鱼游时光 阅读(4064) 评论(0) 推荐(1)
摘要:环境配置首先搭建好vcs和Verdi都能工作的环境,主要有license问题,环境变量的设置。在220实验室的服务器上所有软件的运行环境都是csh。所以,所写的脚本也都是csh的语法。生成波形文件Testbench的编写若想用Verdi观察波形,需要在仿真时生成fsdb文件,而fsdb在vcs或者modelsim中的生成是通过两个系统调用$fsdbDumpfile $fsdbDumpvars来实现的。而这两个系统调用并不是Verilog中规定的,是Verdi以pli(Programming Language Interface)的方式实现的。这就需要让vcs编译时能找到相应的库。首先在test 阅读全文
posted @ 2013-08-13 16:49 鱼游时光 阅读(3467) 评论(0) 推荐(0)
摘要:从D触发器的角度说明建立和保持时间上图是用与非门实现的D触发器的逻辑结构图,CP是时钟信号输入端,S和R分别是置位和清零信号,低有效; D是信号输入端,Q信号输出端;这里先说一下D触发器实现的原理:(假设S和R信号均为高,不进行置位和清零操作)CP=0时: G3和G4关闭,Q3和Q4输出为’1’。那么G5和G6打开,Q5=D,Q6=/D。Q5,Q6 的信号随输入信号D的改变而变化; G1和G2构成一个SR锁存器,我们知道,当 SR锁存器的S、R的输入均为高的时候,锁存器的输出保持不变,所以Q和/Q保 持不变.CP从0跳变为1时: G3和G4打开,Q3=Q6=/D,Q4=Q5=D。由SR锁... 阅读全文
posted @ 2013-08-10 14:56 鱼游时光 阅读(806) 评论(0) 推荐(0)
摘要:数字设计中,时序是最基本,也是最重要的概念。基本概念我们所说的数字设计多数时候都是指的同步逻辑。所谓同步逻辑,是说所有的时序逻辑都在时钟信号的控制下完成。这很像是大合唱,有很多的人参与,大家都根据同一个节拍来控制节奏,保持整齐。时钟信号就是那个节拍。其实很多地方都需要有一个节拍来协调系统的各个部分。比如工厂里的一条流水线。流水线的每个工人从前一个人那里拿到中间产品,装配一个零件,然后交给下一个人;每一个人面前的空间只有放置一个中间产品的空间。装配一个零件并把中间产品交到下一个那里是需要时间的。如果这个时间太短,就会发生下一个人手中的零件还没装配好,新的中间产品又来了,却没处放的问题。如果这个时 阅读全文
posted @ 2013-08-09 16:01 鱼游时光 阅读(1353) 评论(0) 推荐(0)