第52∠编程基融 313ⅤHDL程序设计约定 为了便于程序的阅读和调试,本书对ⅤHDL程序设计特作如 下约定: (1)语句结构描述中方括号“[]内的内容为可选内容。 (2)对于VHDL的编译器和综合器来说,程序文字的大小写 是不加区分的。本书一般使用大写。 (3)程序中的注释使用双横线“-”。在ⅤHDL程序的任何 行中,双横线“-”后的文字都不参加编译和综合
第3章 VHDL编程基础 3.1.3 VHDL程序设计约定 为了便于程序的阅读和调试,本书对VHDL程序设计特作如 下约定: (1) 语句结构描述中方括号“[ ]”内的内容为可选内容。 (2) 对于VHDL的编译器和综合器来说,程序文字的大小写 是不加区分的。本书一般使用大写。 (3) 程序中的注释使用双横线“--”。在VHDL程序的任何一 行中,双横线“--”后的文字都不参加编译和综合
/第3章仍24编程基础 (4)为了便于程序的阅读与调试,书写和输入程序时,使用 层次缩进格式,同一层次的对齐,低层次的较高层次的缩进两 个字符。 (5)考虑到MAX+plus要求源程序文件的名字与实体名必 须一致,因此为了使同一个ⅤHD源程序文件能适应各个EDA 开发软件上的使用要求,建议各个源程序文件的命名均与其实 体名一致
第3章 VHDL编程基础 (4) 为了便于程序的阅读与调试,书写和输入程序时,使用 层次缩进格式,同一层次的对齐,低层次的较高层次的缩进两 个字符。 (5) 考虑到MAX+plusII要求源程序文件的名字与实体名必 须一致,因此为了使同一个VHDL源程序文件能适应各个EDA 开发软件上的使用要求,建议各个源程序文件的命名均与其实 体名一致
/第3章仍24编程基础 32VHDL程序基本结构 321ⅤHDL程序设计举例 设计思路 全加器可以由两个1位的半加器构成,而1位半加器可以由如 图3.1所示的门电路构成 1位半加器的端口信号A和B分别是2位相加的二进制输入信 号,SO是相加和的输出信号,CO是进位输出信号,左边的门电 路结构构成了右边的半加器 H ADDER。在硬件上可以利用半加 器构成如图3.2所示的全加器,当然还可以将一组这样的全加器 级联起来构成一个串行进位的加法器。图3.2中,全加器 F ADDER内部的功能结构是由3个逻辑器件构成的,即由两个半 加器U1l、U2和一个或门U3连接而成
第3章 VHDL编程基础 3.2 VHDL程序基本结构 3.2.1 VHDL程序设计举例 1.设计思路 全加器可以由两个1位的半加器构成,而1位半加器可以由如 图3.1所示的门电路构成。 1位半加器的端口信号A 和B分别是2位相加的二进制输入信 号,SO是相加和的输出信号,CO是进位输出信号,左边的门电 路结构构成了右边的半加器H_ADDER。在硬件上可以利用半加 器构成如图3.2所示的全加器,当然还可以将一组这样的全加器 级联起来构成一个串行进位的加法器。图3.2中,全加器 F_ADDER内部的功能结构是由3个逻辑器件构成的,即由两个半 加器U1、U2和一个或门U3连接而成
/第3章仍24编程基础 H ADDER CO A CO B B SO SO 图3.11位半加器逻辑原理图
第3章 VHDL编程基础 图3.1 1位半加器逻辑原理图 A B C O S O H_ADDER A B C O S O
/第3章仍24编程基础 OR2 H ADDER F ADDER SI COUT COUT H ADDER AIN U3 BIN DD口 S3B B SO CO BIN SUM CIN SUM B SO 图3.21位全加器逻辑原理图
第3章 VHDL编程基础 图3.2 1 位全加器逻辑原理图 A B C O SO H_ADDER U1 AIN BIN CIN S2 A B C O SO H_ADDER U2 S1 S3 A B C U3 OR2 COUT SUM F_ADDER AIN BIN CIN COUT SUM