Oct 13, 2009

restore source code encrypted by 'protectip'

  protectip from synplicity(in the synplify install directory) can encrypts VHDL and Verilog source files, it's a simple perl script which call the openssl for encryption.

  The synplify tools can decrypt the source files before compiler, but the engineers can only read the encrypted text. so the ip be protected.
  However, you can restore the source code if you got the password for ip encryption. I write the perl script for it.
  Usage: decryptip
    -in   | input           <Input File>
    -out  | output          <Output File Name>
    -c    | cipher          <Cipher - one of "des-cbc" "3des-cbc" "aes128-cbc">
    -k    | key             <Symmetric Encryption Key in Text Format>
 
   Example: ./decryptip -in protected_ip.v -out orig_ip.v -c des-cbc -k PASSWORD


Sep 20, 2009

IC设计书籍推荐

做这个几年了,不知道算不算入门了。把一些曾经看过的书籍中觉得不错的推荐给大家。

其中有几本模拟和版图类的书籍是别人给推荐的。
根据当当网的资料做了个网页,以后会持续更新,http://www.yanzhi.org/blog/book.htm 

May 10, 2009

linux防止误删除的简单办法[Tips]

建立硬链接,ln 源文件 【链接名】

硬链接的作用就是允许一个文件拥有多个有效路径名,直到删除最后一个链接文件才会真正被删除

Apr 30, 2009

Dirac-> vc-2 ?

About Dirac

Dirac is an advanced royalty-free video compression format designed for a wide range of uses, from delivering low-resolution web content to broadcasting HD and beyond, to near-lossless studio editing.

The Dirac Project

Originally created by the BBC Research department, the Dirac project has expanded to include companies providing hardware equipment and software for handling Dirac video, as well as an active open-source development group.

Origin of the Name "Dirac"

The name "Dirac" is a reference to Paul A. M. Dirac, British physicist and winner of the 1933 Nobel Prize in Physics. The prize was shared with Erwin Schrödinger, for whom the Schroedinger implementation of Dirac was named.

read more:http://www.diracvideo.org/

Mar 24, 2009

硅谷模式未必适合本土创业公司【转自老杳吧】

本人目前就职于一家本土集成电路创业公司,对这篇文章高度认同。

所谓硅谷集成电路创业模式一般包含三个阶段,一、获得VC对创意及团队认可,一般集成电路设计创业团队可以获得100-500万美元的启动资金创业;二、产品开发完成后创业公司会二次融资,额度一般在500-2000万美元用于产品推广;三、技术或产品获得市场认可后创业公司一般会选择直接IPO或被知名跨国公司收购,成功的硅谷创业公司一般都会经历上述三个阶段。

与硅谷模式不同,集成电路在中国发展几十年,上市的只有中星微、展讯和珠海炬力,能够被跨国公司收购的案例很少,十年前新涛科技被IDT以8500万美元收购以及上海掌微被Sirf 1.25亿美元收购之外鲜有成功,其实这两家也不能算是本土创业公司,总部都在硅谷,运营主体都设在美国,中国只设有部分研发,甚至所销售的产品也是以海外为主。

硅谷创业以核心技术为目标,能被跨国公司收购很正常,国内集成电路设计公司瞄准的是市场需求,至于技术是否领先则往往不是创业者最关注的,因此本土公司创业在技术层面很难引起跨国公司的关注,一旦开拓市场不利,被收购的价值为零,在中国集成电路设计界很少出现并购也是因为这个原因,因为中国集成电路设计公司有五百家之多,很多人预计未来会出现并购潮,老杳却认为很难,倒闭潮倒是非常有可能,真正拥有尖端核心技术的中国IC设计公司很少。

没有尖端核心技术并不能阻止本土IC设计公司的兴起,毕竟作为全球最大的电子产品制造基地,中国电子市场对不同种类、不同水准的集成电路需求非常旺盛,只有能够开发出适应市场需求的产品,即使没有最高端的技术本土IC设计公司一样可以做的非常不错,也是基于这一点,许多风险投资商认为中国是集成电路投资最后一片沃土。

