营口电商平台网站建设,怎样在国外网站购买新鲜橙花做纯露,阿勒泰高端网站建设公司,公司做网站开票是什么项目文章目录一、实验目的二、实验内容三、实验设计四、实验结果及仿真一、实验目的
熟悉元件封装方法#xff0c;掌握层次化电路设计方法#xff1b;掌握VHDL例化语句的设计方法。
二、实验内容
1.用VHDL语言设计1位全加器#xff0c;其中仅就半加器实体进行例化声明及端口映…
文章目录一、实验目的二、实验内容三、实验设计四、实验结果及仿真一、实验目的
熟悉元件封装方法掌握层次化电路设计方法掌握VHDL例化语句的设计方法。
二、实验内容
1.用VHDL语言设计1位全加器其中仅就半加器实体进行例化声明及端口映射语句或运算直接调用运算函数。通过编译、仿真验证功能正确性。 2.就实验过程及结果进行简要描述和分析并思考与用原理图方法设计的各自特点。
三、实验设计
全加器可以由两个半加器和一个或门连接而成其经典的电路结构如下图所示。图的右侧是全加器的实体模块它显示了全加器的端口情况。设计全加器之前需要先设计好半加器。 整个设计过程和表述方式都可以用VHDL来描述。首先设计出半加器。半加器实现的VHDL描述如下所示。
Library Ieee;
Use Ieee.Std_Logic_1164.All;
Entity h_adder isport (a,b : in Std_Logic; co,so : out Std_Logic);
End Entity h_adder;
Architecture Bhv of h_adder isBeginso a xor b; --半加器核心逻辑功能的实现co a and b; --半加器核心逻辑功能的实现
End Architecture Bhv;而至于或门则不需要单独用VHDL来描述直接调用即可。 然后根据上面的电路图用VHDL语句将两个元件连接起来构成了全加器的VHDL顶层描述。程序如下图。
Library Ieee; --全加器顶层设计描述
Use Ieee.Std_Logic_1164.All;
Entity f_adder isPort (ain,bin,cin : in Std_Logic;sum,cout : out Std_Logic);
End Entity f_adder;
Architecture Bhv of f_adder iscomponent h_adder --调用半加器声明port (a,b : in Std_Logic; co,so : out Std_Logic);End component h_adder;signal so1,co1,co2 : Std_Logic; --定义三个信号变量作为内部的连接线beginu1: h_adder Port Map (aain,bbin,soso1,coco1); --例化语句u2: h_adder Port Map (aso1,bcin,sosum,coco2);cout co1 or co2;
End Architecture Bhv;
在实体中首先定义了全加器顶层设计的端口信号然后在Architecture和Begin之间加入了调用元件的声明语句即利用Component语句对准备调用的元件做了声明并定义so1,co1,co2三个信号作为全加器内部的连接线。最后利用端口映射语句Port Map将两个半加器模块和一个或门模块连接起来构成一个完整的全加器。
四、实验结果及仿真
分别给ain、bin和cin合适周期的方波信号输入观察count和sum输出信号。如下图所示。 观察输入与输出的可以分析出“1为全加器”的功能已经实现。即实现如下功能 五、实验思考与总结 元件例化语句分为元件声明和元件例化两部分。用元件例化方式设计电路的方法是: (1)完成各种元件的设计。(2)元件声明。(3)通过元件例化语句调用这些元件。元件例化是可以多层次的。一个调用了较低层次元件的顶层设计实体本身也可以被更高层次设计实体所调用成为该设计实体中的一个元件。 用原理图设计较VHDL更为直观明了可以通过电路图清楚其逻辑关系和实现的功能关系。而用VHDL语言设计则较为简便只需清楚各个接口之间的关系和调用的原则。