整数和实数说明
整数和实数的数据类型在标准的程序包中作了定义,但是实际应用中,特别在综合中,由于这两种非枚举型的数据类型的取值定义范围太大,综合器无法进行综合。
实际应用中,VHDL仿真器通常将整数或实数类型作为有符号数处理,VHDL综合器对整数或实数的编码方法是:
对用户已定义的数据类型和子类型中的负数,编码为二进制补码;
对用户已定义的数据类型和子类型中的正数,编码为二进制原码。
四,VHDL In Quartus Ⅱ
1.VHDL入门
1).vhdl设计组成:
库和程序包(libary,package)
相当于材料,工具箱
实体(entity)
硬件外部的接口
代码实现
entity 实体名 is
generic(常数名:数据类型:初值)
port(端口信号名:数据类型)
end 实体名
结构体(architecture)
硬件内部的具体实现
architecture 结构体名 of 实体名 is
说明部分(可选,如数据类型type 常数constand 信号signal 元件component 过程pocedure 变量variable和进程process等)
begin
功能描述部分
end 结构体名
配置(configuration)
条件语句:
if 条件 then
--do something;
else if 条件 then
--do something;
else
--do something;
end if;
循环语句:
for x in 0 to n loop
--do something;
end loop;
从本质上讲,VHDL代码是并发执行的。只有PROCESS,FUNCTION或者PROCEDURE内部的代码才是顺序执行的。值得注意的是,尽管这些模块中的代码是顺序执行的,但是当它们作为一个整体是,与其他模块之间又是并发的。IF,WAIT,CASE,LOOP语句都是顺序代码,用在PROCESS,FUNCTION和PROCEDURE内部。