与硅谷创业尽快开发出尖端技术不同,本土集成电路创业公司最大目标应当是尽快赚钱,无论产品高端低端,无论是否代表高科技,只有尽快实现营业收入,才能与客户建立紧密的关系,更好的把握市场脉搏,进而通过就客户推广新产品,目前阶段很多中国本土集成电路设计公司都是依赖中国成熟的电子制造产业生存,虽然产品品质与跨国公司相比略有差距,更好的性能价格比是竞争的根本,本土集成电路设计业的发展,反过来也促进了中国制造业的进步,制造出更加便宜、功能更加丰富的电子产品,应当说目前中国本土集成电路设计业已经与电子制造业形成了良好的互动和彼此依存的共生关系,山寨手机之所以流行,MTK固然居功至伟,中国本土集成电路设计业在成本上做的贡献同样不可小视,目前本土IC已经在FM、摄像头、蓝牙、电源管理、音频放大期,功率放大器、模拟电视甚至电池等部件上已经替代了或正在替代跨国公司成为主流供货商。其它诸如玩具用音频芯片等更在全球占据统治地位。

应当说本土IC更依赖市场而不是技术,这是本土IC创业公司与硅谷创业的最大区别,基于此本土创业者要更加重视市场和盈利,也正因为如此,本土集成电路设计公司被收购的价格会很低,这一点与电脑、电视领域的竞争格局并没有太大的区别。

虽然创业阶段本土与硅谷有较大的区别,如果希望成为一家伟大的公司,二者却殊途同归,说到底就像联想的"贸工技"和华为的"技工贸"的区别,拥有了市场的联想可以进一步拓展核心技术,这是本土IC发展的捷径,拥有了核心技术的华为进一步拓展市场,这是硅谷创业的归宿,当然如果创业公司无法最终生存,那又是另外一件事。(作者:老杳)

原帖地址:http://laoyaoba.com/wordpress/?p=2361

Dec 25, 2008

2009 Coming

Merry Christmas & Happy New Year!

Dec 24, 2008

diff in linux

diff在linux下用来比较两个文件或者文件夹的内容,具体使用可以参考http://linux.about.com/library/cmd/blcmdl1_diff.htm,其中-b可以比较不同类型的文件,如dos,unix,但经实践证明,如果两个文件类型不一样,且文件比较大,如大于1MB时,比较时间会很长,why?
如果我们把Windows下产生的文件在linux下执行一次dos2unix,转换成unix类型,然后再用diff比较,时间将大大减少。仅试过文本文件。

Nov 9, 2008

Virtex5 DSP48E Synplify8.6.2 bug?

最近工作中遇到的一个问题,不知道是否是工具的bug,在此备案。
问题描述:设计中所用到的一个乘法器,在fpga验证时不能工作,用逻辑分析仪查看得知乘法器输入正确,但输出有问题。通过多次修改并用综合后的网表仿真得知是synplify在综合时调用DSP48E时处理出错,具体分析如下:
环境:Xilinx的Virtex5 LX系列FPGA,Synplify8.6.2综合,ISE9.2实现,Modelsim后仿
设计背景:乘法器的输入,一端为寄存器直接输出,另一端是比较复杂的组合逻辑,输出结果再做加法等运算,然后送入寄存器。
DSP48E简介:
Virtex-5 DSP48E Slice 包含 Virtex-4 DSP48 的所有功能以及多种新功能。这些新功能包括
一个更宽的 25 x 18 乘法器和一个扩展后用作逻辑单元的加/ 减功能。
看框图:



其中输入可以有两级寄存器,所以在做优化的时候会把外面的寄存器放到里面,而这两级寄存器分别有两个EN端,当只用其中一个时,会使用REG2,可以从仿真的model中间可以看到详细的描述,但Synpilfy在处理这种情况时,使用的是REG1 ,此时CE2常为1,所以导致输入数据不能在正确的时刻被latch,进而导致输出错误。
在搜索时发现Xilinx自己的工具,如coregen之类的在处理DSP48E时也出现过不少bug,synplify也是从8.6版本才开始支持virtex5的,所以我觉得很有可能是工具在这有bug,目前synplify的版本已达9.6以上,估计新版本不会再有此问题。
总结:
1、尽量不要用工具最新的功能,关注工具新版的release notes
2、FPGA做逻辑验证的时候最好不要使用FPGA的特殊单元,也不要让工具做太多的优化,除非timing确实有问题
3、出了问题应该先分析问题,不要一上来就尝试各种修改的办法。(这点我开始认为自己的coding style有问题,让工具犯傻了,所以修改了好几次,均已失败告终)

Sep 30, 2008

IPcore Release Package

IPcore Release Package Should include:
  1. Synthesizable Verilog RTL
  2. Bit-accurate C model
  3. Verilog testbench
  4. Detailed product documentation
  5. Design specifications
  6. Integration guidelines
  7. Complete verification suite
  8. VHS tape with example noisy signals
  9. Extensive tests including corner-case scenarios
  10. Golden test result vectors
  11. FPGA test board (with testbench and supporting files)
  12. Support and training
  13. to be added...