最新日志

发表于:2008-6-29 20:04:46
标签:SiliconLabs  IntegrationAssociates  Microchip  

0

Silicon Labs将收购Integration Associates

自Chipcon被TI收购以后,IA就是Microchip在短距离无线收发器件上的合作伙伴,现在被SiliconLabs这个竞争对手收购,又要郁闷了....昔日和Chipcon合作,被TI收购,今日又再度重演类似事件,Microchip是不是该反省下呢?

Jun 24,2008
Silicon Labratories to Acquire Integration Associates, Diversified Mixed-Signal Company

Acquisition Brings New Product Vectors and High Caliber Development Team

AUSTIN, Texas, June 24, 2008 -- Silicon Laboratories Inc. (Nasdaq: SLAB) today announced it has signed a definitive agreement to acquire Silicon Valley-based Integration Associates, an innovator in analog-intensive, highly integrated ICs, for net $80 million, taking into consideration Integration Associates’ cash balances and net current assets. Integration Associates brings a diverse portfolio of connectivity, wireless and power solutions, quality revenue and nearly 100 engineers to Silicon Laboratories.

Integration Associates’ portfolio is aligned with Silicon Laboratories’ objective to broaden system content within existing applications and to enter new markets. Specifically, the acquisition augments Silicon Laboratories’ R&D investments currently in place in short range wireless, a large market that includes home automation, remote keyless entry and automated meter reading applications. This is an untapped market for Silicon Laboratories where Integration Associates has developed innovative products, an expanding customer base and a growing revenue stream.

Integration Associates’ products will also accelerate Silicon Laboratories’ expansion into the audio subsystem, a natural extension of the current broadcast audio portfolio. And, the company’s power portfolio is a strategic addition to Silicon Laboratories’ nascent power product line, which is in the early stages of revenue ramp.

"This acquisition will enable us to address new product vectors, accelerate time to revenue for current investments and further scale our engineering team with the addition of an experienced group of mixed-signal design and application engineers," said Necip Sayiner, president and CEO of Silicon Laboratories. "Additionally, good quality revenue and attractive growth potential further enhance our operational profile as we expect this transaction to be accretive in 2009."

"We have developed a solid business based on innovative technology, and we’re at a key inflection point with new products," said Jean-Luc Nauleau, CEO of Integration Associates. "The timing is right for us to leverage the sales channel and infrastructure of a larger company and Silicon Labs is the perfect partner. Our technology focus and core competency are well aligned with Silicon Labs’ capabilities, and we will also have an opportunity to jump start a number of very promising new products as a result of the combination."

Integration Associates is a private company based in Mountain View, California with additional design centers in Europe. The company has built quarterly revenue to a run rate of approximately $8 million. The acquisition is expected to be slightly dilutive to Silicon Laboratories in 2008, offset by better than previously anticipated performance in Silicon Labs’ existing business. The acquisition is expected to be accretive in 2009. The board of directors of each company has approved the merger, which awaits the satisfaction of regulatory requirements and other customary closing conditions.

Conference Call Wednesday, June 25th

An investor conference call and presentation is scheduled for 7:30 a.m. Central Time tomorrow, June 25th. To access the presentation and audio webcast, visit Silicon Laboratories’ website under Investor Relations at http://www.silabs.com. A replay will be available after the call at the website listed above or by calling 866-431-5843 (U.S.) or +1 203-369-0958 (international). These replays will be available through July 9th.

About Integration Associates

Integration Associates is a fabless semiconductor company headquartered in Mountain View, California, with offices and design centers in Europe and North America. Integration Associates designs and delivers silicon solutions for wireless, wireline and power system management applications for a wide range of systems. For more information about Integration Associates and its products, visit www.integration.com.

About Silicon Laboratories Inc.

Silicon Laboratories is an industry leader in the innovation of high-performance, analog-intensive, mixed-signal ICs. Developed by a world-class engineering team with unsurpassed expertise in mixed-signal design, Silicon Labs’ diverse portfolio of highly-integrated, easy-to-use products offers customers significant advantages in performance, size and power consumption. These patented solutions serve a broad set of markets and applications including consumer, communications, computing, industrial and automotive.

Headquartered in Austin, TX, Silicon Labs is a global enterprise with operations, sales and design activities worldwide. The company is committed to contributing to our customers’ success by recruiting the highest quality talent to create industry-changing innovations. For more information about Silicon Labs, please visit www.silabs.com.

Cautionary Language

This press release contains forward-looking statements based on Silicon Laboratories’ current expectations. The words "believe," "estimate," "expect," "intend," "anticipate," "plan," "project," "will," "expanding," "growing," and similar phrases as they relate to Silicon Laboratories or Integration Associates are intended to identify such forward-looking statements. These forward-looking statements reflect the current views and assumptions of Silicon Laboratories and are subject to various risks and uncertainties that could cause actual results to differ materially from expectations. Among the factors that could cause actual results to differ materially from those in the forward-looking statements are the following: risks that ;the acquisition may not yield the expected benefits due to the failure to properly integrate the acquired business and employees; risks that the customer base and revenue of the acquired business may cease to expand or may decline; risks that the acquired business’ products under development may fail to achieve market acceptance; risks of disputes regarding the acquired business; risks that the performance of Silicon Laboratories’ existing business may not offset the dilutive effect of the acquisition; risks associated with quarterly fluctuations in revenues and operating results; risks that average selling prices of products may decrease significantly and rapidly, dependence on a limited number of products and customers; risks associated with the competitive and cyclical nature of the semiconductor industry and other factors that are detailed in Silicon Laboratories’ filings with the SEC. Silicon Laboratories disclaims any intention or obligation to update or revise any forward-looking statements, whether as a result of new information, future events or otherwise.

点击此处查看原文 >>

系统分类: 单片机   |    用户分类: 无分类    |    来源: 原创

评论(0) | 阅读(49)
发表于:2008-6-28 1:53:11
标签:无标签

1

说说流控制(RTS/CTS/DTR/DSR 你都明白了吗?)

以前写的博文,转过来

==============

先引用一篇网文,作者不详,因几个地方都说自己是原创,我昏了,不知道是谁原创的 流汗 

RS232中RTS和CTS的作用
问:
以前挺明白的,今天一下子觉得以前的理解都不对了,以下三种解释哪个对呢?

解释一:
RTS:终端我已经准备就绪,有数据就发过来吧
CTS:来了,接招

解释二:
RTS:终端我准备发数据给你,快用CTS应答,准备好没?
CTS:好了,来吧

解释三:
CTS:主机,我有数据,请求接收
RTS:我是主机,就绪,请求发送。

我今天弄了个SIM100模块,我将RTS设置无效之后,凡是要发往主机的数据都没有发过来(包括主动数据RING),指令和指令返回结果都没有返回,都缓存在模块之中,等我将RTS设置有效后,缓存的数据全发来了,包括一大堆指令的执行结果,由此,我觉得上面的“解释一”应该正确,而“解释二”应该是错的,但“解释三”是否正确呢?就是说CTS和RTS哪个是发起者呢?

