当前位置:文档之家› 数字逻辑实验报告 译码器

数字逻辑实验报告 译码器

数字逻辑实验报告 译码器
数字逻辑实验报告 译码器

数字逻辑实验

实验报告

实验项

译码器实验时间2019.11.20

实验目

通过实验,学会设计译码器,使用基本门电路IP核设计一个3-8译码器

实验环

BASYS 3,vivado

实验内容及步骤(含电路原理图

/Verilog 程序、管脚分配、仿真结果等;扩展内容也列入本栏)3-8译码器

1)分析输入、输出;根据方程和IP 核库判断需要使用的门电路以及个数。2)创建新的工程,加载需要使用的IP 核。

3)创建BD 设计文件,添加你所需要的IP 核,根据图5-1 进行端口设置和连线操作。

4)完成原理图设计后,生成顶层文件(Generate Output Products)和HDL 代码文件(Create HDL Wrapper)。

5)配置管脚约束(I/O PLANNING),为输入指定相应的拨码开关,为输出指定相应的led 灯显示。

6)综合、实现、生成bitstream。

7)仿真验证,依据3-8 译码器输入输出真值表,在实验板验证试验结果。

输入输出

G1 G2 G3 A2 A1 A0 Y7 Y6 Y5 Y4 Y3 Y2 Y2 Y1 X 1 x X x x 1 1 1 1 1 1 1 1 X X 1 X X X 1 1 1 1 1 1 1 1

0 x X X X x 1 1 1 1 1 1 1 1

1 0 0 0 0 0 1 1 1 1 1 1 1 0 1 0 0 0 0 1 1 1 1 1 1 1 0 1 1 0 0 0 1 0 1 1 1 1 1 0 1 1 1 0 0 0 1 1 1 1 1 1 0 1 1 1 1 0 0 1 0 0 1 1 1 0 1 1 1 1 1 0 0 1 0 1 1 1 0 1 1 1 1 1 1 0 0 1 1 0 1 0 1 1 1 1 1 1 1 0 0 1 1 1 0 1 1 1 1 1 1 1

实验报告说明

数字逻辑课程组

实验名称列入实验指导书相应的实验题目。

实验目的目的要明确,要抓住重点,可以从理论和实践两个方面考虑。可参考实验指导书的内容。在理论上,验证所学章节相关的真值表、逻辑表达式或逻辑图的实际应用,以使实验者获得深刻和系统的理解,在实践上,掌握使用软件平台及设计的技能技巧。一般需说明是验证型实验还是设计型实验,是创新型实验还是综合型实验。

实验环境实验用的软硬件环境(配置)。

实验内容(含电路原理图/Verilog程序、管脚分配、仿真结果等;扩展内容也列入本栏)这是实验报告极其重要的内容。这部分要写明经过哪几个步骤。可画出流程图,再配以相应的文字说明,这样既可以节省许多文字说明,又能使实验报告简明扼要,清楚明白。

实验结果分析数字逻辑的设计与实验结果的显示是否吻合,如出现异常,如何修正并得到正确的结果。

实验方案的缺陷及改进意见在实验过程中发现的问题,个人对问题的改进意见。

心得体会、问题讨论对本次实验的体会、思考和建议。

单片机原理及接口技术实验报告

单片机原理及接口技术 实验报告 任课教师 班级 姓名 日期

实验一构建单片机最小系统和实验环境熟悉 一、单片机最小系统的组成原理图 二、单片机的工作原理: 1.运算器 运算器包括算术逻辑运算单元ALU、累加器ACC、寄存器B、暂存器TMP、程序状态字寄存器PSW、十进制调整电路等。它能实现数据的算术逻辑运算、位变量处理和数据传送操作。 (1)算术逻辑单元ALU ALU在控制器根据指令发出的内部信号控制下,对8位二进制数据进行加、减、乘、除运算和逻辑与、或、非、异或、清零等运算。它具有很强的判跳、转移、丰富的数据传送、提供存放中间结果以及常用数据寄存器的功能。MCS-51中位处理具有位处理功能,特别适

用于实时逻辑控制。 (2)累加器ACC 累加器ACC是8位寄存器,是最常用的专用寄存器,它既可存放操作数,又可存放运算的中间结果。MCS—51系列单片机中许多指令的操作数来自累加器ACC。累加器非常繁忙,在与外部存储器或I/O接口进行数据传送时,都要经过A来完成。 (3)寄存器B 寄存器B是8位寄存器,主要用于乘、除运算。乘法运算时,B中存放乘数,乘法操作后,高8位结果存于B寄存器中。除法运算时,B中存放除数,除法操作后,余数存于寄存器B中。寄存器B也可作为一般的寄存器用。 (4)程序状态字PSW 程序状态字是8位寄存器,用于指示程序运行状态信息。其中有些位是根据程序执行结果由硬件自动设置的,而有些位可由用户通过指令方法设定。PSW中各标志位名称及定义如下: CY():进(借)位标志位,也是位处理器的位累加器C。在加减运算中,若操作结果的最高位有进位或有借位时,CY由硬件自动置1,否则清“0”。在位操作中,CY作为位累加器C 使用,参于进行位传送、位与、位或等位操作。另外某些控制转移类指令也会影响CY位状态(第三章讨论)。 AC():辅助进(借)位标志位。在加减运算中,当操作结果的低四位向高四位进位或借位时此标志位由硬件自动置1,否则清“0”。 F0():用户标志位,由用户通过软件设定,决定程序的执行方式。 RS1(),RS0():寄存器组选择位。用于设定当前通用寄存器组的组,其对应关系如下:

译码器实验报告

