位置:51电子网 » 技术资料 » D S P

电子设计自动化中的硬件描述语言

发布时间:2008/5/27 0:00:00 访问次数:589

冼凯仪
(佛山科学技术学院,广东 佛山 528000)
摘要:通过一个设计例子介绍了vhdl语言的应用,说明了实现电子电路的电子设计自动化(eda)过程。

关键词:vhdl;设计程序;实例

中图分类号:tp312 文献标识码:a 文章编号:1003-353x(2003)04-0076-03

1 引言

vhdl是超高速集成电路硬件描述语言。1993 年,ieee对vhdl进行了修订,从更高的抽象层次和系统描述能力上扩展vhdl的内容,公布了新版本的vhdl,即ieee标准的1076-1993版本(简称93版)。现在,vhdl作为ieee的工业标准硬件描述语言,得到众多eda公司的支持,在电子工程领域,已成为事实上的通用硬件描述语言。

vhdl具有极强的描述能力,能支持系统行为级、寄存器传输级和门级三个不同层次的设计,这样设计师在top_down设计的全过程中均可方便地使用同一种语言。vhdl设计并不十分关心一个具体逻辑是靠何种方式实现的,设计人员不需通过门级原理图描述电路,而是针对目标进行功能描述,把开发者的精力集中到逻辑所实现的功能上,将设计人员的工作重心提高到了系统功能的实现与调试上,只需花较少的精力用于物理实现。由于摆脱了电路细节的束缚,设计人员可以专心于设计方案和构思,使得设计工作省时省力,加快了设计周期。

硬件描述语言(vhdl)是一种用于设计硬件电子系统的计算机语言,它用软件编程的方式来描述电子系统的逻辑功能、电路结合和连接形式,与传统的门级描述方式相比,它更适合大规模系统的设计。例如一个32位的加法器,利用图形输入500至1000个门,而利用vhdl语言只需要书写一行 “a=b+c”即可。而且vhdl语言可读性强,易于修改和发现错误。

2 vhdl的主要特点

(1)与其他的硬件描述语言相比,vhdl具有更强的行为描述能力。强大的行为描述能力避开了具体的器件结构,是在逻辑行为上描述和设计大规模电子系统的重要保证。vhdl的宽范围描述能力使它成为高层次设计的核心,从而决定了它成为系统设计领域最佳的硬件描述语言,并可进行系统的早期仿真以保证设计的正确性。

(2)vhdl丰富的仿真语句和库函数,使得在任何大系统的设计早期就能查验设计系统功能的可行性,随时可对设计进行仿真模拟。

(3)vhdl语句的行为描述能力和程序结构,决定了它具有支持大规模设计的分解和已有设计的再利用功能。

(4)对于用vhdl完成的一个确定的设计,可以利用eda工具进行逻辑综合和优化,并自动地把vhdl描述设计转变成门级网表。

(5)vhdl对设计的描述具有相对独立性,设计者可以不懂硬件的结构,也不必管理最终设计实现的目标器件是什么,而进行独立的设计。

(6)用vhdl语言编写的源程序便于文档管理,用源代码描述来进行复杂控制逻辑的设计,既灵活方便,又便于设计结果的交流、保存和重用。

(7)vhdl的设计不依赖于特定的器件,方便了工艺的转换。

(8)vhdl是一个标准语言,为众多的eda 厂商支持,因此移植性好。

3 vhdl的应用实例

本例子介绍的通信方式是pc机通过串行口的 rxd和txd直接与单片机89c2051通信,然后单片机再与目标器件fpga通信,这是一种实用的通信方式。设计的程序含与单片机通信的逻辑设计文件,其中应用了与单片机p1端口通信的双向端口 dinout 的 inout 模式,然后设计了 单片机的通信文件 fsend.asm 和 pc 机的通信文件ftest.c及ftest.exe。本设计的功能是将fpga在实验板上测得的频率 (频率范围1hz~50mhz)通过单片机89c2051送入pc机,并在屏幕上显示;同时将完成pc机、单片机和fpga的双向通信的功能。

文件名:freqtest.vhd

library ieee;

use ieee.std_logic_1164.all;

entity freqtest is

port (clk, fsin, p37 : in std_logic;

dinout : inout std_logic_vector(7 downto 0);

sel: in std_logic_vector(2 downto 0);

dataout : out std_logic_vector(11 downto 0) );

end freqtest;

architecture struc of freqtest is

component testctl

port ( clk : in std_logic; tsten : out std_logic;

clr_cnt : out std_logic; load : out std_logic );

end component;

component cnt10

port(clk:in std_logic; clr : in std_logic; ena : in std_logic;

cq : out std_logic_vector(3 downto 0);

carry_out : out std_logic );

end component;

componet reg32b

port(load : in std_logic;

din : in std_logic_vector(31 downto 0);

dout : out std_logic_vector(6 downto 0));

