一个全加器的整个设计包括三个模块,即底层两输入或门模块ORM2.VHD、半加器模块H_ADDER.VHD以及顶层全加器模块F_ADDER.GDF。其中ORM2.VHD和H_ADDER.VHD是用VHDL编写的,F_ADDER.GDF则是原理图。全加器是通过调用一个ORM2.VHD和两个H_ADDER.VHD组装成一个完整的设计实体F_ADDER.GDF而实现的。
1.源文件的编辑
1)ORM2.VHD H_ADDER.VHD的编辑及对应的元件符号图的生成 首先为该设计建立以目录,然后进入Maxplus2集成环境。再按新建文件按钮,选择file>new,选Text Editor file。在文本编辑窗口中输入如下程序:
Library ieee;
Use ieee.std_logic_1164.all; Entity orm2 is
Port(a,b:in std_logic;c:out std_logic); End entity orm2;
Architecture art1 of orm2 is Begin c
End architecture art1;
输入完毕后,保存文件,保存至最初建立的目录名下,并输入保存的文件名(注意后缀名的选择)。.VHD表示VHDL文件;后缀为.TDF表示AHDL文件;后缀为.V表示Verilog文件。 文件存盘后,为了能在图形编辑器中调用ORM2,需要为ORM2创建一个元件图形符号。选择File→Create Default Symbol,这是询问是否将当前工程设为ORM2。点确定。这时Maxplus2调出编译器对ORM2.VHD进行编译,编译后生成ORM2的图形符号。如果源程序有错,要对源程序进行修改,重复上面的步骤,直到此元件符号创建成功。然后退出编译器、编辑器,回到主窗口。
H_ADDER.VHD及其元件符号的创建过程同上,文件放在同一目录内。源程序如下: Library ieee;
Use ieee.std_logic_1164.all; Entity H_ADDER is
Port(a,b:in std_logic;co,so:out std_logic); End entity H_ADDER;
Architecture art2 of H_ADDER is Begin
so
2) F_ADDER.GDF的编辑
F_ADDER.GDF是全加器设计中最顶层的图形设计文件,调用了前面两步创建的两个功能元件,将一个ORM2.VHD和两个H_ADDER.VHD组装成一个完整的设计实体。
选择File→New,在对话框中选择Graphic Editor file,出现图形编辑器窗口Graphic Editor.然后按如下操作:
(1)往图中添加元件。在图形编辑器中任一位置双击鼠标,出现Enter Symbol对话框。通过鼠标选择一个元件符号,或直接在Symbol Name中输入元件符号名,按OK。
一共调用一个ORM2、两个H_ADDER元件。放置好它们的位置。接着放置输入/输出接口。输入/输出接口符号名为INPUT和OUTPUT。在库prim中。调用3个INPUT和2个
OUTPUT元件。
(2)连线(细线表示单根线,粗线表示总线)改变连线的性质的方法:先点击该线,使其变红,然后选项Options→Line Style,即可在弹出的窗口中选所需的线段。
(3)设置输入/输出引脚名。在INPUT或OUTPUT的引脚上双击鼠标,可以输入新的引脚名。三个输入:ain、bin、cin。两个输出引脚:sum和cout。最后保存,将此顶层原理图文件取名为F_ADDER.GDF,并写入File Name中,存入同一目录下。
2.系统的编译、综合、适配 1)设置顶层文件
在编译系统文件F_ADDER.GDF之前,需要设置该文件为顶层文件Project(工程文件)。 选择File→Project→Set Project to Current File,当前的工程即将被设为F_ADDER(此名在最初是任选的)。
2)选择目标器件及锁定引脚
先选择用于编程的目标芯片。选择Assign→Device…,在弹出的对话框中的Device Family下拉栏中选FLEX10K,然后在Devices列表框中选择芯片型号EPF10KLC84-3。
选择菜单Assign→Pin/Location/Chip…弹出一个对话框来设置引脚。在Node Name右边的文本框中输入引脚名。注意,引脚名必须一个一个地确定。在Pin右边的下拉栏中选择芯片引脚号,然后按下Add按钮,就会在下面的子窗口出现引脚设定说明句,当前的一个引脚设置即加到了列表中。如果是总线形式的引脚名,也应当分别写出总线中的每个信号。例如,DATA[3..0]就应当分别写成DATA3,DATA2,…DATA0共四个引脚名。引脚号设定按下表
选择Compiler菜单,可运行编译器,此时将出现编译界面。编译器将一次性完成编译、综合、优化、逻辑分割和适配/布线等操作。现在首先设定VHDL版本。选择界面上方的Interfaces→VHDL Netlist Reader Setting,在弹出的窗口中选VHDL93.这样,编译器将支持93版本的VHDL语言。
下面进行综合器的有关优化设置。选择Assign→Global Project Logic Synthesis,进入此窗后,将滑块放在右侧小窗口Optimize中的适当位置。滑块越靠左(Area),综合后的芯片资源利用率越高;靠右(Speed)则是对运算速度进行优化,但以耗用芯片资源为代价。若为CPLD目标器件,要对窗口中间的Max Device Synthesis Options作相应的选择。
在Compiler窗口中按下Start按钮,启动编译过程,直到编译结束。点击Fitter下的rpt标记,即可进入适配报告,以便了解适配情况,然后了解引脚的确定情况是否与以上设置一致。关闭编辑器。
3.系统的有关仿真
Maxplus2支持功能仿真和时序仿真两种形式。功能仿真用于大型设计编译适配之前的仿真,而时序仿真则是再编译适配生成时序信息文件之后进行的仿真。
1)建立仿真波形文件
选择File→New,选择Waveform Editor file,在弹出的窗口中选择Node→Enter
Nodesform SNF,出现选择信号结点对话框。按右上侧的List按钮,左边的列表框将立即列出所有可以选择的信号结点,全部移到右侧来。点OK,选中的所有信号将出现在波形编辑器中。其中有全加器的输入输出信号。最后必须保存波形文件,取名f_adder.scf。
2)设置输入信号波形
波形观察窗左排按钮是用于设置输入信号的,使用时只要先用鼠标在输入波形上拖一段需要改变的黑色区域,然后点击左排相应的按钮即可。其中
0:低电平 1:高电平 X:任意 Z:高阻态 INV:反相
G:总线数据设置
若是时钟信号,用鼠标点时钟信号的Value区域,可以将时钟信号选中。这时,时钟信号的波形区域全部变成黑色,按集成环境窗左边上的时钟按钮,将出现时钟信号设置对话框,按下OK,即可设置时钟信号。最后保存好波形文件。
3)运行仿真器进行仿真
选择Simulator,出现仿真参数设置与仿真启动窗。这时按下该窗口中的Start按钮,即可进行仿真运算(注意,在启动仿真时,波形文件必须已经存盘)。仿真运算结束后出现对话框,若无错误表示仿真运算结束。
如果系统含有时钟信号,又希望在不改变输入时钟信号周期的条件下,延长仿真时间,可以作如下调整:选File→End Time,在弹出的窗口中设置仿真结束时间,例如5us,按OK后,选择菜单MaxPlus→Simulator,在Simulator子窗口中的End Time处也设置5us。然后启动仿真操作,结束后可观察仿真波形。如果在一开始没有打开波形观察窗,可选择File→Open,这时将弹出一名为Open的窗口,可在此窗口的Waveform Editor files处点击,并在Files窗中弹出的波形文件名f_adder.scf上双击,即可进入波形观察窗。
一个全加器的整个设计包括三个模块,即底层两输入或门模块ORM2.VHD、半加器模块H_ADDER.VHD以及顶层全加器模块F_ADDER.GDF。其中ORM2.VHD和H_ADDER.VHD是用VHDL编写的,F_ADDER.GDF则是原理图。全加器是通过调用一个ORM2.VHD和两个H_ADDER.VHD组装成一个完整的设计实体F_ADDER.GDF而实现的。
1.源文件的编辑
1)ORM2.VHD H_ADDER.VHD的编辑及对应的元件符号图的生成 首先为该设计建立以目录,然后进入Maxplus2集成环境。再按新建文件按钮,选择file>new,选Text Editor file。在文本编辑窗口中输入如下程序:
Library ieee;
Use ieee.std_logic_1164.all; Entity orm2 is
Port(a,b:in std_logic;c:out std_logic); End entity orm2;
Architecture art1 of orm2 is Begin c
End architecture art1;
输入完毕后,保存文件,保存至最初建立的目录名下,并输入保存的文件名(注意后缀名的选择)。.VHD表示VHDL文件;后缀为.TDF表示AHDL文件;后缀为.V表示Verilog文件。 文件存盘后,为了能在图形编辑器中调用ORM2,需要为ORM2创建一个元件图形符号。选择File→Create Default Symbol,这是询问是否将当前工程设为ORM2。点确定。这时Maxplus2调出编译器对ORM2.VHD进行编译,编译后生成ORM2的图形符号。如果源程序有错,要对源程序进行修改,重复上面的步骤,直到此元件符号创建成功。然后退出编译器、编辑器,回到主窗口。
H_ADDER.VHD及其元件符号的创建过程同上,文件放在同一目录内。源程序如下: Library ieee;
Use ieee.std_logic_1164.all; Entity H_ADDER is
Port(a,b:in std_logic;co,so:out std_logic); End entity H_ADDER;
Architecture art2 of H_ADDER is Begin
so
2) F_ADDER.GDF的编辑
F_ADDER.GDF是全加器设计中最顶层的图形设计文件,调用了前面两步创建的两个功能元件,将一个ORM2.VHD和两个H_ADDER.VHD组装成一个完整的设计实体。
选择File→New,在对话框中选择Graphic Editor file,出现图形编辑器窗口Graphic Editor.然后按如下操作:
(1)往图中添加元件。在图形编辑器中任一位置双击鼠标,出现Enter Symbol对话框。通过鼠标选择一个元件符号,或直接在Symbol Name中输入元件符号名,按OK。
一共调用一个ORM2、两个H_ADDER元件。放置好它们的位置。接着放置输入/输出接口。输入/输出接口符号名为INPUT和OUTPUT。在库prim中。调用3个INPUT和2个
OUTPUT元件。
(2)连线(细线表示单根线,粗线表示总线)改变连线的性质的方法:先点击该线,使其变红,然后选项Options→Line Style,即可在弹出的窗口中选所需的线段。
(3)设置输入/输出引脚名。在INPUT或OUTPUT的引脚上双击鼠标,可以输入新的引脚名。三个输入:ain、bin、cin。两个输出引脚:sum和cout。最后保存,将此顶层原理图文件取名为F_ADDER.GDF,并写入File Name中,存入同一目录下。
2.系统的编译、综合、适配 1)设置顶层文件
在编译系统文件F_ADDER.GDF之前,需要设置该文件为顶层文件Project(工程文件)。 选择File→Project→Set Project to Current File,当前的工程即将被设为F_ADDER(此名在最初是任选的)。
2)选择目标器件及锁定引脚
先选择用于编程的目标芯片。选择Assign→Device…,在弹出的对话框中的Device Family下拉栏中选FLEX10K,然后在Devices列表框中选择芯片型号EPF10KLC84-3。
选择菜单Assign→Pin/Location/Chip…弹出一个对话框来设置引脚。在Node Name右边的文本框中输入引脚名。注意,引脚名必须一个一个地确定。在Pin右边的下拉栏中选择芯片引脚号,然后按下Add按钮,就会在下面的子窗口出现引脚设定说明句,当前的一个引脚设置即加到了列表中。如果是总线形式的引脚名,也应当分别写出总线中的每个信号。例如,DATA[3..0]就应当分别写成DATA3,DATA2,…DATA0共四个引脚名。引脚号设定按下表
选择Compiler菜单,可运行编译器,此时将出现编译界面。编译器将一次性完成编译、综合、优化、逻辑分割和适配/布线等操作。现在首先设定VHDL版本。选择界面上方的Interfaces→VHDL Netlist Reader Setting,在弹出的窗口中选VHDL93.这样,编译器将支持93版本的VHDL语言。
下面进行综合器的有关优化设置。选择Assign→Global Project Logic Synthesis,进入此窗后,将滑块放在右侧小窗口Optimize中的适当位置。滑块越靠左(Area),综合后的芯片资源利用率越高;靠右(Speed)则是对运算速度进行优化,但以耗用芯片资源为代价。若为CPLD目标器件,要对窗口中间的Max Device Synthesis Options作相应的选择。
在Compiler窗口中按下Start按钮,启动编译过程,直到编译结束。点击Fitter下的rpt标记,即可进入适配报告,以便了解适配情况,然后了解引脚的确定情况是否与以上设置一致。关闭编辑器。
3.系统的有关仿真
Maxplus2支持功能仿真和时序仿真两种形式。功能仿真用于大型设计编译适配之前的仿真,而时序仿真则是再编译适配生成时序信息文件之后进行的仿真。
1)建立仿真波形文件
选择File→New,选择Waveform Editor file,在弹出的窗口中选择Node→Enter
Nodesform SNF,出现选择信号结点对话框。按右上侧的List按钮,左边的列表框将立即列出所有可以选择的信号结点,全部移到右侧来。点OK,选中的所有信号将出现在波形编辑器中。其中有全加器的输入输出信号。最后必须保存波形文件,取名f_adder.scf。
2)设置输入信号波形
波形观察窗左排按钮是用于设置输入信号的,使用时只要先用鼠标在输入波形上拖一段需要改变的黑色区域,然后点击左排相应的按钮即可。其中
0:低电平 1:高电平 X:任意 Z:高阻态 INV:反相
G:总线数据设置
若是时钟信号,用鼠标点时钟信号的Value区域,可以将时钟信号选中。这时,时钟信号的波形区域全部变成黑色,按集成环境窗左边上的时钟按钮,将出现时钟信号设置对话框,按下OK,即可设置时钟信号。最后保存好波形文件。
3)运行仿真器进行仿真
选择Simulator,出现仿真参数设置与仿真启动窗。这时按下该窗口中的Start按钮,即可进行仿真运算(注意,在启动仿真时,波形文件必须已经存盘)。仿真运算结束后出现对话框,若无错误表示仿真运算结束。
如果系统含有时钟信号,又希望在不改变输入时钟信号周期的条件下,延长仿真时间,可以作如下调整:选File→End Time,在弹出的窗口中设置仿真结束时间,例如5us,按OK后,选择菜单MaxPlus→Simulator,在Simulator子窗口中的End Time处也设置5us。然后启动仿真操作,结束后可观察仿真波形。如果在一开始没有打开波形观察窗,可选择File→Open,这时将弹出一名为Open的窗口,可在此窗口的Waveform Editor files处点击,并在Files窗中弹出的波形文件名f_adder.scf上双击,即可进入波形观察窗。