vhdl中怎样建一个子程序?

[复制链接]
3301|1
 楼主| zjland 发表于 2007-7-30 10:02 | 显示全部楼层 |阅读模式
在vhdl中完成了<br />library&nbsp;ieee;<br />use&nbsp;ieee.std_logic_1164.all;<br /><br />package&nbsp;max&nbsp;is&nbsp;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;function&nbsp;max(a,b&nbsp;:&nbsp;in&nbsp;std_logic_vector)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;std_logic_vector;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;function&nbsp;max(a,b&nbsp;:&nbsp;in&nbsp;bit_vector)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;bit_vector;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;function&nbsp;max(a,b&nbsp;:&nbsp;in&nbsp;integer)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;integer;<br />end;<br /><br />package&nbsp;body&nbsp;max&nbsp;is<br />&nbsp;&nbsp;&nbsp;&nbsp;function&nbsp;max(a,b&nbsp;:&nbsp;in&nbsp;std_logic_vector)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;std_logic_vector&nbsp;is<br />&nbsp;&nbsp;&nbsp;&nbsp;begin<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;a&gtb&nbsp;then&nbsp;return&nbsp;a;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;b;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end&nbsp;if;<br />&nbsp;&nbsp;&nbsp;&nbsp;end&nbsp;max;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;function&nbsp;max(a,b&nbsp;:&nbsp;in&nbsp;integer)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;integer&nbsp;is<br />&nbsp;&nbsp;&nbsp;&nbsp;begin<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;a&gtb&nbsp;then&nbsp;return&nbsp;a;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;b;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end&nbsp;if;<br />&nbsp;&nbsp;&nbsp;&nbsp;end&nbsp;max;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;function&nbsp;max(a,b&nbsp;:&nbsp;in&nbsp;bit_vector)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;bit_vector&nbsp;is<br />&nbsp;&nbsp;&nbsp;&nbsp;begin<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;a&gtb&nbsp;then&nbsp;return&nbsp;a;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;b;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end&nbsp;if;<br />&nbsp;&nbsp;&nbsp;&nbsp;end&nbsp;max;<br />end;<br />但不晓得怎么用啊。它应该怎么保存啊?还是直接就在后面跟主程序了。
vfdff 发表于 2007-8-11 13:19 | 显示全部楼层

vhdl中 建一个子程序

只要在工程中添加这个文件,软件编译后的默认库是work<br />当需要是要哪个文件&nbsp;在别的vhdl文件前面添加相应的说明即可<br /><br />比如。说要使用max函数则<br />在别的vhdl文件前面添加:use&nbsp;work.max.all;即可<br />当需使用多个的时候,也可以直接用&nbsp;use&nbsp;work.all;
您需要登录后才可以回帖 登录 | 注册

本版积分规则

7

主题

21

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部