verilogHDL 精粹
[ 2006-12-12 20:01:00 | By: 夏虫 ]
0
推 荐
针对 C 语言编程者的 Verilog 开发指南实例
本文举例说明了如何用软件实现脉宽调制(PWM),如何将该设计转换成一个可以
在 FPGA 中运行的逻辑块,并能利用存储器映射 I/O 接口通过软件完成对该逻辑
块的控制。通过理解本文讨论的概念和内容,没有太多硬件知识的软件开发人员
也能掌握在 FPGA 上开发硬件的技能。
在不远的将来,嵌入式系统设计师将能够根据哪个更有利于解决设计问题来自由
选择硬件和软件方案。但直到现在,对于那些想学习硬件设计的软件工程师来说
不少障碍仍然很难逾越。由于硬件描述语言和编程语言非常相似,因此最终这些
障碍会消失。另外,市场上已有好几种低成本的演示板,上面包含现场可编程门
阵列(FPGA)、微处理器以及相应工具,软件开发人员可以借此来学习硬件设计。
本文举例说明了一个使用 FPGA 的新设计流程,我们从中可以知道如何用软件实
现 PWM,然后如何将该设计转换成一个可以在 FPGA 中运行的逻辑块,并能利用
存储器映射 I/O 接口通过软件完成对该逻辑块的控制。
软硬件划分
现在的情况与以前有所不同,软件工程师能够方便地参与到硬件设计中。不管是
硬件模块还是软件模块现在都可以用编程语言进行设计。众所周知,C 语言是嵌
入式软件设计的通用语言。在硬件设计方面,Verilog 则是流行的选择(用 VHDL
的人也很多)。Verilog 的语法和结构与 C 编程语言非常相似,从本文的例子中
也可以看到这一点。
同时,硬件的升级和修改也变得越来越方便。以前可以通过下载新的可执行映像
文件升级软件,但对硬件却行不通。现在情况不同了。就像软件开发人员能够快
速编辑、重新编译、然后将新代码下载到存储器那样,使用可编程逻辑器件的硬
件设计者也能做类似的事情。可编程逻辑改变了嵌入式系统的设计方法,设计者
可以像修改软件那样方便地修改硬件。换句话说,在设计和调试阶段,设计者能
够灵活选择软件方式或硬件方式来作为完成任务的最佳方式。
设计者无需太多的硬件知识就可以利用 FPGA 供应商提供的工具轻松地开发出可
编程逻辑嵌入式系统。例如,Altera 公司的 SOPC Builder 能帮助系统设计师从
已有的库中选择和配置外围电路,并增加用来创建和连接外围电路的用户逻辑。
加上一些可编程逻辑和硬件知识,软件工程师就能够充分利用硬件的优势改进他
们的系统。