38译码器实验仿真结果图

38译码器实验仿真结果图
38译码器实验仿真结果图

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY mux8_1 IS

PORT(add : IN STD_LOGIC_vector(2 downto 0);

i:IN STD_LOGIC_vector(0 to 7);

y: OUT STD_LOGIC);

END mux8_1;

ARCHITECTURE behave OF mux8_1 IS

--SIGNAL sel :STD_LOGIC_vector(2 DOWNTO 0); BEGIN

--sel<=A2 & A1 & A0;

PROCESS(add,i)

BEGIN

CASE add IS

WHEN "000" => y<=i(0);

WHEN "001" => y<=i(1);

WHEN "010" => y<=i(2);

WHEN "011" => y<=i(3);

WHEN "100" => y<=i(4);

WHEN "101" => y<=i(5);

WHEN "110" => y<=i(6);

WHEN "111" => y<=i(7);

WHEN others => NULL;

END CASE;

END PROCESS;

END behave;

三八译码器

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

USE IEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITY dec38 IS

PORT (G1, G2A, G2B : IN STD_LOGIC;

add : IN STD_LOGIC_vector(2 downto 0);

Y : OUT STD_LOGIC_VECTOR(0 TO 7)); END dec38;

ARCHITECTURE dataflow1 OF dec38 IS

SIGNAL YI: STD_LOGIC_VECTOR(0 TO 7);

--SIGNAL add: STD_LOGIC_VECTOR(2 DOWNTO 0); BEGIN

--add <= c & b & a;

WITH add SELECT

YI <= "01111111" WHEN "000",

"10111111" WHEN "001",

"11011111" WHEN "010",

"11101111" WHEN "011",

"11110111" WHEN "100",

"11111011" WHEN "101",

"11111101" WHEN "110",

"11111110" WHEN "111",

"11111111" WHEN OTHERS;

Y <= YI WHEN (G1 AND NOT G2A AND NOT G2B) ='1'

ELSE "11111111";

END dataflow1;

半加器

LIBRARY IEEE; --半加器描述(1):布尔方程描述方法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 fh1 OF h_adder is

BEGIN

so <= NOT(a XOR ( NOT b)) ;

co <= a AND b;

END ARCHITECTURE fh1;

系列信号检测(密码核对器)

library IEEE; --1110010序列检测

use IEEE.std_logic_1164.all;

ENTITY xljc IS

PORT ( din,clk,clr : IN STD_LOGIC; --串行数据输入/工作时钟/复位信号ab :OUT STD_LOGIC_vector(3 downto 0));--输出检测结果

END ENTITY xljc;

ARCHITECTURE one OF xljc IS

signal q :integer range 0 to 7;

signal d :STD_LOGIC_vector(6 downto 0);--七位待检测数据预置数

BEGIN

d<="1110010"; --七位待检数据输入预置

process(clk,clr)

begin

if clr='1' then q<=0; --复位

elsif clk'event and clk='1' then --时钟上升沿到来

case q is

WHEN 0 => if din=d(6) then q<=1; ELSE q<=0;end if;

WHEN 1 => if din=d(5) then q<=2; ELSE q<=0;end if;

WHEN 2 => if din=d(4) then q<=3; ELSE q<=0;end if;

WHEN 3 => if din=d(3) then q<=4; ELSE q<=0;end if;

WHEN 4 => if din=d(2) then q<=5; ELSE q<=0;end if;

WHEN 5 => if din=d(1) then q<=6; ELSE q<=0;end if;

WHEN 6 => if din=d(0) then q<=7; ELSE q<=0;end if;

WHEN OTHERS =>q<=0;

end case;

end if;

end process;

process(q)

begin

if q=7 then ab<="1010"; else

ab<="1011";

end if;

end process; END ARCHITECTURE one ;

EDA设计38译码器

E D A设计38译码器-CAL-FENGHAI-(2020YEAR-YICAI)_JINGBIAN

班级:通信13-3班 姓名:王亚飞 学号: 18 指导教师: 成绩: 电子与信息工程学院 信息与通信工程系

摘要 EDA技术是以微电子技术为物理层面,现代电子设计技术为灵魂,计算机软件技术为手段,最终形成集成电子系统或专用集成电路ASIC为目的的一门新兴技术。而VHDL语言是硬件描述语言之一,其广泛应用性和结构的完整性使其成为硬件描述语言的代表。随着社会经济和科技的发展,越来越多的电子产品涌如我们的日常生活当中,在日常生活中译码器起着不可忽视的作用。本设计就是运用VHDL语言设计的3-8译码器。3-8译码器电路的输入变量有三个即D0,D1,D2,输出变量有八个Y0-Y7,对输入变量D0,D1,D2译码,就能确定输出端Y0-Y7的输出端变为有效(低电平),从而达到译码目的。 关键词:EDA;3-8译码器