译码器实验报告 一、实验目的 1、掌握中规模集成译码器的逻辑功能和使用方法 2、熟悉数码管的使用 二、实验原理 译码器是一个多输入、多输出的组合逻辑电路。它的作用是把给定的代码进行“翻译”,变成相应的状态,使输出通道中相应的一路有信号输出。译码器在数字系统中有广泛的用途,不仅用于代码的转换、终端的数字显示,还用于数据分配,存贮器寻址和组合控制信号等。不同的功能可选用不同种类的译码器。 译码器可分为通用译码器和显示译码器两大类。前者又分为变量译码器和代码变换译码器。 变量译码器(又称二进制译码器),用以表示输入变量的状态,如2线-4线、3线-8线和4线-16线译码器。若有n个输入变量,则有2n个不同的组合状态,就有2n个输出端供其使用。而每一个输出所

代表的函数对应于n个输入变量的最小项。 三、实验设备与器件 1.+5V直流电源 2.单次脉冲源 3.逻辑电平开关 4.74LS138 四、实验内容及步骤 1.74LS138译码器逻辑功能测试 将译码器使能端STA、STB、STC与地址端A2、A1、A0分别接到逻辑电平开关输入口,八个输出端Y7…Y0依次连接在十六位逻辑电平显示上,拨动逻辑电平开关,逐项测试74LS138的逻辑功能。2.实验箱电源连接正确,电路自查确定无误后,电路验证还是不正确的情况下进行下面的排错检查:

1)检查芯片的电源和地的电平是否正确。 2)芯片的使能端连接的电平正确。 3)从逻辑电平开关输入信号是否正确。 4)从输出端按逻辑功能状态往前一步一步排查。 3.两片3线-8线译码器74LS138扩展为4线-16线译码器 用两片74LS138组合成一个四线-十六线译码器进行实验,并分析逻辑功能。

数字逻辑个性课实验报告

学生学号0121410870432实验成绩 学生实验报告书 实验课程名称逻辑与计算机设计基础 开课学院计算机科学与技术学院 指导教师姓名肖敏 学生姓名付天纯 学生专业班级物联网1403 2015--2016学年第一学期

译码器的设计与实现 【实验要求】: (1)理解译码器的工作原理,设计并实现n-2n译码器,要求能够正确地根据输入信号译码成输出信号。(2)要求实现2-4译码器、3-8译码器、4-16译码器、8-28译码器、16-216译码器、32-232译码器。 【实验目的】 (1)掌握译码器的工作原理; (2)掌握n-2n译码器的实现。 【实验环境】 ◆Basys3 FPGA开发板,69套。 ◆Vivado2014 集成开发环境。 ◆Verilog编程语言。 【实验步骤】 一·功能描述 输入由五个拨码开关控制,利用led灯输出32种显示 二·真值表

三·电路图和表达式

四·源代码 module decoder_5( input [4:0] a, output [15:0] d0 ); reg [15:0] d0; reg [15:0] d1; always @(a) begin case(a) 5'b00000 :{d1,d0}=32'b1000_0000_0000_0000_0000_0000_0000_0000; 5'b00001 :{d1,d0}=32'b0100_0000_0000_0000_0000_0000_0000_0000; 5'b00010 :{d1,d0}=32'b0010_0000_0000_0000_0000_0000_0000_0000; 5'b00011 :{d1,d0}=32'b0001_0000_0000_0000_0000_0000_0000_0000; 5'b00100 :{d1,d0}=32'b0000_1000_0000_0000_0000_0000_0000_0000; 5'b00101 :{d1,d0}=32'b0000_0100_0000_0000_0000_0000_0000_0000; 5'b00110 :{d1,d0}=32'b0000_0010_0000_0000_0000_0000_0000_0000; 5'b00111 :{d1,d0}=32'b0000_0001_0000_0000_0000_0000_0000_0000; 5'b01000 :{d1,d0}=32'b0000_0000_1000_0000_0000_0000_0000_0000; 5'b01001 :{d1,d0}=32'b0000_0000_0100_0000_0000_0000_0000_0000; 5'b01010 :{d1,d0}=32'b0000_0000_0010_0000_0000_0000_0000_0000; 5'b01011 :{d1,d0}=32'b0000_0000_0001_0000_0000_0000_0000_0000; 5'b01100 :{d1,d0}=32'b0000_0000_0000_1000_0000_0000_0000_0000; 5'b01101 :{d1,d0}=32'b0000_0000_0000_0100_0000_0000_0000_0000; 5'b01110 :{d1,d0}=32'b0000_0000_0000_0010_0000_0000_0000_0000; 5'b01111 :{d1,d0}=32'b0000_0000_0000_0001_0000_0000_0000_0000; 5'b10000 :{d1,d0}=32'b0000_0000_0000_0000_1000_0000_0000_0000; 5'b10001 :{d1,d0}=32'b0000_0000_0000_0000_0100_0000_0000_0000; 5'b10010 :{d1,d0}=32'b0000_0000_0000_0000_0010_0000_0000_0000; 5'b10011 :{d1,d0}=32'b0000_0000_0000_0000_0001_0000_0000_0000; 5'b10100 :{d1,d0}=32'b0000_0000_0000_0000_0000_1000_0000_0000; 5'b10101 :{d1,d0}=32'b0000_0000_0000_0000_0000_0100_0000_0000; 5'b10110 :{d1,d0}=32'b0000_0000_0000_0000_0000_0010_0000_0000; 5'b10111 :{d1,d0}=32'b0000_0000_0000_0000_0000_0001_0000_0000; 5'b11000 :{d1,d0}=32'b0000_0000_0000_0000_0000_0000_1000_0000; 5'b11001 :{d1,d0}=32'b0000_0000_0000_0000_0000_0000_0100_0000; 5'b11010 :{d1,d0}=32'b0000_0000_0000_0000_0000_0000_0010_0000;

