摘要: 1.简介sed是非交互式的编辑器。它不会修改文件,除非使用shell重定向来保存结果。默认情况下,所有的输出行都被打印到屏幕上。sed编辑器逐行处理文件(或输入),并将结果发送到屏幕。具体过程如下:首先sed把当前正在处理的行保存在一个临时缓存区中(也称为模式空间),然后处理临时缓冲区中的行,完成后把该行发送到屏幕上。sed每处理完一行就将其从临时缓冲区删除,然后将下一行读入,进行处理和显示。处理完输入文件的最后一行后,sed便结束运行。sed把每一行都存在临时缓冲区中,对这个副本进行编辑,所以不会修改原文件。2.定址定址用于决定对哪些行进行编辑。地址的形式可以是数字、正则表达式、或二者的结合 阅读全文
posted @ 2013-08-20 15:16 鱼游时光 阅读(14175) 评论(2) 推荐(0)
摘要: 分辨率在视频会议中和电视系统中提到的图像分辨率、显示设备的分辨率,经常不知道怎么才能说清楚、搞明白;再加上视频会议中的经常提到的CIF格式,电视系统中提到的清晰度、电视扫描线,计算机显示设备提到VGA、XGA等分辨率,直到现在风靡各种媒体报端的720p、1080i和1080p的高清电视,这些五花八门的分辨率都是怎么形成的?本文就做一个全方位的阐述。1图像分辨率数码图像有两大类,一类是矢量图,也叫向量图;另一类是点阵图,也叫位图。矢量图比较简单,它是由大量数学方程式创建的,其图形是由线条和填充颜色的块面构成的,而不是由像素组成的,对这种图形进行放大和缩小,不会引起图形失真。点阵图很复杂,是通过摄 阅读全文
posted @ 2013-08-20 11:24 鱼游时光 阅读(1150) 评论(0) 推荐(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 鱼游时光 阅读(4022) 评论(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 鱼游时光 阅读(3444) 评论(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 鱼游时光 阅读(794) 评论(0) 推荐(0)
摘要: 数字设计中,时序是最基本,也是最重要的概念。基本概念我们所说的数字设计多数时候都是指的同步逻辑。所谓同步逻辑,是说所有的时序逻辑都在时钟信号的控制下完成。这很像是大合唱,有很多的人参与,大家都根据同一个节拍来控制节奏,保持整齐。时钟信号就是那个节拍。其实很多地方都需要有一个节拍来协调系统的各个部分。比如工厂里的一条流水线。流水线的每个工人从前一个人那里拿到中间产品,装配一个零件,然后交给下一个人;每一个人面前的空间只有放置一个中间产品的空间。装配一个零件并把中间产品交到下一个那里是需要时间的。如果这个时间太短,就会发生下一个人手中的零件还没装配好,新的中间产品又来了,却没处放的问题。如果这个时 阅读全文
posted @ 2013-08-09 16:01 鱼游时光 阅读(1338) 评论(0) 推荐(0)
摘要: getch.lib是synopsy公司开发的与工艺无关的工艺库。在dc时dc首先将RTL代码转换为通用的布尔表达式,就是getch格式,这个是与工艺无关的,在执行compile命令以后DC按设计约束使用目标库的逻辑单元映射成门级网表。 阅读全文
posted @ 2013-08-05 09:47 鱼游时光 阅读(440) 评论(0) 推荐(0)
摘要: 一般都采用异步复位,同步释放的方法。之前一直想不通,为什么同步释放就可以避免亚稳态,后来问了别人才明白:同步释放的时候,这个复位信号的释放是在时钟信号的驱动下才释放的,是发生在跳变沿之后的(准确的说就是在时钟的建立时间和保持时间的窗口之后的),这样就防止了复位信号的撤销和时钟跳变赶在一起(即避免了复位信号的释放落在建立时间和保持时间的窗口内从而引起亚稳态),而异步释放的时候,复位信号不受时钟信号控制,可以在任意时刻释放,如果恰好在建立时间和保持时间的窗口内释放,就会引起亚稳态。 阅读全文
posted @ 2013-08-02 11:44 鱼游时光 阅读(301) 评论(0) 推荐(0)
摘要: 2013.7.29assign 语句中赋值的变量都是wire型;always/initial中赋值的变量一定是reg型。延时单位和时间精度:`timescale 1ns/100ps,其中的1ns表示延时单位,100ps表示时间精度,也就是编译器所能接受的最小仿真时间粒度。例如:assign #1.16 A = B^C;由于延时单位为1ns,最小时间粒度为100ps(0.1ns),根据四舍五入的规则,1.16ns实际上对应着是1.2ns;如果采用`timescale 1ns/10ps的编译指令,最小时间粒度是10ps也就是0.01ns,此时assign #1.16 A = B^C中的1.16ns 阅读全文
posted @ 2013-07-29 10:40 鱼游时光 阅读(307) 评论(0) 推荐(0)
摘要: $ acroread [参数] filename.pdf #adobe Reader阅读器$ evince filename.pdf #ubuntu下自带pdf阅读器 阅读全文
posted @ 2013-07-23 17:19 鱼游时光 阅读(1614) 评论(0) 推荐(0)