1实验目的 1、通过一个简单的3-8译码器的设计,让学生掌握组合逻辑电路的设计方法。 2、初步掌握VHDL语言的常用语句。 3、掌握VHDL语言的基本语句及文本输入的EDA设计方法。 2实验背景 VHDL的简介 VHDL语言是一种用于电路设计的高级语言。它在80年代的后期出现。最初是由美国国防部开发出来供美军用来提高设计的可靠性和缩减开发周期的一种使用范围较小的设计语言。但是,由于它在一定程度上满足了当时的设计需求,于是他在1987年成为A I/IEEE的标准(IEEE STD 1076-1987)。1993年更进一步修订,变得更加完备,成为A I/IEEE的A I/IEEE STD 1076-1993标准。目前,大多数的CAD厂商出品的EDA软件都兼容了这种标准。VHDL 的英文全写是:VHSIC(Very High eed Integrated Circuit) Hardware Descriptiong Language.翻译成中文就是超高速集成电路硬件描述语言。因此它的应用主要是应用在数字电路的设计中。 VHDL语言的特点 VHDL是一种用普通文本形式设计数字系统的硬件描述语言,主要用于描述数字系统的结构、行为、功能和接口,可以在任何文字处理软件环境中编辑。除了含有许多具有硬件特征的语句外,其形式、描述风格及语法十分类似于计算机高级语言。VHDL程序将一项工程设计项目(或称设计实体)分成描述外部端口信号的可视部分和描述端口信号之间逻辑关系的内部不可视部分,这种将设计项目分成内、外两个部分的概念是硬件描述语言(VHDL)的基本特征。

实验一 八位全加器的设计

电子科技大学电子工程学院标准实验报告(实验)课程名称EDA技术与应用 姓名:孙远 学号:2010021030002 指导教师:窦衡 电子科技大学教务处制表

实验一八位全加器的设计 一、预习内容 1.结合教材中的介绍熟悉QuartusⅡ软件的使用及设计流程; 2.八位全加器设计原理。 二、实验目的 1.掌握图形设计方法; 2.熟悉QuartusⅡ软件的使用及设计流程; 3.掌握全加器原理,能进行多位加法器的设计。 三、实验器材 PC机一台、EDA教学实验系统一台、下载电缆一根(已接好)、导线若干 四、实验要求 1、用VHDL设计一个四位并行全加器; 2、用图形方式构成一个八位全加器的顶层文件; 3、完成八位全加器的时序仿真。 五、实验原理与内容 1、原理: 加法器是数字系统中的基本逻辑器件。例如:为了节省资源,减法器和硬件乘法器都可由加法器来构成。但宽位加法器的设计是很耗费资源的,因此在实际的设计和相关系统的开发中需要注意资源的利用率和进位速度等两方面的问题。多位加法器的构成有两种方式:并行进位和串行进位方式。并行进位加法器设有并行进位产生逻辑,运算速度快;串行进位方式是将全加器级联构成多位加法器。通常,并行加法器比串行级联加法器占用更多的资源,并且随着位数的增加,相同位数的并行加法器比串行加法器的资源占用差距也会越来越大。 实验表明,4 位二进制并行加法器和串行级联加法器占用几乎相同的资源。这样,多位数加法器由4 位二进制并行加法器级联构成是较好的折中选择。因此本实验中的8 位加法器采用两个4位二进制并行加法器级联而成。

2、实现框图: 1)四位加法器 四位加法器可以采用四个一位全加器级连成串行进位加法器,实现框图如下图所示,其中CSA为一位全加器。显然,对于这种方式,因高位运算必须要等低位进位来到后才能进行,因此它的延迟非常可观,高速运算肯定无法胜任。 通过对串行进位加法器研究可得:运算的延迟是由于进位的延迟。因此,减小进位的延迟对提高运算速度非常有效。下图是减少了进位延迟的一种实现方法。可见,将迭代关系去掉,则各位彼此独立,进位传播不复存在。因此,总的延迟是两级门的延迟,其高速也就自不待言。 2)八位加法器 用两个并行四位加法器实现一个八位加法器的框图如下:

51单片机20个实验-代码详细

第一章单片机系统板说明 一、概述 单片机实验开发系统是一种多功能、高配置、高品质的MCS-51单片机教学与开发设备。适用于大学本科单片机教学、课程设计和毕业设计以及电子设计比赛。 该系统采用模块化设计思想,减小了系统面积,同时增加了可靠性,使得单片机实验开发系统能满足从简单的数字电路实验到复杂的数字系统设计实验,并能一直延伸到综合电子设计等创新性实验项目。该系统采用集成稳压电源供电,使电源系统的稳定性大大提高,同时又具备完备的保护措施。为适应市场上多种单片机器件的应用,该系统采用“单片机板+外围扩展板”结构,通过更换不同外围扩展板,可实验不同的单片机功能,适应了各院校不同的教学需求。 二、单片机板简介 本实验系统因为自带了MCS-51单片机系统,因此没有配置其他单片机板,但可以根据教学需要随时配置。以单片机板为母板,并且有I/O接口引出,可以很方便的完成所有实验。因此构成单片机实验系统。 1、主要技术参数 (1)MSC-51单片机板 板上配有ATMEL公司的STC89C51芯片。 STC89C51资源:32个I/O口;封装DIP40。 STC89C51开发软件:KEIL C51。 2、MSC-51单片机结构 (1)单片机板中央放置一块可插拔的DIP封装的STC89C51芯片。 (2)单片机板左上侧有一个串口,用于下载程序。 (3)单片机板的四周是所有I/O引脚的插孔,旁边标有I/0引脚的脚引。 (4)单片机板与各个模块配合使用时,可形成—个完整的实验系统。 三、母板简介 主要技术参数 (1)实验系统电源 实验系统置了集成稳压电源,使整个电源具有短路保护、过流保护功能,提高了实验的稳定性。 主板的右上角为电源总开关,当把220V交流电源线插入主板后,打开电源开关,主板