基于Libero的数字逻辑设计仿真和验证实验报告(实验1)

实验报告 1、基本门电路 一、实验目的 1、熟悉EDA工具的使用;仿真基本门电路。掌握基于Verilog的基本门电路的设计及其验证。 2、熟悉利用EDA工具进行设计及仿真的流程。基本门电路的程序烧录及验证。 3、学习针对实际门电路芯片74HC00、74HC02、74HC0 4、74HC08、74HC32、74HC86进行VerilogHDL设计的方法。 二、实验环境 Libero仿真软件。 三、实验内容 1、掌握Libero软件的使用方法。 2、进行针对74系列基本门电路的设计,并完成相应的仿真实验。 3、参考教材中相应章节的设计代码、测试平台代码(可自行编程),完成74HC00、74HC02、74HC0 4、74HC08、74HC32、74HC86相应的设计、综合及仿真。 4、提交针对74HC00、74HC02、74HC04、74HC08、74HC32、74HC86(任选一个 ....)的综合结果,以及相应的仿真结果。 四、实验结果和数据处理 1、所有 ..模块及测试平台代码清单 //74HC00代码-与非门 // module HC00(A,B,Y); input [4:1]A,B;

assign Y=~(A&B); endmodule //74HC00测试平台代码 // `timescale 1ns/1ns module testbench(); reg [4:1]a,b; wire [4:1]y; HC00 u1(a,b,y); initial begin a=4'b0000;b=4'b0001; #10 b=b<<1; #10 b=b<<1; #10 b=b<<1; a=4'b1111;b=4'b0001; #10 b=b<<1; #10 b=b<<1; #10 b=b<<1; end endmodule //74HC02代码-或非门 // module HC02(A,B,Y);

微机原理简单输入输出实验报告

东南大学 《微机实验及课程设计》 实验报告 实验四(1)简单输入输出 一. 实验目的与内容 (一)实验目的 1)进一步掌握TPC实验装置的基本原理和组成结构; 2)掌握利用I/O指令单步调试检查硬件接口功能,学会利用示波器检测I/O指令执行时总线情况; 3)掌握简单并行输入输出接口的工作原理及使用方法,进一步熟悉掌握输入输出单元的功能

和使用。 (二)实验内容及要求 1、输出接口输出,根据8个发光二极管发光的情况验证编程从键盘输入一个字符或数字,将其ASCII码通过正确性。(输出端口实验必做) 2、用逻辑电平开关预置某个字母的ASCII码,编程输入这个ASCII码,并将其对应字母在屏幕上显示出来。(输入端口实验必做) 3、利用基本实验(1)中的输出锁存电路,设计L0~L7为流水灯,流水间隔时间由软件产生。(输出端口实验) 4、利用基本实验(2)中的输入电路,监测逻辑电平开关K0~K7的变换,当开关状态为全开时,在屏幕上显示提示信息并结束程序。(输入端口实验) 要求: 1、输入输出端口应该可以响应外设的连续变化。 2、输出按ESC键退出;输入按任意键退出。 3、内容3、4比做一题,选做一题 二. 实验基本原理 (一)基本原理 简单并行输出实验:八D触发器74LS273的八个输入端接数据总线D0~D7,从键盘输入一个字符或数字,通过2A8H~输出接口输出该字符或者数字代表的ASCII码,再通过8个发光二极管发光显示二进制数码,从而验证编程以及电路的正确性。 简单并行输入实验:八缓冲器74LS244的八个输出端接数据总线D0~D7,8个输入端分别接逻辑电平开关K0~K7,在逻辑电平开关上预置任意字符的ASCII码,编程将此ASCII码通过2A0H~输入,ASCII码对应字符显示在屏幕上,从而验证编程及电路的正确性。 (二)实验接线图

华中科技大学计算机学院数字逻辑实验报告2(共四次)

数字逻辑实验报告(2) 姓名: 学号: 班级: 指导教师: 计算机科学与技术学院 20 年月日

数字逻辑实验报告(2)无符号数的乘法器设计

一、无符号数的乘法器设计 1、实验名称 无符号数的乘法器的设计。 2、实验目的 要求使用合适的逻辑电路的设计方法,通过工具软件logisim进行无符号数的乘法器的设计和验证,记录实验结果,验证设计是否达到要求。 通过无符号数的乘法器的设计、仿真、验证3个训练过程,使同学们掌握数字逻辑电路的设计、仿真、调试的方法。 3、实验所用设备 Logisim2.7.1软件一套。 4、实验内容 (1)四位乘法器设计 四位乘法器Mul4 4实现两个无符号的4位二进制数的乘法运算,其结构框图如图3-1所示。设被乘数为b(3:0),乘数为a(3:0),乘积需要8位二进制数表示,乘积为p(7:0)。 图3-1 四位乘法器结构框图 四位乘法器运算可以用4个相同的模块串接而成,其内部结构如图3-2所示。每个模块均包含一个加法器、一个2选1多路选择器和一个移位器shl。 图3-2中数据通路上的数据位宽都为8,确保两个4位二进制数的乘积不会发生溢出。shl是左移一位的操作,在这里可以不用逻辑器件来实现,而仅通过数据连线的改变(两个分线器错位相连接)就可实现。