答:
一是错的
二是RS232标准
三是MODEM的硬件流控
SIMCOM公司的解释完全正确

    很久很久以前,计算机还没有出现,那时就已经存在了(计算机)史前的串口设备(电传打字机,工控测量设备,通信调制解调器),为了连接这些串口,EIA制定了RS232标准,采用DB25接插件,支持同步和异步串口,D型的接口可以有效防止插反。标准化给使用带来了便利。
    时光荏苒,个人计算机出现了,这些已有的串口设备毫无疑问地成为了最初的外设,自然而然地RS232标准被个人计算机采纳。但是设备制造商倾向于体积更小,成本更低的接口,因此,将DB25中未使用的和支持同步模式的引脚去掉,形成DB9。最初的情况相当混乱,因为DB9只定义了信号,却没有指定信号和引脚的对应关系,各个制造商只能自行定义。幸运的是,IBM的PC成了工业标准,DB9逐渐统一到IBM的定义上来。
    DB9只有9根线,遵循RS232标准。定义如下:
    DTR,DSR------DTE设备准备好/DCE设备准备好。主流控信号。
    RTS,CTS------请求发送/清除发送。用于半双工时,收发切换。属于辅助流控信号。半双工的意思是说,发的时候不收,收的时候不发。那么怎么区分收发呢?缺省时是DCE向DTE发送数据,当DTE决定向DCE发数据时,先有效RTS,表示DTE希望向DCE发送,一般DCE不能马上转换收发状态,DTE就通过监测CTS是否有效来判断可否发送,这样避免了DTE在DCE未准备好时发送所导致的数据丢失。
    全双工时,这两个信号一直有效即可。
   
    随着计算机的日益普及,很多非RS232的串口也要接入PC机,如果为每一种新出现的串口都增加一个新的I/O口显然不现实,因为PC后面板位置有限,因此,将RS232串口和非RS232串口都通过RS232口接入是最佳方案。UART的U(通用)指的就是这个意思。早期ROM BIOS和DOS里的通信软件都是为RS232设计的,在没有检测到DCD有效前不会发送数据,因此,就连发送一个字符这样朴素的应用也要给出DCD、DTR、DSR等控制信号。因此,串口接头上要将一些控制线短接,或者干脆绕过系统软件自己写通信程序。
    到此,UART的涵义就总结为:通用的 异步 (串行) I/O口。
    就在UART冠以通用二字,准备一统江湖的时候,制造商们不满于它的速度、体积和灵活性(软件可配置),推出了USB和1394串口。目前,笔记本上的UART串口有被取消的趋势,因而有网友发出了“没有串口,吾谁与归”的慨叹,古今多少事,都付笑谈中,USB取代UART是后话,暂且不表。
    话说自从贺氏(Hayes)公司推出了聪明猫(SmartModem),他们制定的MODEM接口就成了业界标准,自此以后,所有公司制造的兼容猫都符合贺氏标准(连AT指令也兼容,大家一起抄他呗)。
    细观贺氏制定的MODEM串口,与RS232标准大不相同。DTR在整个通信过程中一直保持有效,DSR在MODEM上电后/可以拨号前有效(取决于软件对DSR的理解),在通信过程的任意时刻,只要DTR/DSR无效,通信过程立即终止。在某种意义上,这也可以算是流控,但肯定不是RS232所指的那种主流控。如果拘泥于RS232,你是不会理解DTR和DSR的用途的。
    贺氏不但改了DTR和DSR,竟然连RTS和CTS的涵义也重新定义了。因此,RTS和CTS已经不具有最开始的意义了。从字面理解RTS和CTS,是用于半双工通信的,当DTE想从收模式改为发模式时,就有效RTS请求发送,DCE收到RTS请求后不能立即完成转换,需要一段时间,然后有效CTS通知DTE:DCE已经转到发模式,DTE可以开始发送了。在全双工时,RTS和CTS都缺省置为有效即可。然而,在贺氏的MODEM串口定义中,RTS和CTS用于硬件流控,和什么劳什子的全双工/半双工一点关系也没有。
    注意,硬件流控是靠软件实现的,之所以强调“硬件”二字,仅仅是因为硬件流控提供了用于流量情况指示的硬件连线,并不是说,你只要把线连上,硬件就能自己流控。如果软件不支持,光连上RTS和CTS是没有用的。
    RTS和CTS硬件流控的软件算法如下:(RTS有效表示PC机可以收,CTS有效表示MODEM可以收,这两个信号互相独立,分别指示一个方向的流量情况。

========== 我是分隔线 ==========

以下是我的几句胡言乱语

最近在捣鼓一个GSM模块,正好也要用到这东西,就baidu了一把,可以帮助我理解Datasheet的内容。看了上面的内容,我不知道各位明白了几分,如果觉得都明白了,就不用看我废话了。

还是先引用一些文字,来自Telit公司GM862 QUAD/PY的数据手册
Pin Signal    I/O  Function
20 C103/TXD I Serial data input (TXD) from DTE
29 C106/CTS O Output for Clear to send signal (CTS) to DTE
33 C107/DSR O Output for Data set ready signal (DSR) to DTE
37 C104/RXD O Serial data output to DTE
43 C108/DTR I Input for Data terminal ready signal (DTR) from DTE
45 C105/RTS I Input for Request to send signal (RTS) from DTE

注意上面各个功能的I/O的方向,看到这些缩写的全称,结合信号流向,是不是更容易理解呢 大笑 

DTE是数据发送的主动方,DCE是数据的接受方。

CTS是让DTE明白的,也就是说DCE需要把自己的CTS给DTE看,让他知道DEC已经准备好接受数据了。
RTS是DTE给DCE看的,告诉DCE,DTE有数据要发。

好啦,这个话题就到这里~~ 调皮 还没看懂的同学继续.....

点击此处查看原文 >>

系统分类: 接口电路   |    用户分类:    |    来源: 原创

评论(0) | 阅读(151)
发表于:2008-4-28 17:46:51
标签:无标签

0

转点资料:电子资源网站

************************************************
http://www.mcu123.com/news/Article/web/uc/200608/190.html  avr的资源入口,很好。
http://www.dckits.com/  几个电子项目
http://www.directron.com/index.html 一个巨大的电子项目,,零件网站
http://www.hometheaterhifi.com/masterindex_diy_projects.html  影音方面的电子项目
http://www.web-ee.com/  学习电子制作,项目很好的地方。
http://www.diylive.net/  大量diy的电子项目
http://www.qsl.net/n9zia/wireless/appendixF.html  diy一些rf测试项目
http://www.diyelectronics.com/  关于pic的diy项目
http://www.electronic-circuits-diagrams.com/  大量diy的电路图
http://www.amasci.com/  爱好者集锦(科学,,电子
http://www.devtoys.com/Default.aspx  服务于diy的商业资源
http://www.rcgroups.com/forums/archive/index.php/ 关于R/C的大量资料
http://sound.westhost.com/projects.htm
http://www.a1parts.com/  卖电子零件的,有diy资源
http://www.lumenlab.com/forums/lofiversion/index.php/  diy投影
http://www.audioed.com.au/links_elect.html 几个diy资源
http://www.oldcrows.net/~patchell/dsynth/dsynth.html  diyfpga综合器
http://www.fpga-faq.com/index.shtml  fpga资源
http://www.makezine.com/blog/archive/2005/09/computer_control_with_a_laser.html  激光控制计算机
http://astro.neutral.org/diy_focuser.html 计算机控制的聚焦
http://www.makezine.com/blog/archive/2006/05/how_to_put_your_rc_car_under_c.html 计算机控制遥控
http://www.thirtythousandfeet.com/rc.htm  遥控飞机的资源
http://www.instructables.com/  很好的计算机控制,diy电子资源
http://www.automatedaquariums.com/  diy网络控制系统
http://www.diynot.com/ diy资源中心
http://www.dontronics-shop.com/  电子项目,教学的综合站点
http://www.radier.ca/pic/list.php  pic的项目
http://snippy.ceejbot.com/wiki/show/start/2004/02/17/001  数码相机的diy
http://f-cpu.seul.org/  diy自由cpu的站点
http://www.astro.cornell.edu/staff/loredo/ee.html  大量电子资源的链接地址
http://www.hobbyprojects.com/  发烧友的大量电子项目
http://www.hanssummers.com/links.htm  大量diy链接
http://www.funsci.com/  兴趣科学diy
http://astronomywebguide.com/index.htm 天文学爱好者
http://www.photocritic.org/2006/diy-stereo-zoom-microscope/  diy显微镜
http://www.electric-bikes.com/DIY.htm  diy电动车
http://yama-linux.cc.kagoshima-u.ac.jp/~yamanoue/personal/hobby/toys-and-models/index.html 一些toy的链接
http://digg.com/mods/DIY_Build_a_Glider_from_a_Fastfood_Container 做小滑翔机
http://www.towerhobbies.com/rcwair.html  大量遥控飞机的链接

http://www.booyaka.com/~oncken/  diydsp的声音应用
http://www.6502.org/homebuilt/ 6502的一些项目
http://www.pldesignline.com/ diy  pld项目
http://www.electronicsinfoline.com/CircuitBook/CompleteList.html  大量电路图
http://scottsprojects.blogspot.com/  一个个人的diy电子项目
http://www.edaboard.com/index.php?c=14  eda项目
http://www.chipdesignmag.com/  芯片设计
http://www.dte.eis.uva.es/OpenProjects/OpenUP/index.htm 一个8bit的fpgacpu
http://www.peakfpga.com/index.html 一个fpga的教程站点
http://www.openhardware.de/  开放式硬件
http://esd.cs.ucr.edu/labs/tutorial/  vhdl例子教程
http://robotics.ee.uwa.edu.au/courses/embedded/  嵌入式系统的教程
http://www.cse.cuhk.edu.hk/~phwl/mt/public/archives/old/ceg3420/ceg3420.html 一个cpu设计的教程
http://www.cs.iastate.edu/~prabhu/Tutorial/title.html  计算机系统结构教程
http://www.scienceprog.com/ 电子,科学,生物设计内容
http://www.wirelessnetdesignline.com/  无线设计网
http://www.btstream.com/resc.html 大量有用的电子资源FAQ
http://dmoz.org/Computers/Robotics/Building/ 一些关于robot的链接
http://dailydiy.com/category/robotics/ 一些diy机器人的内容
http://www.roboworld.com/  机器人世界
http://www.electronicstag.com/ 电子技术入口

http://virtualskies.arc.nasa.gov/  NASA的航空教程

http://www.personal.kent.edu/~rmuhamma/OpSystems/os.html  操作系统的教程资源
http://www.learnthat.com/ 大量免费计算机教程
http://dmoz.org/ 开放式目录搜索
http://cdsmith.twu.net/  一个学习计算机的个人站点
http://www.movesinstitute.org/~kolsch/pubs/EmbeddedCV.html#overview  不错的嵌入式的学习站点
http://www.industrialcontroldesignline.com/ 工业控制设计资源
http://www.engin.umich.edu/group/ctm/  用matlab研究控制系统
http://www.jhu.edu/~signals/      一些控制的仿真
http://csd.newcastle.edu.au/index.html  控制系统设计教程
http://dmoz.org/Science/Math/Applications/Control_Theory/ 一些控制教程资源
http://www.eeglossary.com/matlab.htm 一些matlab的资源
http://www.vlsi.uvic.ca/index.shtml  数字系统设计组
http://www.rcnp.osaka-u.ac.jp/unix/DOCUMENTATION/HTML/AA-PUBVD-TE_html/TOC.html写驱动教程
http://www.library.cmu.edu/ctms/ctms/digital/digital.htm 数字控制教程
http://www.eelab.usyd.edu.au/digital_tutorial/toc.html 数字设计教程
http://www.learn-c.com/ 用计算机控制世界
http://www.dsptutor.freeuk.com/  数字信号处理
http://ece.byu.edu/vlsi/courses.htm 一些电子专业教程
http://www.eng.auburn.edu/department/ee/mgc/mentor.html 一个电子设计的mentor资源
http://www.vlsi.wpi.edu/cds/  candence资源
http://www.siliconchip.com.au/cms/A_30703/article.html 一个pcb文章
http://amasci.com/elehob/alexxtu.html 大量电子技术的资源入口
http://dcchapters.ipc.org/rtp/index_files/pcblinks.html pcb设计的资源
http://www.hobbyprojects.com/  大量电子项目资源

http://www.olimex.com/dev/avrprojects.html 一些avr项目
http://cappels.org/dproj/Home.htm  非常好的电子项目,有pic,avr
http://www.omegav.ntnu.no/avr/resources.php3  大量avr资源链接
http://www.myplace.nu/avr/ 一个个人avr站点
http://www.serasidis.gr/ 个人avr站点

http://caraca.sourceforge.net/ 家庭自动化项目
http://www.csee.wvu.edu/~cukic/CPE181/New_cpe481/group19/group19/web/ee180lnk.html  can总线资源
http://icc.skku.ac.kr/~won/electro/hwprojects.html 很好的计算机硬件isa,pci,i2c等项目(极好)
http://www.embedded.com/97/feat9711.htm  i2c文章
http://www.linuxfocus.org/English/February2005/article365.shtml i2c和avr的项目
http://www.iastate.edu/~catalog/9597/cpre.html 大学的电子课程安排
http://bnrg.eecs.berkeley.edu/~randy/Courses/CS252.S96/CS252.Intro.html  计算机硬件设计方面的大学资源
http://eda.ee.ucla.edu/  eda大学资源
http://www.ee.ucr.edu/~phoang/  嵌入式系统的intenet接口设计项目
http://www.ece.utk.edu/grad/courses.html  电子类研究生课程
http://opencollector.org/ 开放式硬件
http://www.ece.umd.edu/courses/enee646.F2001/ 数字计算机设计大学资源
http://fie.engrng.pitt.edu/fie95/2a2/2a2.htm 一些教学文章,,计算机设计的
http://www.cse.lehigh.edu/~mschulte/ece201-02/ 计算机系统结构资源,,不错
http://members.optushome.com.au/jekent/FPGA.htm  vhdl,fpga ,cpu core 资源
http://www.es.lth.se/home/tlt/dicp/2002/index.html  fpga mp3项目
http://www.elecdesign.com/ 电子设计杂志
http://www.chipdesignmag.com/  芯片设计杂志
http://www.bolton.ac.uk/mind/iam/fpga/fpga.html  详细的fpga教程资源
http://www.gmat.unsw.edu.au/snap/work/fpga_research.htm fpga gps项目加一些不错的链接
http://privatewww.essex.ac.uk/~ttheod/index.html  一个机器人的个人网站
http://www.fpgacpu.org/index.html  fpga cpu资源
http://www.embedded.com/ 嵌入式综合站点
http://www.dte.eis.uva.es/OpenProjects/OpenDSP/index.htm  一个基于fpga的opendsp
http://www-md.e-technik.uni-rostock.de/lehre/vlsi_i/proc8/index.html 一个全开源的fpga cpu
http://www.klabs.org/richcontent/Tutorial/tutorial.htm NASA的逻辑设计课程
http://www.bridgeport.edu/~matanya/vlsi/  一个大学的模拟设计课程
http://www.di.unipi.it/~boerger/ASMTutorialEtaps.html  状态机
http://www.engineeringsights.org/ 美国最大的工程师资源入口
http://www.circuitsage.com/ 很好的电子设计网站,有射频
http://www.mwee.com/  微波站点
http://www.commsdesign.com/ 通讯电路设计资源,很好
http://www.ecs.umass.edu/ece/labs/antlab/RF_Microwave_Engr.html 一些微波资源
http://pesona.mmu.edu.my/~wlkung/  微波资源
http://ccrs.nrcan.gc.ca/resource/tutor/fundam/index_e.php 无线遥感资源
http://www.robotcafe.com/ 机器人
http://www.aaai.org/aitopics/html/soft.html  Software, Open Source Projects & Hardware
http://oap.sourceforge.net/ 开放式自动化项目
http://www.acroname.com/brainstem/tutorials/minbot/minbot.html 一个制作机器人的小教程
http://www.societyofrobots.com/robot_tutorial.shtml 机器人教程
http://robotroom.com/index.html  机器人个人站点
http://www.phidgetsusa.com/index.asp 一个不错的美国机器人制作公司
http://www1.cs.columbia.edu/robotics/home.html 一个大学robot研究机构
http://www.eeng.dcu.ie/~whelanp/resources/resources.html 机器视觉资源
http://www.sensorsmag.com/sensors/  国外的传感器杂志
http://www.roboticsonline.com/ 机器人在线
http://www.cs.cmu.edu/~cil/v-source.html 机器视觉的一些研究代码
http://www.mellesgriot.com/products/machinevision/machinetutorial.asp 不错的机器视觉的pdf教程
http://www.rdrop.com/~cary/html/robot_links.html 大量机器人链接
http://www.math.niu.edu/~behr/RC/  一个有教程的R/C网站
http://chaokhun.kmitl.ac.th/~kswichit/2051/contents.htm  2051C编程项目电路
http://www.ee.washington.edu/circuit_archive/circuits/F_ASCII_Schem_PC.html#ASCIISCHEMPC_001 打印机并口
http://www.rentron.com/RF-Remote.htm  RF控制
http://www.discovercircuits.com/  找电路的网站
http://www.electronickits.com/ 电子学习板
http://www.electronics-lab.com/links/ 可以找到完整的电子项目
http://www.electronicsteacher.com/ 大型电子教学站
http://chaokhun.kmitl.ac.th/~kswichit/rtc/rtc.htm  光偶的家用开关量控制,2051的
http://www.beam-online.com/  几个巨拽的机器人项目,,有飞虫
http://www.solarbotics.net/library/circuits/default.htm 太阳能机器人资源
http://www.electronics-lab.com/index.html  电子实验室
http://web.telia.com/~u85920178/use/rc-prop.htm 一个比例遥控电路
http://homepages.ihug.co.nz/~atong/ 狂多的R/C FAQ
http://www.thirtythousandfeet.com/rc.htm 大量R/C连接
http://www.heliguy.com/ 电直地带
http://www.hw-server.com/  接口设计方面资源
http://www.sxlist.com/techref/index.htm  个人计算机接口,文件等等资源
http://www.gjwtech.com/ 接口,机器人,vc串口
http://usbfans.com/
http://www.usbing.net/Index.html  usb开发资源
http://www.beyondlogic.org/  全的接口,,os,usb等等资料
http://www.ultracad.com/articles.htm 不错的pcb国外文章
http://library.lanl.gov/numerical/bookcpdf.html 数值计算在线(推荐)
http://sss-mag.com/dds.html  DDS资源
http://www.dspguru.com/  dsp入口
http://www.andraka.com/toc.htm fpga实现dsp的一个资源
http://focus.ti.com/dsp/docs/dsphome.tsp?sectionId=46  TI的DSP中心
http://www.gnuarm.com/resources.html  GNU  ARM入口
http://www.open-research.org.uk/ARMuC/  ARM的入口
http://www.olimex.com/dev/index.html
http://ustcers.com/blogs/devzhao/articles/category/65.aspx 一个不错的arm嵌入式的博客
http://www.lumit.org/ 不错的国内的自由ARM开发地
http://www.odyseus.nildram.co.uk/  RF微波的资源
http://www.designers-guide.org/ 设计者RF等
http://www.86x.net/myweb/index.asp  无线电爱好者
http://www.siste.com.ar/enlacesarchivos/Taller.htm 大量无线电电路
http://www.rfengineer.cc/  rf工程师的教学站
http://www.radio-electronics.com/index.php 不错的教学站
http://www.can-wiki.info/  can 总线入口
http://www.mjschofield.com/  can 基础原理
http://www.cnham.com/  国内的业余无线电资源
http://www.fieldbusworld.com/  现场总线资源
http://www.controlled.com/pc104faq/  pc104的资源入口,,推荐
http://www.profibus.com/ 工业总线官方站
http://www.maverick-os.dk/  操作系统设计的入口
http://www.freewind.com.cn/main.htm 国内的一个os站,不错
http://www.tompda.com/  国内一个PDA开发的资源
http://xoomer.alice.it/lorgler/sw-e.htm  飞思卡尔处理器的资源
http://www.biplip.com/default.aspx 国内的移动开发网
http://fleming0.flemingc.on.ca/~pspasov/MCU/mcu.htm   68HC11 Microcontrollers  入口
http://eet.etec.wwu.edu/CPU12/CPU12.html  68HC12 Examples and Documentation
http://ee.cleversoul.com/  大量处理器开发的资源,推荐
 
AVR单片机网址推荐
 
 
 
1.  EG3
关于嵌入式开发的站点,提供非常多关于嵌入式开发的资料。包括开发公司,技术文档,免费资源等等。版面包括busses & boards,embedded software,dsp,embedded systems,open source,rtos,embedded chips,system-on-a-chip 等等。
强烈推荐
http://www.eg3.com/ - 外文
 
2.  来自www.mikrocontroller.net大量实用链接
这里有许多所用链接关于AVR,8051,ARM,PIC.它收集的AVR信息是我看到的最好的。遗憾的是网站语言是德文。
http://www.mikrocontroller.net/articles/Linksammlung - 外文
 
3.  atmel公司的AVR专栏
AVR的第一手资料都在这了,可以下载所有AVR单片机的手册、应用资料和AVR studio等开发软件,而且很多应用笔记,有些中文资料.搞AVR非去不可的地方。
http://www.atmel.com/cn/products/avr/ - 中文
 
4.  MicroSyl MCU
非常多关于AVR单片机应用的网站,提供详细的文章。网站详细介绍了用AVR单片机制作的MP3、频率计、1602字符型LCD模块程序、Nokia3310显示屏程序等。提供非常多的库文件 OneWire Lib Text LCD Lib Graph LCD Lib 你Nokia LCD Lib
http://www.microsyl.com/ - 外文
 
5.  The First Stop for the Latest ICs and Components
非常好的关于微处理器,DSP,可以编程控制器资讯的网站,更新非常快。强烈推荐一些领导级别的人常去,了解行业动态!
http://www.eeproductcenter.com/ - 外文
 
6.  Embedded Etherne
Ethernut is an Open Source Hardware and Software Project for building tiny Embedded Ethernet Devices.主要是用在AVR系列单片机,提供足够资料.
它的下载也http://www.ethernut.de/en/download/index.html有不错的东西供下载,相关产品http://www.hw-group.com/products/charon2/index_en.html
开源项目支持 http://sourceforge.net/projects/ethernut/
http://www.ethernut.de/en/ - 外文
 
7.  Programmers Heaven - Assembler programming zone
大量的源代码,分类清晰,强烈推荐。但是有很多好像已经不再更新了。
http://www.programmersheaven.com/zone5/index.htm - 外文
 
8.  大量的关于AVR资源与应用的链接,推荐!
http://www.omegav.ntnu.no/avr/resources.php3 - 外文
 
9.  Build Your Own Microcontroller Projects
大量的微处理器DIY电路,非常好的入门级别的资料。这些微处理包括8051,avr,pic,89C2051/4051, Intel x86。强烈推荐。
http://chaokhun.kmitl.ac.th/~kswichit/ - 外文
 
10.  我们的AVR
本网站座右铭:无私的交流,完全开放的源代码及设计线路图。
让我们共同努力将它建设成国内资料最完整,最具参考价值的AVR单片机网站。强烈推荐
http://www.ouravr.com/ - 中文
 
11.  C-Language Function Library for Atmel AVR Processors
一个非常优秀的代码库,强烈3推荐.搞AVR不用它,真是的!
http://hubbard.engr.scu.edu/embedded/avr/avrlib/ - 外文
 
12.  决对优秀的AVR网站,不好你天天诅咒我,好就天天为我祈祷.
http://hubbard.engr.scu.edu/embedded/ - 外文
 
13.  一个非常有用的电子设计资源站。
这里包含的了大量的电子设计资源, DC motors, PWM control,Video Generation with AVR.Serial communications with AVR。特别是它收集了很大实用的链接,分类清晰。
http://instruct1.cit.cornell.edu/courses/ee476/ - 外文
 
14.  美国Cornell University课程ECE476所完成的项目。
这些项目都具有详细学习资料。共有200多个项目,看看这些东西,就能感觉国内与国外教学实践的差别。我们国家很多高校的电子相关专业的设计就是搞个键盘,搞个MAX7219显示,搞个DS1302时钟,'一百年不变'。看了它是我记得很不舒服。大家好好研究研究吧。特别是老师们,一定要深思。
一毛
http://instruct1.cit.cornell.edu/courses/ee476/FinalProjects/ - 外文
 
15.  Build Your Own Microcontroller Projects
This page provides schematic and software for hobbyists to practice "learn by doing", build a simple microcontroller projects at home. For those who would like to contribute projects, please prepare HTML files whatever you like to see but keep all files small and informative. I shall provide for others. DIY的好地方,强烈推荐.
http://www.kmitl.ac.th/~kswichit/ - 外文
 
16.  AvrX Real Time Kernel
AvrX is a Real Time Multitasking Kernel written for the Atmel AVR series of micro controllers. AvrX contains approximately 34 API in the following Six categories:
bullet Tasking
bullet Semaphores
bullet Timer Management
bullet Message Queues
bullet Single Step Debugging support
http://www.barello.net/avrx/index.htm - 外文
 
17.  GNU avr-gcc
The AVR-GCC is a freeware C compiler (and assembler) that is made available through the GNU project.详细的开发文档说明,强烈推荐。
http://www.avrfreaks.net/AVRGCC/ - 外文
 
18.  PonyProg串口编程软件
非常著名的串口编程软件,支持AVR,PIC ,I2C等等的编程。而且由LINUX与Windows版本。强烈推荐!
http://www.lancos.com/prog.html - 中文
 
19.  AVaRICE
AVaRICE is a program which interfaces the GNU Debugger GDB with the AVR JTAG ICE available from Atmel. There are some third party clones of the Atmel jtagice available for purchase via the web for prices much less than the Atmel's offering.
http://avarice.sourceforge.net/ - 外文
 
20.  All FastAVR output ASM routines are absolutely free
AVR单片机的BASIC开发软件及源程序例,还有图形点阵转换程序可以下载。特别是里面LCD开发工具,必须看看!
http://www.fastavr.com/ - 外文
 
21.  AVRbeginners.net
看题目就知道是什么地方了。非常适合初学者。
分类非常清晰。推荐!
http://www.avrbeginners.net/ - 外文
 
22.  Jesper's World on the Net
个人站点,站长肯定是个高手,居然写了仿真软件。
这个页面做的很差,资料不好找。
AVR栏目:http://www.myplace.nu/avr/
MP3应用:http://www.myplace.nu/mp3/
还有一些其它的好东西,等待大家发掘。
http://www.myplace.nu/ - 外文
 
23.  AVR and Robotics
一个关于AVR应用与机器人的站点!
http://www.barello.net/ - 外文
 
24.  双龙的AVR专栏,非常好。国内AVR单片机开发的先锋。
http://www.sl.com.cn/Special_News.asp?SpecialName=AVR专栏 - 中文
 
25.  Universal Bootloader
Universal Bootloader project provides firmware with full source code under GPL. Many CPU architectures are supported: PowerPC(MPC5xx, MPC8xx, MPC82xx, MPC7xx, MPC74xx, 4xx), ARM(ARM7, ARM9, StrongARM, Xscale), MIPS(4Kc,5Kc), x86, ...
http://sourceforge.net/projects/u-boot - 外文
 
26.  一个教程,非常有意思,利用动画来演示AVR单片机内部结构。
http://www.microschematic.com/inde.html - 外文
 
27.  Atmel AVR Code Examples
PID Motor Controller,GPS信息处理。USB Code,AVR Bootloaders,AVR with Ethernet Examples 等等。
http://hubbard.engr.scu.edu/embedded/avr/code/index.html - 外文
 
28.  Electronic circuits based on AVR micros
MIDI generator ,Analog inputs for ATtiny26 ,Acceleration meter for cars,2 channel RF remote control at 418 MHz,SMS remote control v2.0,Electronic safety-lock with telecard as key,AVR In-System Programmer,Visual Basic & AVR RS232 interface,AVR composite PAL colour bar generator, Ultra low-cost programmer for AT90Sxxxx family,IgorPlug-USB (AVR)
Universal USB interface,LCD 2x16 characters & 4x4 keypad example,Connect RS232 modem to E-10G, Programable LCD counter with memory backup,128x64 LCD Driver for AT90S2313,RCEN fuse bit programmer
http://www.serasidis.gr/ - 外文
 
29.  www.mikrocontroller.com
http://www.mikrocontroller.com/ - 外文
 
30.  WinAVR (AVR GCC)
WinAVR (pronounced "whenever") is a suite of executable, open source software development tools for the Atmel AVR series of RISC microprocessors hosted on the Windows platform. It includes the GNU GCC compiler for C and C++.
http://sourceforge.net/projects/winavr
http://winavr.sourceforge.net/ - 外文
 
31.  AVaRICE
AVaRICE is a program for interfacing the Atmel JTAG ICE to GDB to allow users to debug their embedded AVR target.
http://sourceforge.net/projects/avarice - 外文
 
32.  一些非常有用的GNU开发工具.资源,推荐
http://savannah.nongnu.org/projects/avr/
AVR Downloader/UploaDEr http://savannah.nongnu.org/projects/avrdude/
AVR USB http://savannah.nongnu.org/projects/avrusb/
an AVR simulator http://savannah.nongnu.org/projects/simulavr/
AVR In-System Programmer http://savannah.nongnu.org/projects/uisp/
http://savannah.nongnu.org/ - 外文
 
33.  www.mikrocontroller.net
非常好的AVR-Tutorial,而且非常好的AVR-GCC-Tutorial
http://www.mikrocontroller.net/ - 外文
 
34.  P COLTRANE
DIY Electronics, DIY PIC Projects, DIY AVR Projects, DIY X86 Projects, DIY Basic Stamp Projects - Tutorials, Schematics and Code
http://www.pcoltrane.com - 外文
 
35.  AVR Libc Home Page
AVR Libc is a Free Software project whose goal is to provide a high quality C library for use with GCC on Atmel AVR microcontrollers.
http://www.nongnu.org/avr-libc/ - 外文
 
36.  SmallC for AVR
SmallC for AVR has been extensively re-written to make it more efficient. Typical code space savings of over 50% on version 1 have been achieved. A complete User Manual is now available that puts in one place the details previously scattered throughout my old web pages. It includes many examples and code snippets on configuring and using the various AVR hardware.
http://www.jennaron.com.au/smallc/smallc.html - 外文
 
37.  PIC,AVR,ARM,MSP430开发DIY
该网站提供很多的PIC,AVR,ARM,MSP430的开发资料,特别适合自己制作开发系统,它的ARM开发(利用LPC21**系列)是非常号的资料。推荐。
http://www.olimex.com/dev/index.html - 外文
 
38.  AVR 中文数据手册已经可以获得了
ATMEL 正在为 AVR 微控制器的用户提供进一步的支持,那就是为他们提供产品的简体中文数据手册。这个表将不断地得到拓展。在浏览如下的产品卡时您可以找到这些数据手册:
ATmega16, ATmega16L, ATmega48, ATmega88, ATmega168, ATmega169, ATmega169V, ATmega32, ATmega32L, ATmega64, ATmega64L, ATmega8515, ATmega8535, ATmega8535L, ATtiny13, ATtiny2313, ATtiny26, ATtiny26L.
http://www.atmel.com/cn/products/avr/avr_chinese.asp - 中文
 
39.  CDK4AVR -- AVR Cross Development Kit 免费开源得开发工具
http://cdk4avr.sourceforge.net/ - 外文
 
40.  该网站提供一些有趣的AVR mcu project
http://www.avr-projekte.de/ - 外文
 
41.  AVR related stuff
提供一些AVR应用性的东西,有些实用代码。好像不怎么更新了。但是里面有些小工具与小代码还是有用的。I2C - Basic I2C driver (RTC, 8xIO, RAM, EEPROM)
LCD - How to connect HITACHI HD44780 chip set based matrix ASCII display
PC keyboard - How to connect PC keyboard to AVR
RC5 - Interrupt driven RC5 (infrared) decoder
printf - Simple PRINTF
delay - universal delay routines by Gregor Horvat
还有一个MP3项目:http://www.indata.si/grega/megapeg.htm
http://bray.velenje.cx/avr/ - 外文
 
42.  紫微单片机工作室
http://www.zwmcu.com/ - 中文
 
43.  This is a home page of a GNU tools for the ATMEL AVR micro controller
http://home.overta.ru/users/denisc/ - 外文
 
44.  AVR-Assembler-Tutorial
http://www.avr-asm-tutorial.net/avr_en/ - 外文
 
45.  中国单片机公共实验室.--可以看看.
http://www.bol-system.com/ - 中文
 
46.  我爱单片机
按照51,AVR,MSP430分类收集了不是的资料,遗憾的是网站不再更新。
可以看看。
http://will009.diy.myrice.com/index.htm - 中文
 
47.  Home of Toms GNU/Linux (and DOS) Atmel AVR assembler
一个轻量级的开源的AVR 汇编器.对于想研究这方面技术的工程师,这里是个出去.
http://www.tavrasm.org/ - 外文
 
48.  北天星国际有限公司
首页上有些AVR的资料下载,同时该公司提供AVR单片机开发套件.
http://www.po-star.com/chinese/Default.asp - 中文
 
49.  Microcontroller pages by Roland Walter
http://www.rowalt.de/mc/index.htm - 外文
 
50.  自由开发AVR
http://www.foravr.net/ - 中文
 
51.  一甲工作室
一甲工作室致力于AVR单片机的推广,以及相关产品包括AVR学习开发板、AVR并口下载线、无线遥控类产品和智能家居类产品的开发设计!AVR新站,请多多支持
http://www.yjavr.com/ - 中文
 
52.  单片机吧台
提供AVR、51单片机方面的源程序,一些单片机外围设计、设计方案、单片机的软件仿真等方面的内容,另外为方便各位同行,提供了一些相关资料的下载。
http://www.avrarm.com/ - 中文
 
53.  小章电子技术网 -很多实用电子资料下载。
http://www.zyjmcu.com/zlxz.htm - 中文
 
54.  WaveShare微雪电子首页-ATMEL芯片代理与相关产品开发-
http://www.waveshare.net/ - 中文

点击此处查看原文 >>

系统分类: 单片机   |    用户分类:    |    来源: 转贴

评论(0) | 阅读(300)
发表于:2008-1-27 21:55:15
标签:无标签

0

ADC基础知识--国半教材

国家半导体的关于ADC的基础知识讲座,看了之后应该对ADC有一个比较全面的了解

rar     ABCs_of_ADCs.part2.rar

rar    ABCs_of_ADCs.part2.rar

点击此处查看原文 >>

系统分类: 模拟技术   |    用户分类:    |    来源: 整理

评论(1) | 阅读(577)
发表于:2008-1-24 16:46:55
标签:无标签

0

声卡虚拟示波器,挺好玩的

双龙单片机的严宇亮的作品  rar

比一般的声卡示波器功能要强很多,感觉还比较好用

下面是运行的截图,适合爱好者在音频领域解决一些问题

点击此处查看原文 >>

系统分类: 虚拟仪器   |    用户分类:    |    来源: 整理

评论(2) | 阅读(1209)
发表于:2008-1-23 12:26:21
标签:无标签

1

整理:电子科大Tony工作总结

今天看到这样的一篇文章,然后网上搜索了一下,发现普遍比较乱,自己整理了一下,PDF整理得比较好,网页这个不太好编辑,作为预览好了icon

PDF下载:pdf

==================================================


    很早之前就想对这几个月工作经历写的东西,一是作为自己的总结,二是自己也很想将自己这段时间的一些经历和大家分享一下,希望对初学者而言能使得他们能少走一些弯路。只是公司里的事情很多,最近经常加班,所以一直拖到现在。
    能来到这家公司应该是一种缘份--缘起NIOS。当初三月份altera来我们学校建立SOPC实验室的时候自己还不知道NIOS是什么东西,只是想在altera的FAE讲完NIOS后多问他几个时序约束的问题,然后拷一份PPT回去。但是想不到因为那一份NIOS的培训资料,我认识了edacn上的cawan,他给我讲了很多NIOS的东西,之后是丁哥在SOC版帖了位NIOS大赛的通知,然后我和队友就去报了名,并去川大参加了NIOS的培训,认识了峻龙的FAE----也是我现在的boss。在这里要谢谢cawan、丁哥、和我一起参加NIOS竞赛的队友刘科以及我的BOSS,是他们让我有了这一段的经历。
   在公司里的几个月,做的项目其实不多,但是收获还是有一些,我觉得收获最大的是设计理念的改变,这也是我这段时间最想总结的,我会在后面逐渐阐述。
   版权所有,未经作者允许,禁止用于商业性质的转载;如对此文有疑问或想给作者提建议请给作者发email:wangdian@tom.com 

时序是设计出来的
    我的boss有在华为及峻龙工作的背景,自然就给我们讲了一些华为及altera做逻辑的一些东西,而我们的项目规范,也基本上是按华为的那一套去做。在工作这几个月中,给我感触最深的是华为的那句话:时序是设计出来的,不是仿出来的,更不是湊出来的。
    在我们公司,每一个项目都有很严格的评审,只有评审通过了,才能做下一步的工作。以做逻辑为例,并不是一上来就开始写代码,而是要先写总体设计方案和逻辑详细设计方案,要等这些方案评审通过,认为可行了,才能进行编码,一般来说这部分工作所占的时间要远大于编码的时间。
    总体方案主要是涉及模块划分,一级模块和二级模块的接口信号和时序(我们要求把接口信号的时序波形描述出来)以及将来如何测试设计。在这一级方案中,要保证在今后的设计中时序要收敛到一级模块(最后是在二级模块中)。什么意思呢?我们在做详细设计的时候,对于一些信号的时序肯定会做一些调整的,但是这种时序的调整最多只能波及到本一级模块,而不能影响到整个设计。记得以前在学校做设计的时候,由于不懂得设计时序,经常因为有一处信号的时序不满足,结果不得不将其它模块信号的时序也改一下,搞得人很郁闷。
    在逻辑详细设计方案这一级的时候,我们已经将各级模块的接口时序都设计出来了,各级模块内部是怎么实现的也基本上确定下来了。
    由于做到这一点,在编码的时候自然就很快了,最重要的是这样做后可以让设计会一直处于可控的状态,不会因为某一处的错误引起整个设计从头进行。

  做逻辑的难点在于系统结构设计和仿真验证
    刚去公司的时候BOSS就和我讲,做逻辑的难点不在于RTL级代码的设计,而在于系统结构设计和仿真验证方面。目前国内对可综合的设计强调的比较多,而对系统结构设计和仿真验证方面似乎还没有什么资料,这或许也从一个侧面反映了国内目前的设计水平还比较低下吧。
    以前在学校的时候,总是觉得将RTL级代码做好就行了,仿真验证只是形式而已,所以对HDL的行为描述方面的语法不屑一顾,对testbench也一直不愿意去学--因为觉得画波形图方便;对于系统结构设计更是一点都不懂了。
    到了公司接触了些东西才发现完全不是这样。
    其实在国外,花在仿真验证上的时间和人力大概是花在RTL级代码上的两倍,现在仿真验证才是百万门级芯片设计的关键路径。仿真验证的难点主要在于怎么建模才能完全和准确地去验证设计的正确性(主要是提高代码覆盖),在这过程中,验证速度也是很重要的。
    验证说白了也就是怎么产生足够覆盖率的激励源,然后怎么去检测错误。我个人认为,在仿真验证中,最基本就是要做到验证的自动化。这也是为什么我们要写testbench的原因。在我现在的一个设计中,每次跑仿真都要一个小时左右(这其实算小设计)。由于画波形图无法做到验证自动化,如果用通过画波形图来仿真的话,一是画波形会画死(特别是对于算法复杂的、输入呈统计分布的设计),二是看波形图要看死,三是检错率几乎为零。
    那么怎么做到自动化呢?我个人的水平还很有限,只能简单地谈下BFM(bus function model,总线功能模型)。
    以做一个MAC的core为例(背板是PCI总线),那么我们需要一个MAC_BFM和PCI_BFM及PCI_BM(PCI behavior model)。MAC_BFM的主要功能是产生以太网帧(激励源),随机的长度和帧头,内容也是随机的,在发送的同时也将其复制一份到PCI_BM中;PCI_BFM的功能则是仿PCI总线的行为,比如被测收到了一个正确帧后会向PCI总线发送一个请求,PCI_BFM则会去响应它,并将数据收进来;PCI_BM的主要功能是将MAC_BFM发送出来的东西与PCI_BFM接收到的东西做比较,由于它具有了MAC_BFM的发送信息和PCI_BFM的接收信息,只要设计合理,它总是可以自动地、完全地去测试被测是否工作正常,从而实现自动检测。
    华为在仿真验证方面估计在国内来说是做的比较好的,他们已建立起了比较好的验证平台,大部分与通信有关的BFM都做好了,听我朋友说,现在他们只需要将被测放在测试平台中,并配置好参数,就可以自动地检测被测功能的正确与否。
    在功能仿真做完后,由于我们做在是FPGA的设计,在设计时已经基本保证RTL级代码在综合结果和功能仿真结果的一致性,只要综合布局布线后的静态时序报告没有违反时序约束的警告,就可以下到板子上去调试了。事实上,在华为中兴,他们做FPGA的设计时也是不做时序仿真的,因为做时序仿真很花时间,且效果也不见得比看静态时序分析报告好。
    当然了,如果是ASIC的设计话,它们的仿真验证的工作量要大一些,在涉及到多时钟域的设计时,一般还是做后仿的。不过在做后仿之前,也一般会先用形式验证工具和通过静态时序分序报告去查看有没有违反设计要求的地方,这样做了之后,后仿的工作量可以小很多。
    在HDL语言方面,国内语言很多人都在争论VHDL和verilog哪个好,其实我个人认为这并没有多大的意义,外面的大公司基本上都是用verilog在做RTL级的代码,所以还是建议大家尽量学verilog。在仿真方面,由于VHDL在行为级建模方面弱于verilog,用VHDL做仿真模型的很少,当然也不是说verilog就好,其实verilog在复杂的行为级建模方面的能力也是有限的,比如目前它还不支持数组。在一些复杂的算法设计中,需要高级语言做抽象才能描述出行为级模型。在国外,仿真建模很多都是用System C和E语言,用verilog的都算是很落后的了,国内华为的验证平台好像是用System C写。
    在系统结构设计方面,由于我做的设计还不够大,还谈不上什么经验,只是觉得必须要具备一些计算机系统结构的知识才行。划分的首要依据是功能,之后是选择合适的总线结构、存储结构和处理器架构,通过系统结构划分要使各部分功能模块清晰,易于实现。这一部分我想过段时间有一点体会了再和大家分享,就先不误导大家了。

规范很重要
    工作过的朋友肯定知道,公司里是很强调规范的,特别是对于大的设计(无论软件还是硬件),不按照规范走几乎是不可实现的。逻辑设计也是这样:如果不按规范做的话,过一个月后调试时发现有错,回头再看自己写的代码,估计很多信号功能都忘了,更不要说检错了;如果一个项目做了一半一个人走了,接班的估计得从头开始设计;如果需要在原来的版本基础上增加新功能,很可能也得从头来过,很难做到设计的可重用性。
    在逻辑方面,我觉得比较重要的规范有这些:
    1.设计必须文档化。
    要将设计思路,详细实现等写入文档,然后经过严格评审通过后才能进行下一步的工作。这样做乍看起来很花时间,但是从整个项目过程来看,绝对要比一上来就写代码要节约时间,且这种做法可以使项目处于可控、可实现的状态。
    2.代码规范。
    a.设计要参数化。比如一开始的设计时钟周期是30ns,复位周期是5个时钟周期,我们可以这么写:
          parameter  CLK_PERIOD = 30;
          parameter  RST_MUL_TIME = 5;
          parameter  RST_TIME = RST_MUL_TIME * CLK_PERIOD;
          ...
          rst_n = 1'b0;
          # RST_TIME rst_n = 1'b1;
          ...
          # CLK_PERIOD/2 clk <= ~clk;
     如果在另一个设计中的时钟是40ns,复位周期不变,我们只需对CLK_PERIOD进行重新例化就行了,从而使得代码更加易于重用。
    b.信号命名要规范化。
    1) 信号名一律小写,参数用大写。
    2) 对于低电平有效的信号结尾要用_n标记,如rst_n。
    3) 端口信号排列要统一,一个信号只占一行,最好按输入输出及从哪个模块来到哪个模块去的关系排列,这样在后期仿真验证找错时后  方便很多。如:
       module a(
                //input
                clk,
                rst_n,   //globle signal
                wren,
                rden,
                avalon_din,  //related to avalon bus
                sdi,         //related to serial port input
                //output
                data_ready,
                avalon_dout, //related to avalon bus
                ...
               );
       4) 一个模块尽量只用一个时钟,这里的一个模块是指一个module或者是一个entity。在多时钟域的设计中涉及到跨时钟域的设计中最好有专门一个模块做时钟域的隔离。这样做可以让综合器综合出更优的结果。
       5) 尽量在底层模块上做逻辑,在高层尽量做例化,顶层模块只能做例化,禁止出现任何胶连逻辑(glue logic),哪怕仅仅是对某个信号取反。理由同上。
       6) 在FPGA的设计上禁止用纯组合逻辑产生latch,带D触发器的latch的是允许的,比如配置寄存器就是这种类型。
       7) 一般来说,进入FPGA的信号必须先同步,以提高系统工作频率(板级)。
       8) 所有模块的输出都要寄存器化,以提高工作频率,这对设计做到时序收敛也是极有好处的。
       9) 除非是低功耗设计,不然不要用门控时钟--这会增加设计的不稳定性,在要用到门控时钟的地方,也要将门控信号用时钟的下降沿 打一拍再输出与时钟相与。
                
       10)禁止用计数器分频后的信号做其它模块的时钟,而要用改成时钟使能的方式,否则这种时钟满天飞的方式对设计的可靠性极为不利,也大大增加了静态时序分析的复杂性。如FPGA的输入时钟是25M的,现在系统内部要通过RS232与PC通信,要以rs232_1xclk的速率发送数据。
         不要这样做:
         always (posedge rs232_1xclk or negedge rst_n)
         begin
             ...
         end
         而要这样做:
         always (posedge clk_25m or negedge rst_n)
         begin
             ...
             else if ( rs232_1xclk == 1'b1 )
             ...
         end
       11)状态机要写成3段式的(这是最标准的写法),即
          ...
          always @(posedge clk or negedge rst_n)
          ...
              current_state <= next_state;
          ...
          always @ (current_state ...)
          ...
          case(current_state)
                ...
                s1:
                   if ...