用VHDL设计三八译码器超赞版

3-8译码器的设计 1 设计目的与要求 随着社会的进一步发展,我们的生活各个地方都需要计算机的参与,有了计算机,我们的生活有了很大的便利,很多事情都不需要我们人为的参与了,只需要通过计算机就可以实现自动控制。由此,计算机对我们的社会对我们每个人都是很重要的。所以我们要了解计算机得组成,内部各种硬件,只有了解了计算机基本器件已经相应的软件,才能促进社会的发展。编码器和译码器的设计是计算机的一些很基础的知识,通过本次对于编码器和译码器的设计,可以让我知道究竟这种设计是如何实现的,这种设计对我们的生活有什么帮助,这种设计可以用到我们生活的哪些方面,对我们的各种生活有什么重大的意义。 1.1 设计的目的 本次设计的目的是通过简单的译码器的设计掌握基本的计算机的一些有关的知识,通过查资料已经自己的动手设计去掌握EDA技术的基本原理已经设计方法,并掌握VHDL硬件描述语言的设计方法和思想。以计算机组成原理为指导,通过将理论知识,各种原理方法与实际结合起来,切实的亲手设计,才能掌握这些非常有用的知识。通过对编码器和译码器的设计,巩固和综合运用所学知识,提高IC设

计能力,提高分析、解决计算机技术实际问题的独立工作能力。也能通过这种自主设计,增强自己的动手能力,将理论知识切实应用的能力,这对我们将来的发展是很有帮助的。 1.2 设计要求 根据计算机组成原理中组合逻辑电路设计的原理,利用VHDL设计计算机电路中译码器的各个模块,并使用EDA 工具对各模块进行仿真验证和分析。译码器由三-八译码器为实例代表。 关键词:输入、输出、译码 2 VHDL的简单介绍 2.1 VHDL的简介 VHDL语言是一种用于电路设计的高级语言。它在80年代的后期出现。最初是由美国国防部开发出来供美军用来提高设计的可靠性和缩减开发周期的一种使用范围较小的设计语言。 VHDL翻译成中文就是超高速集成电路硬件描述语言,主要是应用在数字电路的设计中。目前,它在我过的应用多数是用在FPGA/CPLD/EPLD的设计中。当然在一些实力较为雄厚的单位,它也被用来设计ASIC。VHDL主要用于描述数字系统的结构,行为,功能和接口。除了含有许多具有硬件特征的语句外,VHDL的语言形式、描述风格以及语法是十分类似于一般的计算机高级语言。VHDL的程序结构特点是将一项工程设计,或称设计实体(可以是一个元件,一个电路模块或一个系统)分成外

8位全加器的设计

课程设计报告 课程名称数字逻辑课程设计 课题8位全加器的设计 专业计算机科学与技术 班级1202 学号34 姓名贺义君 指导教师刘洞波陈淑红陈多 2013年12月13日

课程设计任务书 课程名称数字逻辑课程设计 课题8位全加器的设计 专业班级计算机科学与技术1202 学生姓名贺义君 学号34 指导老师刘洞波陈淑红陈多审批刘洞波 任务书下达日期:2013年12月13日 任务完成日期:2014年01月21日

一、设计内容与设计要求 1.设计内容: 本课程是一门专业实践课程,学生必修的课程。其目的和作用是使学生能将已学过的数字电子系统设计、VHDL程序设计等知识综合运用于电子系统的设计中,掌握运用VHDL或者Verilog HDL设计电子系统的流程和方法,采用Quartus II等工具独立应该完成1个设计题目的设计、仿真与测试。加强和培养学生对电子系统的设计能力,培养学生理论联系实际的设计思想,训练学生综合运用数字逻辑课程的理论知识的能力,训练学生应用Quartus II进行实际数字系统设计与验证工作的能力,同时训练学生进行芯片编程和硬件试验的能力。 题目一4线-16线译码器电路设计; 题目二16选1选择器电路设计; 题目三4位输入数据的一般数值比较器电路设计 题目四10线-4线优先编码器的设计 题目五8位全加器的设计 题目六RS触发器的设计; 题目七JK触发器的设计; 题目八D触发器的设计; 题目九十进制同步计数器的设计; 题目十T触发器的设计; 每位同学根据自己学号除以10所得的余数加一,选择相应题号的课题。 参考书目 1 EDA技术与VHDL程 序开发基础教程 雷伏容,李俊,尹 霞 清华大学出版 社 978-7-302-22 416-7 201 TP312VH/ 36 2 VHDL电路设计雷伏容清华大学出版 社 7-302-14226-2 2006 TN702/185 3 VHDL电路设计技术王道宪贺名臣? 刘伟 国防工业出版 社 7-118-03352-9 2004 TN702/62 4 VHDL 实用技术潘松,王国栋7-8106 5 7-81065-290-7 2000 TP312VH/1 5 VHDL语言100 例详解 北京理工大学A SIC研究所 7-900625 7-900625-02-X 19 99 TP312VH/3 6 VHDL编程与仿真王毅平等人民邮电出版 社 7-115-08641-9 20 00 7 3.9621/W38V 7 VHDL程序设计教程邢建平?曾繁泰清华大学出版 社 7-302-11652-0 200 5 TP312VH/27 /3

图论实验代码

