IT技术互动交流平台

VHDL语言中信号的不同形式设置

来源:IT165收集  发布日期:2011-10-14 10:54:04

 

1概述

VHDL是一种快速的电路设计工具,功能涵盖 了电路描述、电路合成、电路仿真等三大电路设计工作。目前广泛使用的软件有Altera公司出品的MAX+PLUSII,Xinlinx公司的Foundation等。

VHDL语言中有两种基本的语句命令:并行同 时语句命令以及顺序语句命令。两者之间最大的不同点是,并行同时语句命令就像是电路板的动作方 式,不论几个命令,是一次且同时执行,产生结果;顺序语句命令类似一般的程序语言,如BASIC等的执行方式,是一次一个命令,且依书写方式由上而下地执行。

并行同时语句命令主要有以下几种表达方式: 直接设置语句(使用<=运算符)、条件式信号设置语句(When-Else)与选择式信号设置语句(With-Select-When)等;

顺序语句命令主要有以下几种表达方式:Pro cess(过程)、If-Else(判断比较)、Wait Until(等待)、Case-Is-When(描述选择)等。

熟练而灵活地使用上述两类命令,可以节省大 量的工作量,使程序简单直观、可读性增强而且有利于提高程序的编译执行效率。

在数据通信过程中,同位器与同位检查器常用 于数据纠错。本文就以一个简单偶同位产生器(Even Parity Bit Generator)真值表功能的实现方法来探讨上述表达方式选择问题,以及编程 过程中的注意事项。

2编程举例

例:试设计VHDL程序完成如表1偶同位器的 真值表功能:

分析:由真值表可以看出,所要实现的是一个由三个数据位、一个同位位组成的偶同位产生器功 能。不难得出各位之间的简单逻辑关系:P=S0S1S2 。但是本文的主要目的在于通过此例阐述如何灵活运用不同的基本表达式设置信号,因此 某些可能更加简单的方法以及比较高级一点语句本文不予详细讨论。

解:(注:VHDL语言中使用“--”作为注释符号)

library ieee; ①

use ieee.std_logic_1164.all;

use ieee.std_logic_arith.all;

use ieee.std_logic_unsigned.

all;

ENTITY hf is --假设建立的芯片电路名称以及保存后的文件名为“hf”;

Port(
s: in std_logic_vector(2 downto 0);
z: out std_logic  --最后一个管脚定义命令后面,不可加分号;
);

end hf; --应该保证电路单元名称与存盘的文件名一致,否则编译时 出错;

ARCHITECTURE a OF hf IS

Begin --以上是本例题解答过程中的公共部分,其后分别接各解法语句。

--******************************

--解法1:使用“hen -Else”表达方式②

z<=‘0’when (s="000") else --此语句只能将s的各个值分开写,而不能写成如下形式:

0’ when (s="011") else -- z<=‘0’

when (s="000" or s="011" or s="110" or s="111")

0’ when (s="110") else -- else ‘1’;

‘0’ when (s="111") else

‘1’ when (s="001") else

‘1’ when (s="001") else

‘1’ when (s="001") else

‘1’;

End a;

--解法2:使用揥ith -Select -When表达方式:

延伸阅读:

Tag标签: VHDL语言  
  • 专题推荐

About IT165 - 广告服务 - 隐私声明 - 版权申明 - 免责条款 - 网站地图 - 网友投稿 - 联系方式
本站内容来自于互联网,仅供用于网络技术学习,学习中请遵循相关法律法规