a(0)a(1)a(2)a(3) 图3-2 四位乘法器内部结构 (2)32 4乘法器设计 32 4乘法器Mul32 4实现一个无符号的32位二进制数和一个无符号的4位二进制数的乘法运算,其结构框图如图3-3所示。设被乘数为b(31:0),乘数为a(3:0),乘积也用32位二进制数表示,乘积为p(31:0)。这里,要求乘积p能用32位二进制数表示,且不会发生溢出。 图3-3 32 4乘法器结构框图 在四位乘法器Mul4 4上进行改进,将数据通路上的数据位宽都改为32位,即可实现Mul32 4。 (3)32 32乘法器设计 32 32乘法器Mul32 32实现两个无符号的32位二进制数的乘法运算,其结构框图如图3-4所示。设被乘数为b(31:0),乘数为a(31:0),乘积也用32位二进制数表示,乘积为p(31:0)。这里,要求乘积p能用32位二进制数表示,且不会发生溢出。 图3-4 32 32乘法器结构框图 用32 4乘法器Mul32 4作为基本部件,实现32 32乘法器Mul32 32。 设被乘数为b(31:0)=(b31b30b29b28···b15b14b13b12···b4b3b2b1b0)2 乘数为a(31:0)=(a31a30a29a28···a15a14a13a12···a3a2a1a0)2 =(a31a30a29a28)2 228+···+ ( a15a14a13a12)2 212+···+ (a3a2a1a0)2 20

数字逻辑实验报告。编码器

数字逻辑实验实验报告 脚分配、1)分析输入、输出,列出方程。根据方程和IP 核库判断需要使用的门电路以及个数。 2)创建新的工程,加载需要使用的IP 核。 3)创建BD 设计文件,添加你所需要的IP 核,进行端口设置和连线操作。 4)完成原理图设计后,生成顶层文件(Generate Output Products)和HDL 代码文件(Create HDL Wrapper)。 5)配置管脚约束(I/O PLANNING),为输入指定相应的拨码开关,为输出指定相应的led 灯显示。

6)综合、实现、生成bitstream。 7)仿真验证,依据真值表,在实验板验证试验结果。

实验报告说明 数字逻辑课程组 实验名称列入实验指导书相应的实验题目。 实验目的目的要明确,要抓住重点,可以从理论和实践两个方面考虑。可参考实验指导书的内容。在理论上,验证所学章节相关的真值表、逻辑表达式或逻辑图的实际应用,以使实验者获得深刻和系统的理解,在实践上,掌握使用软件平台及设计的技能技巧。一般需说明是验证型实验还是设计型实验,是创新型实验还是综合型实验。 实验环境实验用的软硬件环境(配置)。 实验内容(含电路原理图/Verilog程序、管脚分配、仿真结果等;扩展内容也列入本栏)这是实验报告极其重要的内容。这部分要写明经过哪几个步骤。可画出流程图,再配以相应的文字说明,这样既可以节省许多文字说明,又能使实验报告简明扼要,清楚明白。 实验结果分析数字逻辑的设计与实验结果的显示是否吻合,如出现异常,如何修正并得到正确的结果。 实验方案的缺陷及改进意见在实验过程中发现的问题,个人对问题的改进意见。 心得体会、问题讨论对本次实验的体会、思考和建议。

计算机组成原理实验报告

《计算机组成原理》 实验报告 实验室名称:S402 任课教师:邹洋 小组成员:王娜任芬 学号:2010212121 2010212119

实验一_HAMMING码 (2) 实验二_乘法器 (7) 实验三_时序部件 (16) 实验四_CPU__算术逻辑单元实验 (24) 实验五_CPU__指令译码器实验 (32) 实验六_CPU_微程序控制器实验1 (43) 实验七_八_CPU实验 (59)

1 编码实验:Hamming码 1.1、实验目的 1、对容错技术有初步了解,理解掌握海明码的原理 2、掌握海明码的编码以及校验方法 1.2、实验原理 海明码是由Richard Hamming于1950年提出的,目前是被广泛采用的很有效的校验编码。它的特点是只要增加少数几个校验位,就能检测出多位出错,并能自动纠错。 Hamming码的实现原理是在数据中加入几个校验位,将数据代码的码距比较均匀的拉大,并把数据的每一个二进制位分配在几个奇偶校验组中。当某一位出错后,就会引起有关的几个校验位的值发生变化。这不但可以发现出错,还能指出是哪一位出错,为进一步自动纠错提供了依据。 假设校验位的个数为r,则它能表示2r个信息,用其中的一个信息指出“没有错误”,其余的2r-1个信息指出错误发生在哪一位。然而错误也可能发生在校验位,因此只有k=2r-1-r个信息能用于纠正被传送数据的位数,也就是说要满足关系: 2r≥k+r+1 若要能检测与自动校正一位错,并能发现两位错,此时校验位的位数r和数据位的位数k应满足下述关系:2r-1≥k+r 按上述不等式,可计算出数据位k与校验位r的对应关系,如表1.1所示: 表1.1 数据位k与校验位r的对应关系 k值最小的r值 1~3 4 4~10 5 11~25 6 26~56 7 57~119 8 若海明码的最高位号为m,最低位号为1,即H m H m-1…H2H1,则此海明码的编码规律通常是 1)校验位与数据位之和为m,每个校验位P i在海明码中被分在位号为2i-1的位置上,其余各位为数据位,并按从低向高逐位依次排列的关系分配各数据位。 2)海明码的每一位码H i(包括数据位和校验位本身)由多个校验位校验,其关系是被校验的每一位位号等于校验它的各校验位的位号之和。 3)在增大合法码的码距时,所有码的码距应尽量均匀增大,以保证对所有码的检错能力平衡提高。 下面具体看一下对一个字节进行海明编码的实现过程。 只实现一位纠错两位检错,由前面的表可以看出,8位数据位需要5位校验位,可表示为H13H12…H2H1。 五个校验位P5~P1对应的海明码位号分别为H13、H8、H4、H2和H1。P5只能放在H13位