图论实验报告(代码) 学号:1241902129 姓名:肖尧

1.写一个程序,输入一个图,一对顶点和通路长度,输出两个顶点间 指定长度的通路。 程序代码: #include #include #include using namespace std; #define MAX 20 typedef struct ArcNode{ int adjvex; struct ArcNode *nextarc; }ArcNode; typedef struct VNode{ char data; ArcNode *firstarc; }VNode,AdjList[MAX]; typedef struct{ AdjList vertices; int n,e; }MGraph; int path[MAX]; int visited[MAX]; //返回字符v 在图中的位置 int LocateV ex(MGraph G, char v) { int i; for(i=0;i

{ return (i>=0 && i>G.n>>G.e; cout<20) { cout<<"输入的数字不符合要求,请重新输入: "; cin>>G.n>>G.e; } while(G.e>((G.n-1)*G.n/2)) { cout<<"输入的数字不符合要求,请重新输入: "; cin>>G.e; } cout<<"请输入各顶点的名称: "; //建立顶点表 for(i=0;i>G.vertices[i].data; G.vertices[i].firstarc=NULL;//初始化图 } cout<

三八译码器解读

《集成电路设计实践》报告题目:3-8译码器设计 院系:自动化学院电子工程系 专业班级:微电 学生学号: 学生姓名: 指导教师姓名:戴力职称:讲师 起止时间:2015.12.25-2016.01.08 成绩:

一、设计任务 1) 依据3-8译码器的真值表,给出3-8译码器的电路图,完成3-8译码器由电路图到晶体管级的转化(需提出至少2种方案); 2) 绘制原理图(Sedit),完成电路特性模拟(Tspice,瞬态特性),给出电路最大延时时间; 3) 遵循设计规则完成译码器晶体管级电路图的版图,流程如下: 4) 版图布局规划-基本单元绘制-功能块的绘制-布线规划-总体版图); 5) 版图检查与验证(DRC检查); 6) 针对自己画的版图,给出实现该电路的工艺流程图。 二、电路设计方案的确定 3-8译码器真值表 由三个输入端A,B,C和八个输出端Y0,Y1,Y2,Y3,Y4,Y5 ,Y6,Y7组成,输入输出用二进制表示。 A2 A1 A0 Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7 0 0 0 0 1 1 1 1 1 1 1 0 0 1 1 0 1 1 1 1 1 1 0 1 0 1 1 0 1 1 1 1 1

0 1 1 1 1 1 0 1 1 1 1 1 0 0 1 1 1 1 0 1 1 1 1 0 1 1 1 1 1 1 0 1 1 1 1 0 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 0 从真值表可看出3-8译码器的八个输出管脚,任何时刻要么全为高电平1—芯片处于不工作状态,要么只有一个为低电平0,其余7个输出管脚全为高电平1。如果出现两个输出管脚在同一个时间为0的情况,说明该芯片已经损坏。 可通过使用三输入与非门及反相器实现功能,三输入与非门由三个pmos和三个nmos组成。 三、电路特性及其仿真 首先用S-Edit软件画出电路的模拟图,然后检查所画电路是否存在错误,将各个管子的尺寸标注出来,检查无误后点击T-Spice按钮将出现电路的网表图,然后给检测出的电路网表加上电源和输入信

实验一代码及截图

实验一基础 实验目的 1、掌握Visual Studio运行环境的配置方法。 2、通过编写简单的页面,掌握网页的编写和运行方法。 实验内容 一、创建文件系统网站; 1. 在D盘新建文件夹03soft,作为网站目录; 2. 在网站的默认的主页上添加控件Button,双击该控件添加如下代码: protected void Button1_Click(object sender, EventArgs e) { ("欢迎光临学习天地!"); } 3. 运行这个页面,写出这个页面运行时的页面地址。 实验截图:

二、创建HTTP网站 1、打开IIS管理器,进入管理页面,添加网站名称mysite,并设置物理路径; 2、创建HTTP网站,并选取mysite作为网站目录; 3、在的默认的主页上添加控件Button,双击该控件添加如下代码: protected void Button1_Click(object sender, EventArgs e) { ("欢迎光临学习天地!"); } 4、运行这个页面,写出这个页面运行时的页面地址。

实验截图: 三、创建单一文件模式网页 1、打开第一题中的文件系统网站,新建一个名为的单一文件模式的网页,并在网页中添加Label控件和Button控件,双击Button控件,添加如下代码: = "Clicked at " + 、运行这个页面,写出单击Button时的运行结果 实验截图:

四、打开第一题中的文件系统网站,在网页的Page_Load事件中编写代码,实现在ListBox1中填充选项,并且单击按钮时不重复加载。 实验截图:

用原理图输入方法设计8位全加器

实验一 用原理图输入方法设计8位全加器 1.实验目的和要求 本实验为综合性实验,综合了简单组合电路逻辑,MAX+plus 10.2的原理图输入方法, 层次化设计的方法等内容。其目的是通过一个8位全加器的设计熟悉EDA 软件进行电子线路设计的详细流程。学会对实验板上的FPGA/CPLD 进行编程下载,硬件验证自己的设计项目。 2.实验原理 1位全加器可以用两个半加器及一个或门连接而成,半加器原理图的设计方法很多,我们用一个与门、一个非门和同或门(xnor 为同或符合,相同为1,不同为0)来实现。先设计底层文件:半加器,再设计顶层文件全加器。 (1) 半加器的设计: 半加器表达式:进位:co=a and b 和:so=a xnor ( not b ) 半加器原理图如下: (2) 全加器的设计: 全加器原理图如下: 3.主要仪器设备(实验用的软硬件环境) 实验的硬件环境是: 微机 I113co a so b 1 0101 0110001 10 0co so b a not xnor2 and2 I113ain cout cout ain bin sum cin bin sum cin f_adder or2a f e d u3 u2 u1 b a c co so B co so B h_adder A h_adder A

