Eric's Blog for work
Digital IC design,Verification,FPGA,STB,Video Codec...
Nov 21, 2007
删除文本文件中包含特定字符串所在行[script tips]
grep
-v, --invert-match select non-matching lines
grep -v "string" tee tmp.file
mv -f tmp.file original.file
Or
vi
:g/string/d
Labels: Script
Nov 20, 2007
[转]What is the difference between FPGA and ASIC?
- This question is very popular in VLSI fresher interviews. It looks simple but a deeper insight into the subject reveals the fact that there are lot of thinks to be understood !! So here is the answer.
- Difference between ASICs and FPGAs mainly depends on costs, tool availability, performance and design flexibility. They have their own pros and cons but it is designers responsibility to find the advantages of the each and use either FPGA or ASIC for the product. However, recent developments in the FPGA domain are narrowing down the benefits of the ASICs.
- Field Programable Gate Arrays
- Faster time-to-market: No layout, masks or other manufacturing steps are needed for FPGA design. Readymade FPGA is available and burn your HDL code to FPGA ! Done !!
- No NRE (Non Recurring Expenses): This cost is typically associated with an ASIC design. For FPGA this is not there. FPGA tools are cheap. (sometimes its free ! You need to buy FPGA.... thats all !). ASIC youpay huge NRE and tools are expensive. I would say "very expensive"...Its in crores....!!
- Simpler design cycle: This is due to software that handles much of the routing, placement, and timing. Manual intervention is less.The FPGA design flow eliminates the complex and time-consuming floorplanning, place and route, timing analysis.
- More predictable project cycle: The FPGA design flow eliminates potential re-spins, wafer capacities, etc of the project since the design logic is already synthesized and verified in FPGA device.
- Field Reprogramability: A new bitstream ( i.e. your program) can be uploaded remotely, instantly. FPGA can be reprogrammed in a snap while an ASIC can take $50,000 and more than 4-6 weeks to make the same changes. FPGA costs start from a couple of dollars to several hundreds or more depending on the hardware features.
- Reusability: Reusability of FPGA is the main advantage. Prototype of the design can be implemented on FPGA which could be verified for almost accurate results so that it can be implemented on an ASIC. Ifdesign has faults change the HDL code, generate bit stream, program to FPGA and test again.Modern FPGAs are reconfigurable both partially and dynamically.
- FPGAs are good for prototyping and limited production.If you are going to make 100-200 boards it isn't worth to make an ASIC.
- Generally FPGAs are used for lower speed, lower complexity and lower volume designs.But today's FPGAs even run at 500 MHz with superior performance. With unprecedented logic density increases and a host of other features, such as embedded processors, DSP blocks, clocking, and high-speed serial at ever lower price, FPGAs are suitable for almost any type of design.
- Unlike ASICs, FPGA's have special hardwares such as Block-RAM, DCM modules, MACs, memories and highspeed I/O, embedded CPU etc inbuilt, which can be used to get better performace. Modern FPGAs are packed with features. Advanced FPGAs usually come with phase-locked loops, low-voltage differential signal, clock data recovery, more internal routing, high speed, hardware multipliers for DSPs, memory,programmable I/O, IP cores and microprocessor cores. Remember Power PC (hardcore) and Microblaze (softcore) in Xilinx and ARM (hardcore) and Nios(softcore) in Altera. There are FPGAs available now with built in ADC ! Using all these features designers can build a system on a chip. Now, dou yo really need an ASIC ?
- FPGA sythesis is much more easier than ASIC.
- In FPGA you need not do floor-planning, tool can do it efficiently. In ASIC you have do it.
- Powe consumption in FPGA is more. You don't have any control over the power optimization. This is where ASIC wins the race !
- You have to use the resources available in the FPGA. Thus FPGA limits the design size.
- Good for low quantity production. As quantity increases cost per product increases compared to the ASIC implementation.
- Application Specific Intergrated Circiut
- Cost....cost....cost....Lower unit costs: For very high volume designs costs comes out to be very less. Larger volumes of ASIC design proves to be cheaper than implementing design using FPGA.
- Speed...speed...speed....ASICs are faster than FPGA: ASIC gives design flexibility. This gives enoromous opportunity for speed optimizations.
- Low power....Low power....Low power: ASIC can be optimized for required low power. There are several low power techniques such as power gating, clock gating, multi vt cell libraries, pipelining etc are available to achieve the power target. This is where FPGA fails badly !!! Can you think of a cell phone which has to be charged for every call.....never.....low power ASICs helps battery live longer life !!
- In ASIC you can implement analog circuit, mixed signal designs. This is generally not possible in FPGA.
- In ASIC DFT (Design For Test) is inserted. In FPGA DFT is not carried out (rather for FPGA no need of DFT !) .
- Time-to-market: Some large ASICs can take a year or more to design. A good way to shorten development time is to make prototypes using FPGAs and then switch to an ASIC.
- Design Issues: In ASIC you should take care of DFM issues, Signal Integrity isuues and many more. In FPGA you don't have all these because ASIC designer takes care of all these. ( Don't forget FPGA isan IC and designed by ASIC design enginner !!)
- Expensive Tools: ASIC design tools are very much expensive. You spend a huge amount of NRE.
- Structured ASICs have the bottom metal layers fixed and only the top layers can be designed by the customer.
- Structured ASICs are custom devices that approach the performance of today's Standard Cell ASIC while dramatically simplifying the design complexity.
- Structured ASICs offer designers a set of devices with specific, customizable metal layers along with predefined metal layers, which can contain the underlying pattern of logic cells, memory, and I/O.
Labels: AsicDesign, FPGA
Nov 14, 2007
a new gmail account for file sharing
Labels: blog
Nov 10, 2007
Google搜索在工作上的应用技巧[ 转]
一、限定搜索范围的技巧
1、文件类型
有时候我们可能不需要搜索网页文件或者图片,我们可能想要搜索其他类型的问题,比如文档文件(Word,Excel,PPT),Flash文件,甚至是Google地图文件,我们都可以使用"filetype"功能来实现。
比如我想搜索一篇关于最新加密技术的Word论文,使用Google搜索"filetype:doc 加密技术 "即可得到大量相关信息。我想搜索关于中国的Google Earth卫星图片,那么就在Google中搜索"filetype:kmz china"即可。
2、指定网站
有时我们进行网页搜索,想要在某一个指定的网站内搜索感兴趣的内容,这时候我们可以使用"site"功能来限定搜索的网站。
比如,我想在新浪网上搜索关于世界杯赛程的消息,只需要用Google搜索"site:sina.com.cn 世界杯赛程"即可得到结果。
如果你想把搜索结果限制在大学的网站之中,可以使用"site:.edu 关键词"。
通过限定搜索范围的方法,我们可以更快更准确的搜索到我们想要的东西。
3、其他限定搜索方法
intitle:搜索关键词(intitle:关键字)只搜索网页标题含有关键词的页面。
inurl:搜索关键词(intitle:关键字)只搜索网页链接含有关键词的页面。
intext:搜索关键词(intext:关键字)只搜索网页body标签中的文本含有关键词的页面。
二、写作辅助小工具
Google有一些小工具,为我们的日常工作学习提供了很多方便之处。
1、翻译工具
Google本身带有中英文翻译的功能,只需输入一个关键词("翻译"或"fy"任选其一)和要查的中(英)文单词,Google会直接显示您要查的单词的英文(或中文)翻译。
比如我们想要翻译"香蕉"这个词为英文,那么只需要在Google中搜索"翻译 香蕉"或者"fy 香蕉",返回的第一条记录就是翻译的结果。同样,我们搜索"fy banana"可以得到这个单词的中文翻译。
2、学术词典工具
我们有时候想要知道一个具体词汇的定义,可以使用"定义"或"define",接着键入一个空格,然后键入您需要其定义的词。
比如,我们想要知道氨基酸是什么意思,只需要在Google中搜索"定义 氨基酸",就可以找到氨基酸的定义。
三、改进工作效率
做为一个公司员工,每天都要关注自己公司和竞争对手的最新消息,怎么才能在最短的时间内获得最多的信息呢?Google可以帮助你。
Google 快讯是Google的新闻定制自动发送,用户可以定制自己需要的内容,Google会在设定的时间内(即时、每天、每周)给用户发送Google最新搜索到的新闻文章,非常方便,我们就可以用这个功能来跟踪自己公司和竞争对手的最新消息。
例如我是一家做搜索的开发公司,我需要每天关注自己的竞争对手,因此我只要登录:http://www.google.com/alerts?hl=zh-CN,然后在"搜索字词"中输入"Google","频率"为每天,即可每天收到关于Google的最新消息,同样在"搜索字词"中输入"百度",可以获得百度的最新消息。
当然,搜索关键字不只是公司,开动我们的脑筋,我们可以用这个工具跟踪任何信息,比如输入某个名人的名字,可以追踪这个名人的最新消息和新闻,搜索某个行业名称,可以追踪这个行业的相关新闻,搜索某个新闻事件,可以得到这个事件的最新报道。
因此,我们只要灵活掌握和运行Google的搜索技巧,那会给自己的工作和学习带来相当大的提升,使得自己的事业能够更上一层楼。
Labels: Docs
blogspot又不能访问了
很不幸blogspot又不能正常访问了,刚刚好了几天,我还以为以后都没问题了呢,还准备回归blogspot,看来还是不行
更郁闷的是现在blogger的ftp发布也出现了问题,这段时间yanzhi.org/blog/的内容也不能正常显示了
-_-
Labels: blog
Nov 6, 2007
New blog for backup
I have build a new blog for this one's backup.
http://digital-ic-design.blogspot.com/
And the new posts will be added at the same time from now on.
Labels: blog
Nov 5, 2007
Some Testing Glossary
Labels: AsicDesign
Nov 1, 2007
set false path
foreach_in_collection _clk $_all_clks {
foreach_in_collection _other_clk [remove_from_collection $_all_clks $_clk] {
set_false_path -from $_clk -to $_other_clk;
}
}
reset_path -from B_CLK -to A_CLK;
Labels: AsicDesign