用户中心

资讯 > 自动化软件

用 GNU 工具学习硬件逻辑设计

来源:www.chinaitlab.com2006.05.16阅读 792

 1、ASIC应用领域

  上面的话题都是当代 ASIC ( Application Specific Intergrated Circuits ) 技术的主要应用领域,大致可以分为三个方面吧。


  第一:芯片设计和验证领域,这个也是当前最热门的领域;

  第二:数控控制工程网版权所有,自动化www.cechina.cn,特种仪器仪表,特种设备领域,由于需求特殊,很难找到量产的通用芯片,所以用 CPLD / FPGA 来实现硬逻辑就成了唯一的选择;
  
  第三:需要现场系统重构的场合,如手机,车载电子设备等等,因应不同的系统即时任务控制工程网版权所有,对 CPLD / FPGA 进行现场编程,以适应不同的算法和控制任务;

  和 CPLD / FPGA 目前的广泛应用不是很相称的是开源和自由软件在 ASIC 方面还比较原始,要达到像 Apach, GCC ... 等这些开源软件那样的成熟程度,恐怕还有相当长一段路要走,但是作为学习或者是门数有限的中小规模的电路仿真,现有的 GNU 工具应该是个很好的选择,因为现在的商业 ASIC 工具实在是太贵。

  本文仅仅是一个介绍性的文章,通过一个开源项目的简单例子来说明一下硬件设计的

基本概念CONTROL ENGINEERING China版权所有,本文所涉及到的相关知识请大家自己找资料学习。有兴趣的朋友可以去开源硬件设计网站 http://opencores.org 看一下,上面从 CPU,内存到各种通讯控制器等等的设计应有尽有。

  本文将以 Gentoo Linux 作为系统来说明,用其他发行版的朋友,请自行安装相应的软件包(iverilog, gtkwave)。硬件描述语言采用 verilog 。


  2、安装应用;


  下面让我们来做一个硬件设计的 hello world:

  第一步:安装相关的软件包

 

# emerge iverilog gtkwave


  第二步:编译 verilog 源代码

 

$ cp -rv /usr/share/doc/iverilog-0.8 ~
$ gunzip ~/iverilog-0.8/*.gz

  我们将 iverilog 的文档复制并解压到我们的用户目录下面,里面有 iverilog 的一些范例和文章,大家自行阅读一下。现在我们用其中的一个内存设计的简单例子来练习一下。


$ cp ~/iverilog-0.8
$ iverilog -o show_vcd show_vcd.vl

  这样将编译出一个仿真脚本命令 ./show_vcd, 运行这个命令,就会得到一个仿真文件 show_vcd.vcd, 我们再用另外一个 GNU 项目 gtkwave 来查看这个芯片设计的引脚以及各个寄存器的时序。


$ ./show_vcd
$ gtkwave ./show_vcd.vcd &

  上面的命令打开了仿真文件CONTROL ENGINEERING China版权所有,但是正常情况下,你还是看不到任何东西。在 gtkwave 窗口中选择 "Search"->"Signal Search Tree", 将打开信号查看选择窗口,点选你要查看的芯片引脚或者寄存器,然后点击 "Append" 按钮,在 gtkwave 主窗口中就会出现相应的时序信号。

  本文的两个附件是我分别用 iverilog + gtkwave 以及商业软件 Xilinx ModelSim 的仿真结果的截图,可以看出 GNU 工具的仿真结果和商业 ASIC 工具的仿真结果是完全相同的。

用 GNU 工具学习硬件逻辑设计如图

用 GNU 工具学习硬件逻辑设计如图














版权声明:版权归控制工程网所有,转载请注明出处!

频道推荐

关于我们

控制工程网 & CONTROL ENGINEERING China 全球工业控制、自动化和仪器仪表领域的先锋媒体

CE全球

联系我们

商务及广告合作
任小姐(北京)                 夏小姐(上海)
电话:010-82053688      电话:18616877918
rendongxue@cechina.cn      xiashuxian@cechina.cn
新闻投稿:王小姐

关注我们的微信

关于我们 | 网站地图 | 联系我们
© 2003-2020    经营许可编号:京ICP证120335号
公安机关备案号:110102002318  服务热线:010-82053688