编码器和译码器实验报告

译码器、编码器及其应用 一、实验目的 (1) 掌握中规模集成译码器的逻辑功能和使用方法; (2) 熟悉掌握集成译码器和编码器的应用; (3) 掌握集成译码器的扩展方法。 二、实验设备 数字电路实验箱,74LS20,74LS138。 三、实验内容 (1) 74LS138译码器逻辑功能的测试。将74LS138输出??接数字实验箱LED 管,地址输入接实验箱开关,使能端接固定电平(或GND)。电路图如Figure 1所示: Figure 2 ??????????????时,任意拨动开关,观察LED显示状态,记录观察结果。 ??????????????时,按二进制顺序拨动开关,观察LED显示状态,并与功能表对照,记录观察结果。 用Multisim进行仿真,电路如Figure 3所示。将结果与上面实验结果对照。

Figure 4 (2) 利用3-8译码器74LS138和与非门74LS20实现函数: ?? 四输入与非门74LS20的管脚图如下: 对函数表达式进行化简: ?? ?? A ? ??????????? ???? 按Figure 5所示的电路连接。并用Multisim进行仿真,将结果对比。 Figure 6

(3) 用两片74LS138组成4-16线译码器。 因为要用两片3-8实现4-16译码器,输出端子数目刚好够用。 而输入端只有 A、、三个,故要另用使能端进行片选使两片138译码器 进行分时工作。而实验台上的小灯泡不够用,故只用一个灯泡,而用连接灯泡的导线测试?,在各端子上移动即可。在multisim中仿真电路连接如Figure 7所示(实验台上的电路没有接下面的两个8灯LED): Figure 8 四、实验结果 (1) 74LS138译码器逻辑功能的测试。 当输入 A时,应该是输出低电平,故应该第一个小灯亮。实际用实验台测试时,LE0灯显示如Figure 9所示。当输入 A时,应该是输出低电平,故理论上应该第二个小灯亮。实际用实验台测试时,LE0灯显示如Figure 6所示。 Figure 10

数字逻辑实验报告

. 武汉理工大学

2017 年月日 实验一:一位全加器 实验目的: 1. 掌握组合逻辑电路的设计方法; 2. 熟悉Vivado2014 集成开发环境和Verilog 编程语言; 3. 掌握1 位全加器电路的设计与实现。 试验工具: 1.Basys3 FPGA 开发板 2.Vivado2014 集成开发环境和Verilog 编程语言。 实验原理: Ci+A+B={Co,S} 全加器真表

全加器逻辑表达式 S=A○+B○+Ci Co=A.B+ (A○+B).Ci 全加器电路图 实验步骤: (一)新建工程: 1、打开 Vivado 2014.2 开发工具,可通过桌面快捷方式或开始菜单中 Xilinx Design Tools->Vivado 2014.2 下的 Vivado 2014.2 打开软件; 2、单击上述界面中 Create New Project 图标,弹出新建工程向导。 3、输入工程名称、选择工程存储路径,并勾选Create project subdirectory选项,为工程在指 定存储路径下建立独立的文件夹。设置完成后,点击Next。注意:工程名称和存储路径中不能出现中文和空格,建议工程名称以字母、数字、下划线来组成 4、选择RTL Project一项,并勾选Do not specify sources at this time,为了跳过在新建工 程的过程中添加设计源文件。 5、根据使用的FPGA开发平台,选择对应的FPGA目标器件。(在本手册中,以Xilinx大学计 划开发板Digilent Basys3 为例,FPGA 采用Artix-7 XC7A35T-1CPG236-C 的器件,即Family 和Subfamily 均为Artix-7,封装形式(Package)为CPG236,速度等级(Speed grade)为-1,温度等级(Temp Grade)为C)。点击Next。 6、确认相关信息与设计所用的的FPGA 器件信息是否一致,一致请点击Finish,不一致,请返 回上一步修改。 7、得到如下的空白Vivado 工程界面,完成空白工程新建。

华中科技大学数字逻辑实验报告

华中科技大学数字逻辑实验报告 姓名: 专业班级: 学号: 指导老师: 完成时间:

实验一:组合逻辑电路的设计 一、实验目的: 1.掌握组合逻辑电路的功能测试。 2.验证半加器和全加器的逻辑功能 3.学会二进制的运算规律。 二、实验所用组件: 二输入四与门74LS08,二输入四与非门74LS00,二输入四异或门74LS86,六门反向器74LS04芯片,三输入三与非门74L10,电线若干。 三、实验内容: 内容A:全加全减器。 实验要求: 一位全加/全减法器,如图所示: 电路做加法还是做减法运算是由M决定的,当M=0做加法,M=1做减法。当作为全加法起时输入A.B和Cin分别为加数,被加数和低位来的进位,S和数,Co位向上位的进位。当作为全减法器时输入信号A,B和Cin分别为被减数,减数和低位来的借位,S为差,Co为向上的借位。 实验步骤: 1.根据功能写出输入/输出观察表:

2. 3.做出卡诺图,确定输出和激励的函数表达式:

4.根据逻辑表达式作出电路的平面图: 5.检查导线以及芯片是否完好无损坏,根据平面图和逻辑表达式连接电路。 实验结果: 电路连接好后,经检测成功实现了一位全加/全减法器的功能。 内容B:舍入与检测电路的设计: 试验要求: 用所给定的集合电路组件设计一个多输出逻辑电路,该电路的输入为8421码,F1为“四

