- 1、本文档共153页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
第九章 VHDL程序基础;硬件描述语言VHDL;硬件描述语言VHDL的特点;初学者如何学好VHDL;9.1.1 VHDL程序基本结构;;;库说明语句的语法形式为:
LIBRARY 库名; --说明使用什么库
USE 库名.程序包名.项目名;--说明使用库中哪个程序包及 包集合中的项目;; WORK库:WORK库是现行作业库。设计者所描述的VHDL语句不需要任何说明,将都存放在WORK库中。WORK库对所有设计都是隐含可见的,因此在使用该库时无需进行任何说明。;实体的一般格式为:
ENTITY 实体名 IS
[端口说明];
END;;端口说明的一般格式为:
PORT(端口名{,端口名}:端口模式 数据类型;
端口名{,端口名}:端口模式 数据类型); ;;补充说明:;
ENTITY add4 IS
PORT(a, b: IN STD_LOGIC_VECTOR(3 downto 0);
Ci: IN STD_LOGIC;
Sum: OUT STD_LOGIC_VECTOR(3 downto 0);
Co: OUT STD_LOGIC);
END add4;;
你能写出三线八线译码器的实体程序吗?;结构体的一般格式如下:
ARCHITECTURE 结构体名 OF 实体名 IS
[结构体说明部分];
BEGIN
[并发处理语句];
END 结构体名; ;结构体的一般格式如下:
ARCHITECTURE 结构体名 OF 实体名 IS
[结构体说明部分];
BEGIN
[并发处理语句];
END 结构体名; ;;配置的基本格式为:
CONFIGURATION 配置名 OF 实体名 IS
[配置说明];
END 配置名;; 配置语句根据不同情况,其说明语句有简有繁。最简单的缺省配置格式为:;;--结构体 2:
ARCHITECTURE dataflow OF comp4 IS
BEGIN
y<=’1’ WHEN(a=b) ELSE ’0’;
END dataflow;;;--配置 :
CONFIGURATION comp4_con OF comp4 IS
FOR behavior
END FOR;
END comp4_con;;9.2 VHDL的语言元素;例如:如下标识符是合法的:
tx_clk
Three_state_Enable
sel7D
HIT_1124 ;9.2.2 数据对象;● 变量(VARIABLE)
变量是暂存数据的量。;● 信号(SIGNAL)
信号是电子电路内部硬件实体相互连接的抽象表示。信号能够代表连线,也可内连元件,端口也是信号。;信号和变量的主要区别:; 4. 在进程中变量和信号的赋值形式与操作过程不同:
在变量的赋值语句中,该??句一旦被执行,其值立即被赋予变量。在执行下一条语句时,该变量的值即为上一句新赋的值。
在信号的赋值语句中,该语句即使被执行,其值不会使信号立即发生代入,在下一条语句执行时,仍使用原来的信号值。直到进程结束之后,所有信号赋值的实际代入才顺序进行处理。因此,实际代入过程和赋值语句的执行是分开进行的。如例12所示。;例12 信号和变量值代入的区别举例
PROCESS (a,b,c,d)
BEGIN
d<=a;
x<=b+d;
d<=c;
y<=b+d;
END PROCESS;
结果: x<=b+c;
y<=b+c;
PROCESS (a,b,c)
VARIABLE d:std_logic_vector(3 downto 0);
BEGIN
d:=a;
x<=b+d;
d:=c;
y<=b+d;
END PROCESS;
结果: x<=b+a;
y<=b+c;;9.2.3 数据类型;VHDL预定义数据类型;Real(实数)。取值范围为 -1.0E+38 ~ +1.0E+38。由于实数运算需要大量的资源,因此综合工具常常并不支持实数类型。;Character(字符)。是用单引号括起来的一个字母、数字、空格或一些特殊字符(如$、
文档评论(0)