基于原理图法的全加器设计

时间:2024-03-26 22:47:52

基于原理图法的全加器设计

全加器可以由两个半加器和一个或门连接而成,这样得到的半加器电路称为顶层文件。

设计原理图如下:
基于原理图法的全加器设计

下面全加器的设计采用层次结构的VHDL程序设计方法,采用元件例化语句。

  1. 工程文件名与顶层文件(全加器)文件名一样;
  2. 把全加器、半加器、或门的vhdl文件都要包含到工程中;
  3. 在全加器文件中声明半加器、或门为元件;
  4. 然后例化三个元件:两个半加器和一个或门。
  5. 软件说明:ModelSimSetup-13.1.0.162,QuartusSetup-13.1.0.162。

建立工程:

第一步:打开Quartus软件。

第二步:点击New Project Wizard -> next.

第三步:选择工程文件的存放位置,输入工程名 -> next -> next。

第四步:在family栏选择芯片型号-Cyclone IV E,在Name栏选择EP4CE115F29C7,选择完之后点击next。(如果不进行硬件调试时,此处默认即可)

第五步:检查工程有没有建错,点击完成。如下图:

基于原理图法的全加器设计

原理图设计:

以下拟通过1位全加器的设汁,介绍原理图输入的基木设计方法。软件
基于quartus2 13.0版本。

1位全加器可以用两个半加器及一个或门连接而成,因此需要先完成半
加器的设计。下面将给出使用原理图输入的方法进行底层元件设计和层次化设计的主要步骤。

半加器设计:

新建原理图文件

原理图编辑输入流程如下:

(1)新建原理图文件。打开QuartusII,选菜单“File”一“New”,在弹出的“New-”对话框中选择“ Design Files” 的原理图文件编辑输入项“Block block diagram/schematic File"按"OK"后将打开原理图编辑窗。

基于原理图法的全加器设计

(2)在编辑窗中调入元件,完成半加器的原理图输入。

点击按纽“插头图标 ”或直接双击原理图空白处,从“ Symbol”窗中选择需要的符号,或者直接在“name”文本框中键入元件名,如“and2”为2输入与门,点OK按钮,即将元件调入原理图编辑窗中。例如为了设计半加器,分别调入元件and2,not,xnor和输入输出引脚input和output。并如图用点击拖动的方法连接好电路。然后分别在input和output的PIN NAME上双击使其变黑色,再用键盘分别输入各引脚名:a、b, co和s。

基于原理图法的全加器设计
基于原理图法的全加器设计

(3)存盘编译。选择菜单File - Save As,选择刚才为自己的工程建立的目录d:\adder4,将已设计好的原理图文件取名为:half_adder.bdf(注意默认的后缀是.bdf),并存盘在此文件夹内。然后点击 运行图标进行编译,若无错误则可进行下一步,若有错进行原理图修改。编译完成后最下面的“message”框中信息如下:

基于原理图法的全加器设计

(4)将设计项目设置成可调用的元件

为了构成全加器的项层设计,必预将以上设计的半加器half_adder.bdf设置成可调用的元件。方法图所示,在打开半加器原理图文件half_adder.bdf的情况下,选择菜中File中的Create/Update→Create Symbol Files for Current File项,即可将当前文件h_adder. bdf变成一个元件符号存盘,以待在高层次设计中调用。

基于原理图法的全加器设计

使用完全相同的方法也可以将VHDL文本文件变成原理图中的一个元件符号,实现VHDL文本设计与原理图的混合输入设计方法。转换中需要注意以下两点:

  • 转换好的元件必须存在当前工程的路径文件夹中;
  • 该方法只能针对被打开的当前文件。

(5)对半加器进行仿真测试无误再进行全加器设计,过程重复这里就不再赘述。

全加器设计:

(1)设计全加器顶层文件

为了建立全加器的项层文件,必须再打开一个原理图编辑窗,即新建一个原理图文件。方法同前,即再次选择菜单" File”→“new",原理图文件编辑输入项"Block Diagram/Schematic File"。与调入元件的方法一样,即在新打开的原理图编辑窗双击鼠标,在弹出的“symbol”窗的“name”栏输入底层文件半加器的存储名“half_adder”调出半加器,如图:

基于原理图法的全加器设计

再调出其他需要的元件,连接好全加器的电路图。以full_adder.bdf名将此全加器设计存在同一路径中。
基于原理图法的全加器设计
(2)将设计项目设置成顶层文件并编译仿真

将顶层文件f_adder.bdf设置为顶层文件的方法:project→set astop_level entity。如图:
基于原理图法的全加器设计

文件仿真(这里采用modelsim仿真波形):

  1. 选择File-> New -> Verification/Debugging Files ->University Program VWF。

基于原理图法的全加器设计

2.打开测试文件。(右键点击添加端口,对输入信号初始化,赋值。)

基于原理图法的全加器设计

3.仿真结果:

基于原理图法的全加器设计

逻辑电路图:

显示编译成功后,选择菜单栏 Tools –>Netlist Viewers –>RTL Viewer 显示逻辑电路图

基于原理图法的全加器设计

如果需要通过vhdl语言编程进行全加器设计请参看—基于VHDL语言的全加器的设计