EDA实验开发系统 ZY11EDA13BE 并口延长线,JTAG延长线 实验的软件环境是: MAX+plus 10.2 4.操作方法与实验步骤 ●按照4.1 节介绍的方法与流程,完成半加器和全加器的设计,包括原理图输入、编译、综合、适配、仿真、实验板上的硬件测试,并将此全加器电路设置成一个硬件符号入库。 ●建立一个更高的原理图设计层次,利用以上获得的1位全加器构成8位全加器,并完成编译、综合、适配、仿真、硬件测试。 5.实验内容及实验数据记录 1.设计半加器: 用原理图输入的方法输入一个半加器的逻辑图,如图所示: 然后在assign里头的device里头根据试验箱的芯片设置Decices,接着就设置输入输出荧脚的输入端和输出端,设置如表1所示: 表1.半加器引脚端口设置 引脚名称设置端口 ain input Pin=45 bin input Pin=46 co output Pin=19 so output Pin=24 然后Save,名称为h_add.gdf,再save & Compile。 结果如图所示:

实验2 三八译码器设计

电子信息工程学系实验报告课程名称:EDA技术与实验 实验项目名称:实验二三八译码器设计实验时间:2011.9.5 班级:姓名:学号: 实验目的: 1.熟悉ALTERA公司EDA设计工具软件max+plusⅡ。 2.掌握max+plusⅡ文本设计及其仿真。 实验环境: max+plusⅡ 实验内容及过程: 1.三八译码器的工作原理 由三个输入端A,B,C和八个输出端Y0,Y1,Y2,Y3,Y4,Y5 ,Y6,Y7组成,输入输出用二进制表示。 三八译码器真值表 A2 A1 A0 Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7 0 0 0 0 1 1 1 1 1 1 1 0 0 1 1 0 1 1 1 1 1 1 0 1 0 1 1 0 1 1 1 1 1 0 1 1 1 1 1 0 1 1 1 1 1 0 0 1 1 1 1 0 1 1 1 1 0 1 1 1 1 1 1 0 1 1 1 1 0 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 0 2.文本设计 打开File点击New选择文本文件,点击OK.进行编程,再保存 成绩: 指导教师(签名):

3.建立工程。运行File,Project,Set Project to Current File,讲工程设置到当前文件。 4.编译工程。在MAX+PLUS II 菜单内选择Compiler 项,选择Start即可开始编译。 5.选择菜单“File”→“New”,在出现的“New”对话框中选择“Waveform Editor File”,按“OK”后将出现波形编辑器子窗口。选择菜单“Node ”→“Enter Nodes from SNF”,出现选择信号结点对话框。按右上侧的“List”按钮,左边的列表框将立即列出所有可以选择的信号结点,然后按中间的“=>”按钮,将左边列表框的结点全部选中到右边的列表框。按“OK”按钮,选中的信号将出现在波形编辑器中 7将波形图保存为.scf 8.选择主菜单“MAX+plus II”→“Simulator”,按下“Simulator”,出现仿真参数设置与仿真启动窗,这时按下该窗口中的“Start”按钮,即刻进行仿真运算。再点击右边的OPEN SCF,就会出现仿真结果。 实验结果及分析: 实验心得: 通过实验学会了三八译码器的程序设计和原理图设计,对三八译码器有了更深的了解。

8位全加器设计

基于原理图的8位全加器设计 实验目的:熟悉利用Quartus II的原理图输入方法设计简单的组合电路,掌握层次化设 计的方法,并通过一个8位全加器的设计把握利用EDA软件进行原理图输入方式的电子线路设计的详细流程。 实验原理:一个8位全加器可以由8个1位全加器串行构成,即将低位加法器的进位输 出cout与相临的高位加法器的最低位输入信号cin相接。 试验任务:1.完成半加器和全加器的设计。 2.建立一个更高层次的原理图设计,利用以上获得的1位全加器构成8位全加器,完成编译、综合、适配、仿真和硬件测试。 实验步骤: 一、1位全加器设计 1.建立工程文件夹adder,路径d:\adder。 2.输入设计项目和存盘 原理图编辑输入流程如下: (1)打开Quartus II,选择file—>new命令,在弹出的窗口中选择block diagram/schematic file 选项,单击ok按钮后将打开原理图编辑窗口。 (2)在编辑窗口中的任何一个位置上右击,将弹出快捷菜单,选择inset—>symbol命令,将弹出元件输入对话框。 (3)单击“…”按钮,找到基本元件库路径d:/altera/90/quartus/libraries/primitives/logic项(假设软件安装在D盘),选中需要的元件,单击“打开”按钮,此元件即显示在窗口中,然后单击symbol窗口中的ok按钮,即可将元件调入原理图编辑窗口中。也可以在name栏输入需要的元件名。调入好元件和引脚后,连接好电路,再输入各引脚名。 (4)选择file—>save as命令,选择刚才为自己的工程建立的目录d:\adder,将已设计好的原理图取名为h_adder.bdf,并存盘此文件夹内。 3.将设计好的项目设置成可调用的元件 为了构成全加器的顶层设计,必须将以上设计的半加器h_adder.bdf设置成可调用的元件。在打开半加器原理图文件的情况下,选择file—>create/update—>create symbol file for current file命令,即可将当前文件h_adder.bdf变成一个元件符号存盘,以待高层次设计中调用。4.设计全加器顶层文件 打开一个原理图编辑窗口,方法同前。在新打开的原理图窗口中双击,在弹出的窗口中选择project选项,选择h_adder.bdf,并调入其他元件,连接好电路。以f_adder.bdf名存在同一路径d:\adder中。 二、8位全加器设计 1.将刚设计好的1位全加器设置成可调用的元件,方法同上。 2.调入元件,连接电路图,以8f_adder.bdf保存于同一路径d:\adder中的文件夹中。 3.将顶层文件8f_adder.bdf设置为工程。 4.编译与仿真 原理图与仿真波形分析:

