版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、计算机科学与技术学院实 验 报 告 ( 2011 2012 学年度 第 二 学期 )课程名称 EDA技术实用教程实验名称 D触发器、八位二进制补码、双二选一多路选择器、一位全减器、八位二进制乘法器姓名学号专业计算机班级地点教师实验一 D触发器一、 实验目的1、熟悉Max+PlusII和GW48EDA开发系统的使用;2、掌握一位半减器具有上升沿触发的D触发器的VHDL设计; 二、 实验原理数字电路的信号只有两种状态:逻辑低或逻辑高,即通常所说的0状态或1状态、0电平或1电平。在各种复杂的数字电路中不但需要对二值(0,1)信号进行算术运算和逻辑适算(门电路),还经常需要将这些信号和运算结果保存起来
2、。为此,需要使用具有记忆功能的基本逻辑单元。能够存储l位二值信号的基本单元电路统称触发器。触发器的特点: 1、具有两个能自行保持的稳定状态,用来表示逻辑状态的0和1,或二进制数的0和1。 2、根据不同的输入信号可以把输出置成1或O状态。原理图: 3、当输入信号消失后,能保持其状态不变(具有记忆功能)。三、 源程序HU.vhd的代码如下:library ieee;USE IEEE.STD_LOGIC_1164.ALL;ENTITY HU ISPORT(CL:IN STD_LOGIC; -输入选择信号 CLK0:IN STD_LOGIC; -输入信号 OUT1:OUT STD_LOGIC);-输出
3、端END ;ARCHITECTURE ONE OF HU ISSIGNAL Q : STD_LOGIC;BEGINPR01: PROCESS(CLK0)BEGINIF CLK0 EVENT AND CLK0=1THEN Q=NOT(CL OR Q);ELSEEND IF;END PROCESS;PR02: PROCESS(CLK0)BEGINOUT1=Q;END PROCESS;END ONE;四、 实验结果实验二 八位二进制补码一实验目的1.熟悉Max+PlusII和GW48EDA开发系统的使用;2.掌握八位二进制补码的VHDL设计;3.元件例化语句的使用。二实验原理 若原码为正,则补码等于
4、原码;若原码为负,则补码为(2+原码)mod2。 三源程序LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY JACKAN IS PORT(rst:IN STD_LOGIC; din:IN STD_LOGIC_VECTOR(7 DOWNTO 0); dout:OUT STD_LOGIC_VECTOR(7 DOWNTO 0);END ENTITY JACKAN; ARCHITECTURE HAIXIA OF JACKAN ISSIGNAL tmp:STD_LOGIC_VECTOR(6 DO
5、WNTO 0);BEGIN PROCESS(din,rst) BEGIN IF rst=0 THEN dout 0); ELSIF din(7) =1 THEN FOR i IN 0 TO 6 LOOP tmp(i)=NOT din(i); END LOOP; dout(6 DOWNTO 0) = tmp+1; dout(7) = din(7); ELSE dout = din; END IF; END PROCESS;END ARCHITECTURE HAIXIA;四实验结果 实验三 双2选1多路选择器一、 实验目的1 熟悉Max+PlusII和GW48EDA开发系统的使用;2 掌握双2选1
6、多路选择器的VHDL设计二、 实验原理对于其中MUX21A,当s=0和1时,分别有y=a和y=b。原理图:三、 源程序mux221.vhdLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY MUX221 ISPORT(s0,s1:IN STD_LOGIC_VECTOR(1 DOWNTO 0); -输入信号 a1,a2,a3:IN STD_LOGIC; outy:OUT STD_LOGIC);-输出端END;ARCHITECTURE ONE OF MUX221 ISSIGNAL tmp : STD_LOGIC;BEGINPR01:PROCESS(s0)
7、BEGINIF s0=0 THEN tmp=a2;ELSE tmp=a3;END IF;END PROCESS;PR02:PROCESS(s1)BEGINIF s1=0 THEN outy=a1;ELSE outy=tmp;END IF;END PROCESS;END ONE;四、 实验结果实验四 一位全减器一、 实验目的1. 熟悉Max+PlusII和GW48EDA开发系统的使用;2. 掌握一位半减器的VHDL设计;3. 掌握一位半减器构建一位全减器的方法;二、实验原理 由两个半减器和一个或门构成一个全减器。首先,一位半减器的逻辑表达式: 其次,一位全减器的逻辑表达式: 三、源程序半减器的V
8、HDL的程序如下:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL; entity Jackan is port( x,y : in std_logic; diff,s_out : out std_logic );end Jackan;architecture Haixia of Jackan isbeginprocess(x,y) begin diff=x xor y; s_outx,y=y,diff=t0,s_out=t1);u2:Jackan port map(x=t0,y=sub_in,di
9、ff=diffr,s_out=t2);sub_out=t1 or t2;END ARCHITECTURE Yaty; 四实验结果 实验五 八位二进制乘法器一:实验目的(1)熟悉isEXPERT/MAX+plusisEXPERT/MAX+plus II/Foudation Series 软件的基本使用方法。(2)熟悉GW48-CK EDA实验开发系统的基本使用方法。(3)学习VHDL基本逻辑电路的综合设计。二:实验原理八位二进制乘法器是有由8位加法器构成的以时序方式设计的8位乘法器,采用逐项移位相加的方法来实现相乘。用乘数的各位数码,从低位开始依次与被乘数相乘,每相乘一次得到的积称为部分积,将第
10、一次(由乘数最低位与被乘数相乘)得到的部分积右移一位并与第二次得到的部分积相加,将加得的和右移一位再与第三次得到的部分积相加,再将相加的结果右移一位与第四次得到的部分积相加。直到所有的部分积都被加过一次。层次模块8位乘法器的层次结构,分为以下4个模块:右移寄存器模块:这是一个8位右移寄存器,可将乘法运算中的被乘数加载于其中,同时进行乘法运算的移位操作。加法器模块:这是一个8位加法器,进行操作数的加法运算。1位乘法器模块:完成8位与1位的乘法运算。锁存器模块:这是一个16位锁存器,同时也是一个右移寄存器,在时钟信号的控制下完成输入数值的锁存与移位。简单流程图: 八位寄存器Haixia存放乘数a,
11、从a的最低位开始,每次从Haixia中移出一位,送至18位乘法器Yaty中,同时将被乘数加至Yaty中,进行乘法运算,运算的结果再送至8位加法器Quange中,同时取出16位移位寄存器Jackan的高8位与之进行相加,相加后结果即部分积存入Jackan中,进行移位后并保存。这样经过8次对乘数a的移位操作,所以的部分积已全加至Jackan中,此时锁存器Jackan存放的值即所要求的积。流程图如下: 开始开始信号到来,置newstart为1寄存器Jackan置0,时钟上升沿到来,寄存器Haixia置乘数a时钟下降沿,置newstart为零Haixia移出1位后与被乘数放入Yaty中进行乘法运算,结
12、果送至QuangeJackan取出高8位送Quange中,与Yaty得到结果进行加法运算,结果送至Jackan右移后并进行锁存输出每一步的运算结果,即输出Jackan的值,其中第八个值即为求得的积结果三、源程序 8位移位寄存器:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;use ieee.std_logic_arith.all;entity haixia is -实体描述port(haixia _clk, haixia _load:in std_logic; haixia _in:in std
13、_logic_vector(7 downto 0); haixia _out:out std_logic);end haixia;architecture arc_ haixia of haixia is -结构体描述 signal xiaoxia:std_logic_vector(7 downto 0); -定义信号变量begin process(haixia _clk, haixia _load) begin if haixia _clkevent and haixia _clk=1 then -时钟上升沿到来 if haixia _load=1 then -锁存新数据 xiaoxia=r
14、8_in; else xiaoxia(6 downto 0)=xiaoxia(7 downto 1); -数据右移 end if; end if; end process; haixia _out=xiaoxia(0); -输出最低位end arc_ haixia;8位加法器:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;use ieee.std_logic_arith.all; entity adder_4 is -实体描述 port(a4_in :in std_logic; a4_a,a4_
15、b:in std_logic_vector(3 downto 0); a4_s:out std_logic_vector(3 downto 0); a4_out:out std_logic); end adder_4; architecture arc_adder_4 of adder_4 is -结构体描述 signal ss:std_logic_vector(4 downto 0); -定义信号变量 signal aa,bb:std_logic_vector(4 downto 0); begin aa=0&a4_a; -为避免溢出,将0与a4_a连接 bb=0&a4_b; -将0与a4_b
16、连接 ss=aa+bb+a4_in; -执行加法运算 a4_s=ss(3 downto 0); -输出结果 a4_out=ss(4); -进位位 end arc_adder_4;adder_8library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;use ieee.std_logic_arith.all;entity adder_8 is -实体描述port(a8_in :in std_logic; a8_a,a8_b:in std_logic_vector(7 downto 0); a8_s:out s
17、td_logic_vector(7 downto 0); a8_out:out std_logic);end adder_8;architecture arc_adder_8 of adder_8 is -结构体描述 component adder_4 -元件例化,调用4位加法器声明 port(a4_in :in std_logic; a4_a,a4_b:in std_logic_vector(3 downto 0); a4_s:out std_logic_vector(3 downto 0); a4_out:out std_logic); end component; signal carr
18、y_out:std_logic; -定义信号变量begin u1:adder_4 -例化语句 port map(a8_in,a8_a(3 downto 0),a8_b(3 downto 0),a8_s(3 downto 0),carry_out); u2:adder_4 port map(carry_out,a8_a(7 downto 4),a8_b(7 downto 4),a8_s(7 downto 4),a8_out);end arc_adder_8; 1位乘法器:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_uns
19、igned.all;use ieee.std_logic_arith.all;entity yaty is -实体描述port(yaty _x:in std_logic; yaty _y:in std_logic_vector(7 downto 0); yaty _out:out std_logic_vector(7 downto 0);end yaty;architecture arc_ yaty of yaty is -结构体描述begin process(yaty _x, yaty _y) begin for i in 0 to 7 loop -循环完成8位与1位的乘法运算 yaty _
20、out(i)= yaty _y(i)and yaty _x; end loop; end process;end arc_ yaty16位移位寄存器:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;use ieee.std_logic_arith.all;entity jackan is -实体描述port(jackan _clk, jackan _clr:in std_logic; jackan _in:in std_logic_vector(8 downto 0); jackan _out:o
21、ut std_logic_vector(15 downto 0);end jackan;architecture arc_ jackan of jackan is -结构体描述 signal yaty:std_logic_vector(15 downto 0); -定义信号变量 begin process(jackan _clk, jackan _clr) begin if jackan _clr=1 then -clr为高电平,清零 yaty=00000; elsif jackan _clkevent and jackan _clk=1 then -时钟上升沿到来 yaty(6 downto
22、 0)=yaty(7 downto 1); -右移,并锁存低八位 yaty(15 downto 7)= jackan _in; -将输入锁存到高8位 end if; end process; jackan _out=yaty; -数据输出end arc_ jackan;8位乘法器:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;use ieee.std_logic_arith.all;entity jackanandhaixia is -实体描述port(clk,start:in std_logi
23、c; jackan,haixia:in std_logic_vector(7 downto 0); result:out std_logic_vector(15 downto 0);end jackanandhaixia;architecture arc_ jackanandhaixia of jackanandhaixia is -结构体描述component yaty -调用1位乘法器声明port(yaty_x:in std_logic; yaty_y:in std_logic_vector(7 downto 0); yaty_out:out std_logic_vector(7 down
24、to 0);end component;component adder_8 -调用8位加法器声明port(a8_in :in std_logic; a8_a,a8_b:in std_logic_vector(7 downto 0); a8_s:out std_logic_vector(7 downto 0); a8_out:out std_logic);end component;component haixia -调用8位寄存器声明port(haixia_clk,r8_load:in std_logic; haixia_in:in std_logic_vector(7 downto 0);
25、haixia_out:out std_logic);end component;component jackan -调用16位寄存器声明port(jackan _clk, jackan _clr:in std_logic; jackan _in:in std_logic_vector(8 downto 0); jackan _out:out std_logic_vector(15 downto 0);end component;signal gndint,newstart,qb:std_logic; -定义信号变量signal andsd:std_logic_vector(7 downto 0);signal dtbin:std_lo
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 幼儿园教师心理健康支持体系构建研究-基于幼儿园教师心理援助计划实施数据分析
- 人教版(2024)七年级下册英语 Unit 1 Section A 教学设计
- 山东省济宁市兖州区2025-2026学年高二下学期期中考试英语试卷
- 妇女主任考试题及答案
- 2025年气象局事业单位招聘考试真题及答案
- 疏散指示系统施工方案(完整版)
- 2026年云南楚雄州广播电视编辑记者、播音员主持人资格考试(广播电视基础知识)考前冲刺试题及答案
- 安全验收评价服务合同
- 2026年政府采购代理机构从业人员考试自测试题及答案
- 公路照明施工方案
- 七年级数学上学期暑期讲义
- 2023BIM三维场布实施标准
- 专题04 二次根式2022-2024中考数学真题分类汇编(全国用)
- 《建设工程造价咨询工期标准(房屋、市政及城市轨道交通工程)》
- 《水电工程水生生态调查与评价技术规范》(NB-T 10079-2018)
- 四川省成都市三年(2020-2022)中考语文二模汇编-12现代文阅读(记叙文)
- YST 739.1-2023 铝电解质化学分析方法 第1部分:元素含量的测定 X射线荧光光谱法
- 中考语文一轮专题复习:非连续性文本阅读
- 威海玻璃钢水箱施工方案
- 营养学第六章 矿物质
- 关于进一步激励干部在急难险重任务中担当作为有关具体措施的通知
评论
0/150
提交评论