舍五入”输出信号,F2为奇偶检测输出信号。当电路检测到输入的代码大宇或等于(5)10时,电路的输出F1=1;其他情况F1=0。当输入代码中含1的个数为奇数时,电路的输出F2=1,其他情况F2=0。该电路的框图如下所示: (1)按照所设计的电路图接线,注意将电路的输入端接试验台的开关,通过拨动开关输入8421代码,电路输入按至试验台显示灯。 (2)每输入一个代码后观察显示灯,并将结果记录在输入/输出观察表中。 实验步骤 1.按照所给定的实验要求填写出F1,F2理论上的真值表。 2.根据真值表给出F1和F2的卡诺图。

计算机组成原理实验报告 指令译码器

河北大学计算机组成原理实验报告 实验项目指令译码器成绩 一、实验目的: (1)理解指令译码器的作用和重要性。 (2)学习设计指令译码器。 二、实验原理: 指令译码器是计算机控制器中最重要的部分。所谓组合逻辑控制器就是指指令译码电路是由组合逻辑实现的。 组合逻辑控制器又称硬连线控制器,是设计计算机的一种方法。这种控制器中的控制信号直接由各种类型的逻辑门和触发器等构成。这样,一旦控制部件构成后,除非重新设计和物理上对它重新连线,否则要想增加新的功能是不可能的。结构上这种缺陷使得硬连线控制器的设计和调试变得非常复杂而且代价很大。所以,硬连线控制器曾一度被微程序控制器所取代。但是随着新一代及其及VLSI技术的发展,这种控制器又得到了广泛重视,如RISC机广泛使用这种控制器。 图6-42是组合逻辑控制器的方框图。逻辑网络的输入信号来源有3个:①指令操作码译 码器的输出I n ;②来自时序发生器的节拍电位信号T k ;③来自执行部件的反馈信号B j 。逻辑网 络的输出信号就是微操作控制信号,用来对执行部件进行控制。

图6-42 组合逻辑控制器的结构方框图 组合逻辑控制器的基本原理可描述位:某一微操作控制信号C m 是指令操作码译码器的输出I n 、时序信号(节拍电位信号T k )和状态条件信号B j 的逻辑函数。即 C m =f(I n ,T k ,B j ) 用这种方法设计控制器,需要根据每条指令的要求,让节拍电位和时序脉冲有步骤地去控制机器的各有关部分,一步一步地执行指令所规定的微操作,从而在一个指令周期内完成一条指令所规定的全部操作。 三、实验步骤: (1)将试验台设置成FPGA-CPU 独立调试模式,REGSEL=0、CLKSEL=1、FDSEL=0。使用试验台上的单脉冲,即STEP_CLK 短路子短接,短路子RUN_CLK 断开。 (2)将设计在QuartusII 下输入,变异后下载到TEC-CA 上的FPGA 中。 (3)拨动试验台上的开关SD 5~SD 0,改变IR[15..12]、进位标志C 和结果为0标志Z ,观察指示灯R 10~R 0显示的控制信号,并填写表6-28。 四、实验现象及分析:

哈夫曼编码译码器实验报告免费

哈夫曼编码译码器实验报告(免费)

————————————————————————————————作者:————————————————————————————————日期:

问题解析与解题方法 问题分析: 设计一个哈夫曼编码、译码系统。对一个ASCII编码的文本文件中的字符进行哈夫曼编码,生成编码文件;反过来,可将编码文件译码还原为一个文本文件。 (1)从文件中读入任意一篇英文短文(文件为ASCII编码,扩展名为txt); (2)统计并输出不同字符在文章中出现的频率(空格、换行、标点等也按字符处理);(3)根据字符频率构造哈夫曼树,并给出每个字符的哈夫曼编码; (4)将文本文件利用哈夫曼树进行编码,存储成压缩文件(编码文件后缀名.huf)(5)用哈夫曼编码来存储文件,并和输入文本文件大小进行比较,计算文件压缩率;(6)进行译码,将huf文件译码为ASCII编码的txt文件,与原txt文件进行比较。 根据上述过程可以知道该编码译码器的关键在于字符统计和哈夫曼树的创建以及解码。 哈夫曼树的理论创建过程如下: 一、构成初始集合 对给定的n个权值{W1,W2,W3,...,Wi,...,Wn}构成n棵二叉树的初始集合 F={T1,T2,T3,...,Ti,...,Tn},其中每棵二叉树Ti中只有一个权值为Wi的根结 点,它的左右子树均为空。 二、选取左右子树 在F中选取两棵根结点权值最小的树作为新构造的二叉树的左右子树,新二 叉树的根结点的权值为其左右子树的根结点的权值之和。 三、删除左右子树 从F中删除这两棵树,并把这棵新的二叉树同样以升序排列加入到集合F中。 四、重复二和三两步, 重复二和三两步,直到集合F中只有一棵二叉树为止。 因此,有如下分析: 1.我们需要一个功能函数对ASCII码的初始化并需要一个数组来保存它们; 2.定义代表森林的数组,在创建哈夫曼树的过程当中保存被选中的字符,即给定报文 中出现的字符,模拟哈夫曼树选取和删除左右子树的过程; 3.自底而上地创建哈夫曼树,保存根的地址和每个叶节点的地址,即字符的地址,然 后自底而上检索,首尾对换调整为哈夫曼树实现哈弗曼编码; 4.从哈弗曼编码文件当中读入字符,根据当前字符为0或者1的状况访问左子树或者 右孩子,实现解码; 5.使用文件读写操作哈夫曼编码和解码结果的写入; 解题方法: 结构体、数组、类的定义: 1.定义结构体类型的signode 作为哈夫曼树的节点,定义结构体类型的hufnode 作为