数据结构图及其应用实验报告+代码

附件2: 北京理工大学珠海学院实验报告 ZHUHAI CAMPAUS OF BEIJING INSTITUTE OF TECHNOLOGY 实验题目图及其应用实验时间 2011.5.10 一、实验目的、意义 (1)熟悉图的邻接矩阵(或邻接表)的表示方法; (2)掌握建立图的邻接矩阵(或邻接表)算法; (3)掌握图的基本运算,熟悉对图遍历算法; (4)加深对图的理解,逐步培养解决实际问题的编程能力 二、实验内容及要求 说明1:学生在上机实验时,需要自己设计出所涉及到的函数,同时设计多组输入数据并编写主程序分别调用这些函数,调试程序并对相应的输出作出分析;修改输入数据,预期输出并验证输出的结果,加深对有关算法的理解。 具体要求: (1)建立图的邻接矩阵(或邻接表); (2)对其进行深度优先及广度优先遍历。 三、实验所涉及的知识点 1.创建一个图: CreateUDN(MGraph &G) 2.查找v顶点的第一个邻接点: FirstAdjVex(MGraph G,int v) 3. 查找基于v顶点的w邻接点的下一个邻接点: NextAdjVex(MGraph G,int v,int w) 4.图的矩阵输出: printArcs(MGraph G) 5:顶点定位: LocateVex(MGraph G,char v) 6. 访问顶点v输出: printAdjVex(MGraph G,int v) 7. 深度优先遍历: DFSTraverse(MGraph G,Status (*Visit)(MGraph G,int v)) 8. 广度优先遍历BFSTraverse(MGraph G,Status (*Visit)(MGraph G,int v)) 9. DFS,从第v个顶点出发递归深度优先遍历图G: DFS(MGraph G,int v) 四、实验记录 1.对顶点的定位其数组下标,利用了找到之后用return立即返回,在当图顶点 多的情况下节省了搜索时间,程序如下 //对顶点v定位,返回该顶点在数组的下标索引,若找不到则返回-1 int LocateVex(MGraph G,char v){ for (int i=0;i

3 8译码器

试验一组合逻辑3线-8线译码器设计试验 一、试验目的 1、了解并初步掌握ModelSim软件的使用; 2、了解使用ModelSim进行组合数字电路设计的一般步骤; 3、掌握组合逻辑电路的设计方法; 4、掌握组合逻辑电路3线-8线译码器的原理; 5、掌握门级建模的方法; 二、试验原理 译码器(Decoder)的逻辑功能是将每个输入的二进制代码译成对应得输出高、低电平或另外一个代码。因此,译码是编码的反操作。常用的译码器电路有二进制译码器、二-十进制译码器和显示译码器等。 二进制译码器的输入是一组二进制代码,输出是一组与输入代码一一对应得高、低电平信号。例如,典型的3线-8线译码器功能框图图1-1所示。输入的3位二进制代码共有8种状态,译码器将每个输入代码译成对应的一根输出线上的高、低电平信号。 图1-1 3线-8线译码器框图 74HC138是用CMOS门电路组成的3线-8线译码器,它的逻辑图图1-2所示。表1-1是74HC138的逻辑功能表。当门电路G S的输出为高电平时,可以由逻辑图写出。

图1-2 74HC138逻辑功能图

表1-1 74HC138逻辑功能表 由上式可以看出,由''07Y Y -同时又是210,,A A A 这三个变量的全部最小项的译码输出,所以也将这种译码器称为最小项译码器。 74HC138有3个附加的控制端'' 123 ,S S S 和。当''123S 1,S S 0=+=时,s G 输出为高电平,译码器处于工作状态。否则,译码器被禁止,所有的输出端被封锁为高电平。这3个控制端也称为“片选”输入端,利用片选的作用可以将多片连接起来以扩展译码器的功能; 三、 预习要求 1、数字电子技术基础组合逻辑电路设计一般设计方法; 2、74HC138的逻辑功能; 3、门级建模的一般方法和基本语句; 4、ModelSim 软件的一般使用方法(ModelSim SE Tutorial); 四、 实验步骤 (一)、熟悉ModelSim 软件环境 1、建立一个新Project 1-1双击左面快捷方式或者电击[程序]/[ModelSim SE 6.1f]/[ModelSim]启动ModelSim 6.1(如图1-3); 注意:必须首先关闭IMPORTANT Information 对话框才能开始其它操作;

