传统的硬件电路设计方法是采用自下而上的设计方法,即根据系统对硬件的要求,详细编制技术规格书,并画出系统控制流图;然后根据技术规格书和系统控制流图,对系统的功能进行细化,合理地划分功能模块,并画出系统的功能框图;接着就进行各功能模块的细化和电路设计;各功能模块电路设计、调试完成后,将各功能模块的硬件电路连接起来再进行系统的调试,最后完成整个系统的硬件设计。采用传统方法设计数字系统,特别是当电路系统非常庞大时,设计者必须具备较好的设计经验,而且繁杂多样的原理图的阅读和修改也给设计者带来诸多的不便。
为了提高开发的效率,增加已有开发成果的可继承性以及缩短开发周期,各asic研制和生产厂家相继开发了具有自己特色的电路硬件描述语言(hardware description language,简称hdl)。但这些硬件描述语言差异很大,各自只能在自己的特定设计环境中使用,这给设计者之间的相互交流带来了极大的困难。因此,开发一种强大的、标准化的硬件描述语言作为可相互交流的设计环境已势在必行。于是,美国于1981年提出了一种新的、标准化的hdl,称之为vhsic(very high speed integrated circuit) hardware description language,简称vhdl。这是一种用形式化方法来描述数字电路和设计数字逻辑系统的语言。设计者可以利用这种语言来描述自己的设计思想,然后利用电子设计自动化工具进行仿真,再自动综合到门级电路,最后用pld实现其功能。
vhdl特点
与其他硬件描述语言相比,vhdl具有以下特点:
功能强大、设计灵活
vhdl具有功能强大的语言结构,可以用简洁明确的源代码来描述复杂的逻辑控制。它具有多层次的设计描述功能,层层细化,最后可直接生成电路级描述。vhdl支持同步电路、异步电路和随机电路的设计,这是其他硬件描述语言所不能比拟的。vhdl还支持各种设计方法,既支持自底向上的设计,又支持自顶向下的设计;既支持模块化设计,又支持层次化设计。
支持广泛、易于修改
由于vhdl已经成为ieee标准所规范的硬件描述语言,大多数eda工具几乎都支持vhdl,这为vhdl的进一步推广和广泛应用奠定了基础。在硬件电路设计过程中,主要的设计文件是用vhdl编写的源代码,因为vhdl易读和结构化,所以易于修改设计。
强大的系统硬件描述能力
vhdl具有多层次的设计描述功能,既可以描述系统级电路,又可以描述门级电路。而描述既可以采用行为描述、寄存器传输描述或结构描述,也可以采用三者混合的混合级描述。另外,vhdl支持惯性延迟和传输延迟,还可以准确地建立硬件电路模型。vhdl支持预定义的和自定义的数据类型,给硬件描述带来较大的自由度,使设计人员能够方便地创建高层次的系统模型。
独立于器件的设计、与工艺无关
设计人员用vhdl进行设计时,不需要首先考虑选择完成设计的器件,就可以集中精力进行设计的优化。当设计描述完成后,可以用多种不同的器件结构来实现其功能。
很强的移植能力
vhdl是一种标准化的硬件描述语言,同一个设计描述可以被不同的工具所支持,使得设计描述的移植成为可能。
易于共享和复用
vhdl采用基于库(library)的设计方法,可以建立各种可再次利用的模块。这些模块可以预先设计或使用以前设计中的存档模块,将这些模块存放到库中,就可以在以后的设计中进行复用,可以使设计成果在设计人员之间进行交流和共享,减少硬件电路设计。
vhdl20秒倒计时源代码
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity js is
port(clk_1s,rst,s:in std_logic;
ta,tb:out integer range 0 to 9);
end js;
architecture one of js is signal co:std_logic;
signal ta1,tb1:integer range 0 to 9;
begin
p1:process(clk_1s,rst,s,ta1) begin
if rst=‘0’ then
ta1<=4;
elsif clk_1s‘event and clk_1s=’1‘ then
co<=’0‘;
if s=’1‘ then
if ta1= 0 then
ta1<=9;
co<=’1‘;
else ta1<=ta1-1;
end if;
end if;
end if;
end process p1;
p2:process(co,rst,s,tb1)
begin
if rst=’0‘ then
tb1<=1;
elsif co’event and co=‘1’ then
if s=‘1’ then
if tb1=0 then
tb1<=1;
else tb1<=tb1-1;
end if; end if;
end if;
end process p2;
ta<=ta1;
tb<=tb1;
end one;
人工智能技术可帮助企业采用更多的解决方案
四路无线遥控开关的设计方案
基于局部定向模式的CLDP算法改进人脸识别性能
造芯路难行,小米、vivo、华为另有它法
中兴通讯与中国移动正式达成了低端交换机集中采购框架协议
vhdl20秒倒计时源代码介绍
如何用10行bash shell脚本监控Linux
TCL华星首次超越LGD出货排名全球第一
并驾齐驱的创新之举 “一带一路”和互联网发展
Altium Designer 软件使用中的一些技巧分享
人工智能的发展现状及重大事件
一文详解CAN总线
常用HV=HB=HRC硬度对照表
高频平板变压器的原理与设计
如何现场对硬件进行编程呢
三星S10+采用了4100mAh大电池超长续航能力据手机界第一
如何利用C语言程序去设计一种宿舍信息管理系统?
震撼的颠覆性设计——液态金属制造iPhone5
为什么手机脸部识别的解锁速度差距这么大
达内科技高职院校人工智能方案备受关注