数字逻辑实验报告(数字时钟设计)

数字逻辑实验报告

实验三、综合实验电路 一、实验目的: 通过一个综合性实验项目的设计与实现,进一步加深理论教学与实验软硬件平台的实践训练,为设计性实验做好充分准备。 二、实验原理: 根据要求的简单设计性的电路设计实验,应用基本器件与MSI按照电路设计步骤搭建出初级电路;设计型、综合型的较复杂实验电路 三、实验设备与器件: 主机与实验箱 四、实验内容: (1)实验任务:根据所学习的器件,按照电路开发步骤搭建一个时钟, 要求实现的基本功能有计时功能、校对时间功能、整点报时、秒表等功能。 (2)实验任务分析:完成该数字时钟,采用同步时序电路,对于计时 的的功能,由于时间的秒分时的进位分别是60、60、24,所以可以应用74LS163计数器分别设计2个模60计数器以及一个模24计数器,那么需要有7个秒输出,7个分输出,6个小时的输出;对于校对时间的功能,由74LS163的特性可知,当该器件处于工作状态时,每来一个CLK脉冲,计数值加1,所以可以手动控制给CLK脉冲,来进行时间的校对;对于整点报时功能,可以采用一个比较电路,当时间的分秒数值全部为零时,那么此时可以接通报时装置,可以在电路中设置报时的的时间;对于秒表功能,有两种方案,可以单独重新设计一个秒表装置,采用模100计数器以及两个模60计数器,可以进行优化,使用原先的两个模60计数器,这样可以简化电路,是电路简洁。 (3)实验设计流程:

(4)输入输出表: (5)各个功能模块的实现: A、计时功能模块的实现(电路图及说明)秒表部分及说明

说明:该部分是实现功能正常计时中的秒部分的计时工作。如图所示,图中采用两个74LS163来做一个模60计时器,计数的起止范围是0~59,(第一个74LS163采用模10计数,起止为0~9,第二个74LS163的计数起止范围是0~5),两个器件采用级联方式,用预置位方法实现跳转;该部分有7个秒输出,接到BCD译码显示器。 注解:第一个163器件: LDN端统一接到清零端ABCD端接地 ENP端接到VCC高电平ENT接高电平VCC 第二个163器件: LDN端统一接到清零端ABCD端接地 ENP端接到VCC高电平ENT接高电平第一个163的预置位段 分钟部分以及说明:

74LS181实验报告

学生实验报告 实验名称用Verilog HDL语句实现74LS181的功能 实验日期2013 年10月19号 学号 姓名 班级计算机科学与技术一班 一、实验目的与要求 1、了解运算器的组成结构; 2、掌握算术逻辑运算器的工作原理; 3、掌握简单运算器的数据传送通道 4、掌握用Verilog HDL实现简单运算器的设计 二、实验原理 74LS181的逻辑功能表 图中,S0到S3是四个控制端,用于选择进行何种运算。M用于控制ALU进行算术

运算还是逻辑运算。 当M=0时,M 对进位信号没有任何影响,Fi 值与操作数Ai ,Bi 以及地位向本位进位Cn+1有关,所以M=0时进行算术运算。操作数用补码表示,“加”只算术加,运算时考虑进位;“+”指逻辑加,不考虑进位;减法运算时,减法取反码运算后用加法器实现,结果输出为A 减B 减1在最末位产生一个强迫进位(加1),以得到A 减B 的结果。 当M=1时,封锁了各位的进位输出Cn+i=0,因此各位的运算结果Fi 仅与操作数Ai ,Bi 有关,此时进行逻辑运算。 三、实验内容与步骤 1.根据书85面的逻辑功能表编写Verilog HDL 语句,编译,仿真等步骤。 2.按照模式一电路图结构图设置对应的引脚参数。确认无误后,配置文件下载。 CLOCK9CLOCK5CLOCK2 CLOCK0 SPEAKER 扬声器 NO.1 PIO11-PIO8PIO15-PIO12PIO48 PIO49D15 D16HEX HEX PIO32 PIO33 PIO34 PIO35 PIO36 PIO37 PIO38 PIO39 D1D2D3D4D5D6D7D8实验电路结构图 译码器 译码器 译码器 译码器 FPGA/CPLD 目标芯片1 2 3 4 5 6 7 8 PIO3-PIO0 PIO7-PIO4HEX HEX 键1 键2 键3 键4 键5 键6 键7 键8 PIO39-PIO32PIO31-PIO28 PIO27-PIO24PIO23-PIO20PIO19-PIO16 3.连接试验箱,开通电源,进行验证。 五、实验环境与设备 实验软件:Quartus ii 软件 实验设备:实验室试验箱 六、实验代码设计(含符号说明) module NS74181(A,B,F,S,CN,CO,M); //端口名 input[3:0] A,B; input[3:0] S; input M,CN; output CO; output[3:0] F; reg[3:0] F; reg[3:0] ta,tb; //用ta,tb 代替~A 和~B reg CO; //进位 always @(S) begin ta=~A; tb=~B; case(S) 'b0000: begin

实验三---译码器及其应用实验报告

实验三译码器及其应用 一、实验目的 (1) 掌握中规模集成译码器的逻辑功能和使用方法; (2) 熟悉掌握集成译码器的应用; (3) 掌握集成译码器的扩展方法。 二、实验设备 数字电路实验箱,电脑一台,74LS20,74LS138。 三、实验内容 (1)利用3-8译码器74LS138和与非门74LS20实现函数: 四输入与非门74LS20的管脚图如下: 对函数表达式进行化简: 按Figure 1所示的电路连接。并用Multisim进行仿真,将结果对比。