<

冼凯仪
(佛山科学技术学院,广东 佛山 528000)
摘要:通过一个设计例子介绍了vhdl语言的应用,说明了实现电子电路的电子设计自动化(eda)过程。

关键词:vhdl;设计程序;实例

中图分类号:tp312 文献标识码:a 文章编号:1003-353x(2003)04-0076-03

1 引言

vhdl是超高速集成电路硬件描述语言。1993 年,ieee对vhdl进行了修订,从更高的抽象层次和系统描述能力上扩展vhdl的内容,公布了新版本的vhdl,即ieee标准的1076-1993版本(简称93版)。现在,vhdl作为ieee的工业标准硬件描述语言,得到众多eda公司的支持,在电子工程领域,已成为事实上的通用硬件描述语言。

vhdl具有极强的描述能力,能支持系统行为级、寄存器传输级和门级三个不同层次的设计,这样设计师在top_down设计的全过程中均可方便地使用同一种语言。vhdl设计并不十分关心一个具体逻辑是靠何种方式实现的,设计人员不需通过门级原理图描述电路,而是针对目标进行功能描述,把开发者的精力集中到逻辑所实现的功能上,将设计人员的工作重心提高到了系统功能的实现与调试上,只需花较少的精力用于物理实现。由于摆脱了电路细节的束缚,设计人员可以专心于设计方案和构思,使得设计工作省时省力,加快了设计周期。

硬件描述语言(vhdl)是一种用于设计硬件电子系统的计算机语言,它用软件编程的方式来描述电子系统的逻辑功能、电路结合和连接形式,与传统的门级描述方式相比,它更适合大规模系统的设计。例如一个32位的加法器,利用图形输入500至1000个门,而利用vhdl语言只需要书写一行 “a=b+c”即可。而且vhdl语言可读性强,易于修改和发现错误。

2 vhdl的主要特点

(1)与其他的硬件描述语言相比,vhdl具有更强的行为描述能力。强大的行为描述能力避开了具体的器件结构,是在逻辑行为上描述和设计大规模电子系统的重要保证。vhdl的宽范围描述能力使它成为高层次设计的核心,从而决定了它成为系统设计领域最佳的硬件描述语言,并可进行系统的早期仿真以保证设计的正确性。

(2)vhdl丰富的仿真语句和库函数,使得在任何大系统的设计早期就能查验设计系统功能的可行性,随时可对设计进行仿真模拟。

(3)vhdl语句的行为描述能力和程序结构,决定了它具有支持大规模设计的分解和已有设计的再利用功能。

(4)对于用vhdl完成的一个确定的设计,可以利用eda工具进行逻辑综合和优化,并自动地把vhdl描述设计转变成门级网表。

(5)vhdl对设计的描述具有相对独立性,设计者可以不懂硬件的结构,也不必管理最终设计实现的目标器件是什么,而进行独立的设计。

(6)用vhdl语言编写的源程序便于文档管理,用源代码描述来进行复杂控制逻辑的设计,既灵活方便,又便于设计结果的交流、保存和重用。

(7)vhdl的设计不依赖于特定的器件,方便了工艺的转换。

(8)vhdl是一个标准语言,为众多的eda 厂商支持,因此移植性好。

3 vhdl的应用实例

本例子介绍的通信方式是pc机通过串行口的 rxd和txd直接与单片机89c2051通信,然后单片机再与目标器件fpga通信,这是一种实用的通信方式。设计的程序含与单片机通信的逻辑设计文件,其中应用了与单片机p1端口通信的双向端口 dinout 的 inout 模式,然后设计了 单片机的通信文件 fsend.asm 和 pc 机的通信文件ftest.c及ftest.exe。本设计的功能是将fpga在实验板上测得的频率 (频率范围1hz~50mhz)通过单片机89c2051送入pc机,并在屏幕上显示;同时将完成pc机、单片机和fpga的双向通信的功能。

文件名:freqtest.vhd

library ieee;

use ieee.std_logic_1164.all;

entity freqtest is

port (clk, fsin, p37 : in std_logic;

dinout : inout std_logic_vector(7 downto 0);

sel: in std_logic_vector(2 downto 0);

dataout : out std_logic_vector(11 downto 0) );

end freqtest;

architecture struc of freqtest is

component testctl

port ( clk : in std_logic; tsten : out std_logic;

clr_cnt : out std_logic; load : out std_logic );

end component;

component cnt10

port(clk:in std_logic; clr : in std_logic; ena : in std_logic;

cq : out std_logic_vector(3 downto 0);

carry_out : out std_logic );

end component;

componet reg32b

port(load : in std_logic;

din : in std_logic_vector(31 downto 0);

dout : out std_logic_vector(6 downto 0));

<
相关IC型号
版权所有:51dzw.COM
深圳服务热线:13751165337  13692101218
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式


 复制成功!