FPGA 8位全加器的原理图设计

3-8. 在QuartusII中用原理图输入法设计8位全加器 1、实验目的:熟悉利用QuartusⅡ的原理图输入方法设计简单组合电路,掌握层次化设计的方法,并通过一个8位全加器的设计把握利用EDA软件进行原理图输入方式的电子线路设计的详细流程。 2、实验原理:先由一个半加器构成一个全加器,8位全加器可以由8个1位全加器构成,加法器间的进位可以串行方式实现,即将低位加法器的进位输出cout与相临的高位加法器的最低进位输入信号cin 相接。 3、实验内容及过程: 在D盘下建立一个新的文件夹为ADDER8。 本设计的思路是先设计1个1位半加器,因此建立新建文件夹D:/ ADDER8/h_adder;要利用1位的半加器构造1位的全加器,因此建立新建文件夹D:/ADDER8/f_adder;要利用1位的全加器构造8位的全加器,因此建立新建文件夹D:/ADDER8/adder8; (1)、用原理图输入法构造1位半加器 打开QuartusII软件,选择菜单File-New,在弹出的New对话框中选择原理图文件编辑输入项Block Diagram/Schematic File(如图4-1所示),按ok按钮后将打开原理图编辑窗口。 (2)建立一个初始原理图。在编辑窗口中的任何一个位置上右击鼠标,选择输入原件项Insert-Symbol,或者直接双击原理图编辑窗口,于是将弹出如图4-2所示原件对话框。在坐下的Name栏键入输入引脚符号input。然后单击ok按钮。即可将元件调入原理图编辑窗口。 图4-1 图4-2 (3)原理图文件存盘。选择菜单File-Save As,将此原理图文件存于刚才建立的目录D:/ ADDER8/h_adder 中,取文件名为:h_adder.bdf。然后将h_adder.bdf设定为工程,创建工程。 (4)绘制半加器原理图。在工程管理窗口,双击工程名,再次进入原理图编辑窗。双击原理图任何位置,再次弹出4-2的对话框。分别在Name栏键入原件名and2、not、xnor和输出引脚output,并用单击拖动的方法连接电路。然后分别在input和output引脚的PIN NAME上双击使其变为黑色,再用键盘输入各引脚名:a、b、co和so。最后作为本工程的顶层原理设计图如4-3。 图4-3 (5)仿真测试半加器。全程编译后,对此半加器工程进行方针测试,仿真波形如下图所示4-4。

数字信号处理第三次实验代码及波形图

数字信号处理第三次实验 一、实验目的: 1、掌握离散时间系统的DFT的MATLAB实现; 2、熟悉DTFT和DFT之间的关系。 3、了解信号不同变形的DFT与原信号DFT之间的关系 二、实验内容: 1.开发一个时域圆周移位的matlab函数cirshift.m并测试:设x(n)=[9 8 7 6 5 4 3],求x((n-4))8R8(n)以及x((n+5))8R8(n)。 function y=cirshift(x,m,N) %长度为N的x序列(时域)作m点圆周位移 %------------------------------------- %[y]=cirshift(x,m,N) %y=包含圆周位移的输出序列 %x=长度<=N的输入序列 %m=移位样点数 %N=圆周缓冲器长度 %方法:y(n)=x((n-m)mod N) %check for length of x if length(x)>N error('N必须>=x的长度') end x=[x zeros(1,N-length(x))];%将x补零到长度为N n=[0:1:N-1]; n=mod(n-m,N); y=x(n+1); %主函数.m clc;clear all; x=[9 8 7 6 5 4 3]; y1=cirshift(x,4,8); y2=cirshift(x,-5,8);

2. 开发一个圆周翻转的matlab函数cirflip.m并测试:设x(n)=[9 8 7 6 5 4 3 2 1],求x(n)的16点圆周翻转x((-n))16R16(n)。 function y=cirfilp(x,N) nx=[0:1:N-1]; y=x(mod(-nx,N)+1); %主函数.m clc;clear all; x=[9 8 7 6 5 4 3 2 1]; N=16; x=[x zeros(1,N-length(x))]; nx=0:N-1; y=cirfilp(x,16);

EDA三八译码器程序

library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity clk_div is port(clk:in std_logic; clk_div:out std_logic); end clk_div; architecture rt1 of clk_div is signal q_temp:integer range 0 to 5999999; begin process(clk) begin if(clk'event and clk='1') then if(q_temp=5999999) then q_temp<=0; else q_temp<=q_temp+1; end if; end if; end process; process(clk) begin if(clk'event and clk='1') then if(q_temp=5999999) then clk_div<='1'; else clk_div<='0'; end if; end if; end process; end rt1; library ieee; use ieee.std_logic_1164.all; entity seg7 is port(q: in std_logic_vector(3 downto 0); segment: out std_logic_vector(0 to 7)); end seg7; architecture rt1 of seg7 is begin process(q) begin case q is

一位全加器的设计