Figure 1 (2) 用两片74LS138组成4-16线译码器。 因为要用两片3-8实现4-16译码器,输出端子数目刚好够用。 导线测试,在各端子上移动即可。在multisim中仿真电路连接如Figure 2所示(实 验台上的电路没有接下面的两个8灯LED): Figure 2 四、实验结果 (1) 利用3-8译码器74LS138和与非门74LS20实现函数。

输入,由可知,小灯应该亮。测试结果如Figure 1所示。输入,分析知小灯应该灭,测试结果如Figure 2所示。输入 ,分析知小灯应该亮,测试结果如Figure 3所示。 Figure 4 Figure 5

Figure 6 同理测试,得到结果列为下面的真值表: A B C Y 0 0 0 1 0 0 1 1 0 1 0 0 0 1 1 0 1 0 0 1 1 0 1 0 1 1 0 0 1 1 1 1 与所要实现的逻辑功能相一致。 (2) 用两片74LS138组成4-16线译码器。 进行测试,得到的结果列为真值表如下: G1 A B C 1 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 0 0 0 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 0 0 1 0 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1

数字逻辑设计实验报告-实验13教材

浙江大学城市学院实验报告 课程名称 数字逻辑设计实验 实验项目名称 实验十二 数据选择器应用 学生姓名 专业班级 学号 实验成绩 指导老师(签名 ) 日期 注意: ● 务请保存好各自的源代码,已备后用。 ● 完成本实验后,将实验项目文件和实验报告,压缩为rar 文件,上传ftp 。如没有个人 文件夹,请按学号_姓名格式建立。 ftp://wujzupload:123456@10.66.28.222:2007/upload ● 文件名为:学号_日期_实验XX ,如30801001_20100305_实验0 1 一. 实验目的和要求 1. 掌握数据选择器的逻辑功能和使用方法。 2. 学习用数据选择器构成组合逻辑电路的方法。 二. 实验内容、原理及实验结果与分析 1、用74LS151实现逻辑函数 要求实现BC A AC C B A Y ++=,自己写出设计过程,画出接线图,并验证其逻辑功能。 计算得到m0=m7=0,m2=m4=m5=m6=1,m1=m3=D (1) 设计原理图 (2) 仿真,模拟验证,若组合成总线显示时,需要注意高低位

(3)组合输出信号 (4)配置管脚 (5)下载到FPGA

(6) 74LS151的输入端接逻辑电平输出(拨位开关),输出端Z 接逻辑电 平显示(发光二极管)。逐项测试电路的逻辑功能,记录测试结果。 2、用74LS151实现逻辑函数 要求实现逻辑函数C B CD A B A F ++=,自己写出设计过程,画出接线图,并验证其逻辑功能。芯片插法,电源、地线接法与实验内容1相同,这里只需要自己实现逻辑函数,然后连线实现其功能。 (1) 设计原理图 (2) 仿真,模拟验证,若组合成总线显示时,需要注意高低位

PL 0 语言编译器分析实验报告

PL/0 语言编译器分析实验 一、实验目的 通过阅读与解析一个实际编译器(PL/0语言编译器)的源代码,加深对编译阶段(包括词法分析、语法分析、语义分析、中间代码生成等)和编译系统软件结构的理解,并达到提高学生学习兴趣的目的。 二、实验要求 (1)要求掌握基本的程序设计技巧(C语言)和阅读较大规模程序源代码的能力; (2)理解并掌握编译过程的逻辑阶段及各逻辑阶段的功能; (3)要求能把握整个系统(PL/0语言编译器)的体系结构,各功能模块的功能,各模块之间的接口; (4)要求能总结出实现编译过程各逻辑阶段功能采用的具体算法与技 三、实验报告 pl/0语言是pascal语言的一个子集,我们这里分析的pl/0的编译程序包括了对pl/0语言源程序进行分析处理、编译生成类pcode代码,并在虚拟机上解释运行生成的类pcode代码的功能。 pl/0语言编译程序采用以语法分析为核心、一遍扫描的编译方法。词法分析和代码生成作为独立的子程序供语法分析程序调用。语法分析的同时,提供了出错报告和出错恢复的功能。在源程序没有错误编译通过的情况下,调用类pcode 解释程序解释执行生成的类pcode代码。 词法分析子程序分析: 词法分析子程序名为getsym,功能是从源程序中读出一个单词符号(token),把它的信息放入全局变量sym、id和num中,语法分析器需要单词时,直接从这三个变量中获得。(注意!语法分析器每次用完这三个变量的值就立即调用getsym 子程序获取新的单词供下一次使用。而不是在需要新单词时才调用getsym过程。)getsym过程通过反复调用getch子过程从源程序过获取字符,并把它们拼成单词。getch过程中使用了行缓冲区技术以提高程序运行效率。 词法分析器的分析过程: 调用getsym时,它通过getch过程从源程序中获得一个字符。如果这个字符是字母,则继续获取字符或数字,最终可以拼成一个单词,查保留字表,如果查到为保留字,则把sym变量赋成相应的保留字类型值;如果没有查到,则这个单词应是一个用户自定义的标识符(可能是变量名、常量名或是过程的名字),把sym 置为ident,把这个单词存入id变量。查保留字表时使用了二分法查找以提高效率。如果getch获得的字符是数字,则继续用getch获取数字,并把它们拼成一个整数,然后把sym置为number,并把拼成的数值放入num变量。如果识别出其它合

相关主题
文本预览
相关文档 最新文档