Perl for IC Designers--authorship

[复制链接]
3527|0
 楼主| rickyice 发表于 2007-2-26 17:01 | 显示全部楼层 |阅读模式
Perl&nbsp;is&nbsp;a&nbsp;high-level&nbsp;programming&nbsp;language.&nbsp;Larry&nbsp;Wall&nbsp;invented&nbsp;Perl&nbsp;and&nbsp;<br />thousands&nbsp;have&nbsp;contributed&nbsp;their&nbsp;time&nbsp;making&nbsp;it&nbsp;a&nbsp;very&nbsp;powerful&nbsp;tool.&nbsp;Perl&nbsp;borrows&nbsp;heavily&nbsp;from&nbsp;the&nbsp;C&nbsp;programming&nbsp;language&nbsp;and&nbsp;copies&nbsp;the&nbsp;really&nbsp;useful&nbsp;bits&nbsp;from&nbsp;sed,&nbsp;awk,&nbsp;Unix&nbsp;shell,&nbsp;and&nbsp;many&nbsp;other&nbsp;tools&nbsp;and&nbsp;languages.&nbsp;<br />Perl&nbsp;Productivity<br />Perl's&nbsp;process,&nbsp;file,&nbsp;and&nbsp;text&nbsp;manipulation&nbsp;facilities&nbsp;make&nbsp;it&nbsp;particularly&nbsp;well-suited&nbsp;for&nbsp;tasks&nbsp;involving&nbsp;automatic&nbsp;code&nbsp;generation,&nbsp;report&nbsp;filtering,&nbsp;netlist&nbsp;patching,&nbsp;generating&nbsp;test&nbsp;vectors&nbsp;and&nbsp;controlling&nbsp;tools.&nbsp;<br />Perl&nbsp;is&nbsp;FREE&nbsp;so&nbsp;maybe&nbsp;you&nbsp;should&nbsp;use&nbsp;it&nbsp;too.&nbsp;<br />Followings&nbsp;offer&nbsp;advice&nbsp;and&nbsp;examples&nbsp;for&nbsp;improving&nbsp;design&nbsp;productivity&nbsp;through&nbsp;with&nbsp;Perl.&nbsp;<br /><br />Automatic&nbsp;Code&nbsp;Generation<br />Perl&nbsp;has&nbsp;been&nbsp;used&nbsp;for&nbsp;translating&nbsp;between&nbsp;related&nbsp;languages:&nbsp;VHDL&nbsp;to&nbsp;Verilog,&nbsp;Xilinx&nbsp;Netlist&nbsp;Files&nbsp;to&nbsp;VHDL,&nbsp;VHDL&nbsp;to&nbsp;SystemC,&nbsp;etc.&nbsp;Source&nbsp;files&nbsp;with&nbsp;low&nbsp;originality&nbsp;are&nbsp;prime&nbsp;candidates&nbsp;for&nbsp;automatic&nbsp;generation.VHDL&nbsp;engineers&nbsp;regularly&nbsp;write&nbsp;testbenches.&nbsp;We've&nbsp;written&nbsp;an&nbsp;online&nbsp;demonstration&nbsp;to&nbsp;show&nbsp;you&nbsp;how&nbsp;Perl&nbsp;can&nbsp;do&nbsp;it&nbsp;for&nbsp;you.&nbsp;<br />Perl&nbsp;is&nbsp;also&nbsp;useful&nbsp;for&nbsp;Coding&nbsp;Style&nbsp;conformance&nbsp;checking&nbsp;and&nbsp;enforcement.&nbsp;<br />Report&nbsp;Filtering<br />EDA&nbsp;tools&nbsp;are&nbsp;notorious&nbsp;for&nbsp;creating&nbsp;verbose&nbsp;report&nbsp;files.&nbsp;Many&nbsp;megabytes&nbsp;of&nbsp;text&nbsp;may&nbsp;contain&nbsp;little&nbsp;interesting&nbsp;information.&nbsp;Perl&nbsp;is&nbsp;well&nbsp;matched&nbsp;to&nbsp;extracting&nbsp;key&nbsp;information&nbsp;quickly.&nbsp;<br />Netlist&nbsp;Patching<br />EDA&nbsp;tools&nbsp;within&nbsp;design&nbsp;flows&nbsp;never&nbsp;fit&nbsp;together&nbsp;perfectly.&nbsp;Often,&nbsp;really&nbsp;useful&nbsp;features&nbsp;are&nbsp;unsupported.&nbsp;Netlists&nbsp;generated&nbsp;from&nbsp;one&nbsp;tool&nbsp;need&nbsp;modifying&nbsp;before&nbsp;the&nbsp;next&nbsp;tool&nbsp;will&nbsp;read&nbsp;them.&nbsp;Perl&nbsp;is&nbsp;well&nbsp;matched&nbsp;to&nbsp;intelligent&nbsp;search&nbsp;and&nbsp;replace&nbsp;jobs.&nbsp;<br />&nbsp;<br />Generating&nbsp;Test&nbsp;Vectors<br />Perl&nbsp;can&nbsp;apply&nbsp;rules&nbsp;for&nbsp;generating&nbsp;sophisticated&nbsp;test&nbsp;vector&nbsp;patterns:&nbsp;ATM&nbsp;packets,&nbsp;MPEG&nbsp;streams,&nbsp;QAM&nbsp;samples&nbsp;with&nbsp;added&nbsp;noise,&nbsp;etc.&nbsp;<br /><br />Controlling&nbsp;Tools<br />Perl&nbsp;is&nbsp;able&nbsp;to&nbsp;call&nbsp;any&nbsp;tool&nbsp;installed&nbsp;on&nbsp;its&nbsp;host&nbsp;computer.&nbsp;Perl&nbsp;can&nbsp;even&nbsp;run&nbsp;Telnet&nbsp;and&nbsp;FTP&nbsp;sessions&nbsp;to&nbsp;control&nbsp;remote&nbsp;computers.&nbsp;Any&nbsp;task&nbsp;involving&nbsp;more&nbsp;than&nbsp;one&nbsp;tool&nbsp;can&nbsp;be&nbsp;automated&nbsp;using&nbsp;a&nbsp;Perl&nbsp;script.&nbsp;<br />A&nbsp;Perl&nbsp;script&nbsp;might&nbsp;run&nbsp;a&nbsp;tool,&nbsp;filter&nbsp;the&nbsp;textual&nbsp;output&nbsp;then&nbsp;decide&nbsp;whether&nbsp;to:&nbsp;modify&nbsp;constraints&nbsp;and&nbsp;try&nbsp;again,&nbsp;move&nbsp;on&nbsp;to&nbsp;the&nbsp;next&nbsp;tool&nbsp;in&nbsp;the&nbsp;flow&nbsp;or&nbsp;abort&nbsp;and&nbsp;send&nbsp;email&nbsp;notification&nbsp;to&nbsp;a&nbsp;project&nbsp;leader.&nbsp;<br /><br />Where&nbsp;To&nbsp;Get&nbsp;Perl&nbsp;<br />Many&nbsp;operating&nbsp;systems&nbsp;support&nbsp;Perl.&nbsp;Most&nbsp;importantly&nbsp;ports&nbsp;exist&nbsp;for,&nbsp;Linux,&nbsp;Windows&nbsp;and&nbsp;versions&nbsp;of&nbsp;Unix.&nbsp;The&nbsp;standard&nbsp;Perl&nbsp;release&nbsp;is&nbsp;available&nbsp;in&nbsp;source&nbsp;code&nbsp;only.&nbsp;However,&nbsp;hardware&nbsp;engineers&nbsp;don't&nbsp;have&nbsp;time&nbsp;to&nbsp;compile&nbsp;their&nbsp;own&nbsp;and&nbsp;binary&nbsp;distributions&nbsp;are&nbsp;freely&nbsp;available.&nbsp;<br />You&nbsp;can&nbsp;find&nbsp;ports&nbsp;for&nbsp;many&nbsp;operating&nbsp;systems&nbsp;on&nbsp;CPAN&nbsp;(Comprehensive&nbsp;Perl&nbsp;Archive&nbsp;Network.&nbsp;Currently,&nbsp;Doulos&nbsp;use&nbsp;the&nbsp;free&nbsp;ActivePerl&nbsp;distributions&nbsp;from&nbsp;ActiveState&nbsp;for&nbsp;Solaris&nbsp;and&nbsp;Windows.&nbsp;<br />&nbsp;<br />Regular&nbsp;Expressions<br />Almost&nbsp;every&nbsp;Perl&nbsp;script&nbsp;uses&nbsp;regular&nbsp;expressions.&nbsp;We've&nbsp;written&nbsp;a&nbsp;Perl&nbsp;Regular&nbsp;Expression&nbsp;Viewer&nbsp;tool&nbsp;to&nbsp;help&nbsp;you&nbsp;write&nbsp;them&nbsp;faster.&nbsp;Download&nbsp;your&nbsp;free&nbsp;copy&nbsp;now.&nbsp;<br /><br />Essential&nbsp;Perl&nbsp;training<br />To&nbsp;become&nbsp;a&nbsp;skilled&nbsp;and&nbsp;efficient&nbsp;user&nbsp;of&nbsp;Perl&nbsp;for&nbsp;hardware&nbsp;design,&nbsp;you&nbsp;need&nbsp;to&nbsp;attend&nbsp;Essential&nbsp;Perl,&nbsp;an&nbsp;intensive&nbsp;3&nbsp;day&nbsp;course&nbsp;teaching&nbsp;the&nbsp;application&nbsp;of&nbsp;Perl&nbsp;specifically&nbsp;to&nbsp;ASIC,&nbsp;FPGA&nbsp;and&nbsp;PLD&nbsp;design.&nbsp;<br /><br />rickyice
您需要登录后才可以回帖 登录 | 注册

本版积分规则

7

主题

15

帖子

3

粉丝
快速回复 在线客服 返回列表 返回顶部