课程设计任务书 学生:袁海专业班级:电子1303班 指导教师:封小钰工作单位:信息工程学院 题目: 一位全加器的设计 初始条件: 计算机、ORCAD软件,L-EDIT软件 要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求) 1、课程设计工作量:1周 2、技术要求: (1)学习ORCAD软件,L-EDIT软件。 (2)设计一个一位全加器电路。 (3)利用ORCAD软件对该电路进行系统设计、电路设计,利用L-EDIT软件进行版图设计,并进行相应的设计、模拟和仿真工作。 3、查阅至少5篇参考文献。按《理工大学课程设计工作规》要求撰写设计报告书。全文用A4纸打印,图纸应符合绘图规。 时间安排: 2016.12.30布置课程设计任务、选题;讲解课程设计具体实施计划与课程设计报告格式的要求;课程设计答疑事项。 2016.12.31-2017.1.2学习ORCAD软件和L-EDIT软件,查阅相关资料,复习所设计容的基本理论知识。 2017.1.3-2017.1.4对一位全加器电路进行设计仿真工作,完成课设报告的撰写。 2017.1.5 提交课程设计报告,进行答辩。

指导教师签名:年月日 系主任(或责任教师)签名:年月日 目录 摘要 .................................................................................................................................. I ABSTRACT ........................................................................................................................ I 1绪论 (1) 1.1集成电路发展现状 (1) 1.2集成电路版图工具L-edit简介 (1) 2全加器原理及一位全加器原理图设计 (1) 2.1一位全加器原理简介 (1) 2.2实现一位全加器功能的原理图设计 (1) 2.2.1一位全加器原理图 (1) 2.2.2基于ORCAD的一位全加器设计 (1) 2.2.3 一位全加器的电路图仿真 (1) 3一位全加器的版图设计 (1) 3.1确定一位全加器版图结构 (1) 3.2源漏共享缩小版图面积 (1) 3.3 版图所需基础器件绘制编辑 (1) 3.3.1 PMOS、NMOS等基础器件编辑 (1) 3.3.2 两输入与非门与异或门的绘制编辑 (1) 3.3.3源漏共享得到版图 (1) 3.4 绘制最终一位全加器版图 (1) 4心得体会 (1) 5参考文献 (1)

计算机图形学实验代码及截图分解

目录 实验一:OpenGL基础知识 (1) 实验二 OpenGL中的建模与变换 (2) 实验三 OpenGL中的光照 (5) 实验四 OpenGL中的拾取 (8) 实验五 OpenGL中的纹理映射 (11)

实验一:OpenGL基础知识 一、实验目的 1、建立Windows系统下的OpenGL实验框架。 2、学习理解OpenGL工作流程。 二、实验环境 ⒈硬件:每个学生需配备计算机一台。 ⒉软件:Visual C++; 三、实验内容 1、建立非控制台的Windows程序框架。 2、建立OpenGL框架。 3、建立OpenGL框架的类文件。 4、完善Windows框架。 5、理解程序间的相互关系。 四、实验要求 1、学习教材第2章的内容。 2、理解教材中相关实例的代码,按要求添加到适当的地方,调试并通过运行。 3、运行结果应该与教材中的相关实例相符。 4、编译第2章的框架代码,修改背景色、窗口标题。 五、程序设计提示 (略) 六、报告要求 1.认真书写实验报告,字迹清晰,格式规范。报告中应写清姓名、学号、实验日期、实验题目、实验目的、实验原理。 2.报告中应书写主要源程序,且源程序中要有注释。 3.报告中应包含运行结果及结果分析。如调试通过并得到预期的效果,请注明‘通过’并粘贴运行效果图;如未调试通过或结果不正确,试分析原因。 4.报告最后包含实验总结和体会。

实验二 OpenGL中的建模与变换 一、实验目的 1.学习配置OpenGL环境。 2.掌握在OpenGL中指定几何模型的方法。 3. 掌握OpenGL中的透视投影和正投影的设置方法,学会诊断投影问题导致的显示异常。 二、实验环境 ⒈硬件:每个学生需配备计算机一台。 ⒉软件:Visual C++; 三、实验内容 1.建立OpenGL编程环境 (注:Windows自带gl和glu,还需要安装glut库文件。) (a)查看Windows自带的OpenGL文件。在文件夹c:\windows\system32下查看是否存在文件opengl32.dll和glu32.dll;在Visual Studio的安装目录Vc7\PlatformSDK\Include\gl下查看是否存在gl.h和glu.h;在Vc7\PlatformSDK\Lib下是否存在opengl32.lib和glu32.lib。 (b)安装glut库。将文件glut.h复制到Visual Studio的安装目录Vc7\PlatformSDK\Include\gl下;将文件glut32.lib复制到Vc7\PlatformSDK\Lib下;将文件glut32.dll复制到c:\windows\system32下。 2.OpenGL几何建模 (a)建立基本的几何图元,指定图元的颜色,对图元进行平移、旋转、缩放变换。基本几何图元包括: GL_LINES(线)、GL_LINE_STRIP(线带)、GL_LINE_LOOP(线环)、GL_TRIANGLES(三角形)、GL_TRIANGLE_STRIP(三角形带)、GL_TRIANGLE_FAN(三角形扇)、GL_QUADS(四边形)、GL_QUAD_STRIP(四边形带)、GL_POLYGON(多边形)。 (b) 设置合适的投影参数,分别用透视投影和正投影显示步骤(a)中指定的几何图元。 (c) 每按下鼠标左键一次,模型向右旋转一定角度。 (d) 按下ESC键,退出程序。

相关文档
最新文档