数字电路及逻辑实验指导_第1页
数字电路及逻辑实验指导_第2页
数字电路及逻辑实验指导_第3页
数字电路及逻辑实验指导_第4页
数字电路及逻辑实验指导_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数字电路及逻辑实验讲稿计算机与控制学院计算机系硬件实验室 洪国铭 裴树军2005年3月1日概 述数字电路及逻辑实验采用台湾力浦公司的LP-CPLD2900数字实验系统。该系统由CPLD硬件平台和Max+plusII软件组成。采用该系统进行设计,可极大地提高数字电路的设计效率。1 1传统的电路设计方法:1、纸上设计电路图。2、在实验板上焊接元件。3、利用完用表、示波器等检测设备对电路进行测试。4、修改方案、修改图纸、重新焊接元件和测试,直到正确为止。5、制作电路板,再经测试确定后,投入生产。从上述过程来看,麻烦、不易修改、设计效率低。1 2 EDA设计技术现代电子设计技术的核心是EDA(Electronic Design Automation)技术。EDA技术就是依赖功能强大的计算机,在EDA工具软件平台上,对以硬件描述语言HDL(Hardware Des-cription Language)为系统逻辑描述手段完成的设计文件,自动地完成逻辑编译、逻辑简化、逻辑综合、逻辑优化及逻辑仿真,直至实现既定的电子线路系统功能。我们使用的工具软件是Max+plusII软件,该软件可实现如下功能:1、设计输入(图形输入、文本输入、波形输入)。2、功能编辑。3、功能模拟(功能仿真)。4、平面规划。5、时序模拟(时序仿真)。6、晶片规划。1 3图形输入及实验的步骤(详见指导书P8)1、 点击桌面图标Max+plusII或开始菜单程序的Max+plusII程序项。2、 设备选择:Asigndevice familyflex10k Devices:EPF10k10tc144-43、电路输入(图形方式)(1) 新建工程:FileProjectName输入工程名ok。(2) 新建文件:FileNew选择Graphic Editor Fileok。(3) 保存文件名:FileSave Asok,出现图形编辑画面。(4) 电路输入:在画面上点击鼠标右键Enter symbol输入电路符号ok。(5) 电路连接:使用窗口左侧的绘图工具连接电路。(6) 管角命名:鼠标移动到管角名称处点击鼠标右键Edit pin name输入管 角名ok。 (7) 存储检查:FileProjiectSave&check。如果有错,按4、5、6步修改。3、 平面规划:Max+plusIIFloorplan editor(点住右上角框内的管角拖到下方的窗口芯的对应管角上)。如未出现上述窗口,操作:layout将lab view和 Current Assignment Floorplan点选。5、平面编译:Max+plusIICompilerStsrt。6、编程下载:Max+plusIIProgrammerConfigure (hardtype : ByteBlaster MV)。7、在LP-CPLD2900数字实验平台上验证电路功能。1 4文本输入及实验的步骤(详见指导书P6)15 LP-2900实验平台介绍(详见指导书P3) 实验一 一位半加器的设计一、 实验内容将两个一位二进制变量a、b相加,输出本位和s及进位c的逻辑电路。二、 设计方法1、 利用真植表法,写出最简与或逻辑表达式 输入变量a b输出变量s c0 00 11 0 1 10 01 01 00 1 s = ab+ab=ab c =ab 逻辑符号名:xor-异或门 ; and2-两输入与门。2、 根据最简逻辑表达式,实现逻辑电路 3、 启动MAX+PLUS2设计软件,画图、检查、编辑及下载调试详细操作见实验指导书对应章节。4、 Verilog HDL描述 module Fadd(a,b,s,c,ledcom); / 端口变量声明input a,b; / 端口I/O定义output s,c,ledcom;wire a,b,s,c;assign ledccom=1; / 变量赋植assign s=!a&b|a&!b;assign c=a&b;endmodule实验二 表决电路的设计一、实验内容试设计三人表决系统,当a、b、c三人中多数人同意(同意为“1”)时,系统输出f=1,否则f=0。二、设计方法 1、建立真植表,利用公式法或卡诺图法写出最简与或逻辑表达式 输入变量a b c输出变量 f 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 100010111 f (a,b,c)=m(3,5,6,7)=bc+ac+ab 逻辑符号名:and2-两输入与门 ; or3-三输入或门。2、根据最简逻辑表达式,实现逻辑电路 3、启动MAX+PLUS2设计软件,画图、检查、编辑及下载调试 详细操作见实验指导书对应章节。4、Verilog HDL描述module biaojue(a,b,c,f,ledcom);input a,b,c;output F,ledcom;wire a,b,c,f;assign ledcom=1;assign f=b&c|a&c|a&b;endmodule实验三 2:4译码器的设计一、概念实现译码功能的组合逻辑电路称为译码器,它的输入是一组二进制代码,输出是一组高低电平信号。每输入一组不同的代码,只有一个输出端呈现有效状态。因此通常称为多一译码器。(参考教材P201)二、设计内容试设计一个具有使能端的2:4译码器,要求使能输入端g = 0时,允许对输入的两位二进制代码进行译码,对应的输出端y i呈现低电平有效;当使能输入端g = 1时,禁止对输入的两位二进制代码进行译码,译码器的输出y0、y1、y2、y3均呈现高电平。三、 设计方法 1、建立真植表,利用公式法或卡诺图法写出最简与或许逻辑表达式 使能控制 G输入端A1 A0输 出 端Y3 Y2 Y1 Y0 1 0 0 0 0X X0 00 11 01 11 1 1 11 1 1 01 1 0 11 0 1 10 1 1 1 y0=ga1a0; y1=ga1a0 ; y2=ga1 a0; y3=ga1 a0;y0=(ga1a0);y1=(ga1a0);y2=(ga1 a0);y3=(ga1 a0);逻辑符号名:nand3-三输入与非门 ; not-非门。 2、根据最简逻辑表达式,实现逻辑电路 3、启动MAX+PLUS2设计软件,画图、检查、编辑及下载调试祥细操作见实验指导书对应章节。4、 Verilog HDL描述 module 2_4decoder (g,a1,a0,y3,y2,y1,y0,ledcom) ;input a1,a0 ;input g ;output y3,y2,y1,y0 ;output ledcom ;assign ledcom=1 ;assign y0=(!g&!a1&!a0)?0 :1 ; / 信号=条件?表达式1:表达式2;assign y1=(!g&!a1&a0)?0 :1 ; 条件为真,取表达式1,反之取表达式2。assign y2=(!g&a1&!a0)?0 :1 ;assign y3=(!g&a1&a0)?0 :1 ;endmodule实验四、数据比较器的设计、一、概念在数字系统中,经常需要比较两个数的大小,用来完成两个数码比较的数字逻辑电路称为数据比较器。(参考教材P198)二、设计内容 试设计一个两位数据比较器,当a1a0b1b0时g=1, 当a1a0 b1 X a1 b0 a1 = b1 a0 b)?1:0;assign s = (ab)?1:0;assign e = (a= =b)?1:0;endmodule 定义端口和功能描述都嵌在module和endmodule两语句之间。实验五 优先编码器一、概念在数字系统中,要对所处理的信息或数据赋予二进制代码,称为编码。用来完成编码工作的数字电路称为编码器。前述的译码器实现的是“多对一” 译码,而编码器则实现“一对多” 译码。优先编码器允许多个输入信号同时有效,当多个输入信号同时有效时,优先编码器只对其中优先级别最高的输入信号编码。级别较低输入信号不予理睬。二、设计内容设计一个二进制优先编码器,输入信号为i3、i2、i1、i0(i3优先级别最高),输出端q1、q0输出编码为输入信号角标的反码。例如i3=0时,其它任意,q1q0=00。要求当编码控制信号st=1时,q1q0=11、测试端ys=0。 当st=0时,i3、i2、i1、i0无有效信号输入(低电平有效),q1q0=11、测试端ys=0;否则q1q0输出对应输入信号角标的反码,ys=1。ys=1表示q1q0编码有效。三、设计方法1、 建立功能表,利用公式法或卡诺图法写出逻辑表达式编码控制 st输入信号 i3 i2 i1 i0输出编码q1 q0测试端 ys100000 x x x x 1 1 1 10 x x x1 0 x x 1 1 0 x1 1 1 01 11 10 00 1 1 0 1 1001111q1 =st+st(i3i2i1i0+i3i2i1+i3i2i1i0)=st +i3i2 ;利用公式ab+ac=a(b+c); a+ab=a+bq0 =st+st(i3i2i1i0+i3i2+i3i2i1i0)=st+i3i1+i3i2 a+b+c=(abc)ys =st(i3+i3i2+i3i2i1+i3i2i1i0)=st(i3+i2+i1+i0)=st(i3i2i1i0)2、根据最简逻辑表达式,实现逻辑电路 3、启动MAX+PLUS2设计软件,画图、检查、编辑、波形仿真及下载调试详细操作见实验指导书对应章节。4、Verilog HDL描述module encoder4_2 (st,i3,i2,i1,i0,q1,q0,ys,ledcom);input st,i3,i2,i1,i0;output q1,q0,ys,ledcom;assign ledcom=1;assign q1 =( st | i3&i2)? 1 : 0;assign q0 = (st | i3&i1|i3&!i2)? 1 : 0;assign ys =( !st& ! (i3&i2&i1&i0)? 1 : 0;endmodule实验六、同步计数器的设计一、概念 计数器的功能是记忆脉冲的个数,它所记忆脉冲的最大数目称为该计数器的模。计数器可分为同步计数器(又称并行计数器)和异步计数器(又称串行计数器)。构成计数器的核心元件是触发器。同步计数器特点是各触发器的CP端连在一起,既受同一个 脉冲信号控制。二、设计内容及方法 试设计一个三位二进制同步计数器(模=7),其步骤如下:1、 利用MAX+PLUS2设计软件图形法,构建一个正边沿触发维持阻塞D型触发器(工作原理见数字电路107页),并建立内部符号。 2、写出三位二进制同步计数器状态转移表计数脉冲 cp触发器现态q2 q1 q0触发器次态q2+1 q1+1 q0+1输出 z0 0 0 0 0 1 00 0 1 0 1 0 00 1 0 0 1 1 00 1 1 1 0 0 01 0 0 1 0 1 01 0 1 1 1 0 01 1 0 1 1 1 01 1 1 0 0 0 13、根据状态转移表写出输出方程和激励方程z = q2q1q0 d2 = q2q1q0 + q2q1q0+ q2q1q0 +q2q1q0 = m(3,4,5,6) = q2q1q0 + q2q1+q2q0 d1 = q2q1q0 +q2q1q0 +q2q1q0 + q2q1q0 =m (1,2,5,6) = q1q0+q1q0 d0 = q2q1q0 + q2q1q0 + q2q1q0 + q2q1q0 = m (0,2,4,6) = q0 4、启动MAX+PLUS2设计软件,调出D型触发器内部符号及所需逻辑门,根据输出方程和激励方程连接电路,存储检查、编辑、波形仿真及下载调试详细操作见实验指导书对应章节。 5、 Verlog HDL描述 module conter3(cp,reset,q,z,ledcom);input cp,reset;output2:0q;output z,ledcom;reg 2:0q;reg z;assign ledcom=1;always (posedge cp)begin if(!reset) begin q=0;z=0;end esle begin if(q!=3b111) begin q=q+1;z=0;end else begin q=0; z=1;end endendendmodule实验七、分频器(除频器)的设计 在数字系统中,常需要各种不同的时钟频率,从HZ、KHZ到MHZ。而各种频率的产生,一般依赖主频率(例如石英振荡器产生的频率)分频得到。分频器是计数器应用只一。一、实验内容利用例化器件7474,试设计一个5分频器(对主频率除5)。二、设计方法1写出5分频器(对主频率除5)状态转移表 主频clk触发器现态q2 q1 q0触发器次态q2+1 q1+1 q0+1分频输出 f 0 0 00 0 1 10 0 1 0 1 0 10 1 0 0 1 1 00 1 1 1 0 0 01 0 0 0 0 0 02、根据状态转移表写出输出方程和激励方程并化简(P55 包含无关项的化简) f = m(0,1)=q2q1d2= m(3)+ (5,6,7)=q1q0 d1= m(1,2)+ (5,6,7)=q1q0+q1q0=(q1q0) d0= m(0,2)=q2q03、启动MAX+PLUS2设计软件,调出例化器件7474及所需逻辑门,根据输出方程和激励方程连接电路。存储检查、编辑、波形仿真。详细操作见实验指导书对应章节。clk=1/T=1/0.0000002s=500khz f=clk/5=100khz4、Verlog HDL描述1 /(占空比可设置的除5分频器) module div5 (clk , reset , f) ; input clk , reset ; output f ; reg q2 , q1 , q0 ; reg f ; always (posedge clk) beginif (!reset) begin q2,q1,q0=0 ; f=0 ; endelse begin case (q2,q1,q0) 0 : begin q2,q1,q0=1 ; f=1;end 1 : begin q2,q1,q0=2 ; f=1;end2 : begin q2,q1,q0=3 ; f=0;end3 : begin q2,q1,q0=4 ; f=0;end4 : begin q2,q1,q0=0 ; f=0;enddefault: begin q2,q1,q0=0 ; f=0 ; end endcaseendendendmodule Verlog HDL描述2 / (2+2*N分频器) module divfx(clk,reset,fx,ledcom);input clk,reset;output fx , ledcom;reg 24:0N;reg fx;assign ledcom=1;always (posedge clk)begin if(!reset) begin N=0;fx=0;end else if(N=3) begin fx=!fx;N=0;end else begin N=N+1;endendendmodule实验八、非同步(异步)四位二进制计数器的设计时序逻辑电路可分为两大类:同步时序和异步时序逻辑电路。同步时序逻辑电路的特点:电路具有统一的时钟信号,只有当时钟信号到来时,电路状态才发生改变,变化后状态被保持,直到下一时钟信号到来才产生新的变化。异步时序逻辑电路的特点:电路没有统一的时钟信号,既电路不受统一的时钟信号控制,电路的状态的改变是由外部输入信号的变化引起。一般情况下是前一级的信号输出成为下一级的信号输入,因此对电路整体来说就以异步方式进行工作。由于异步时序电路没有简单系统化的设计步骤,导致电路的设计具有一定难度。一、设计内容 试用正边沿触发D型触发器设计一个模为二进制1111的四位异步计数器。二、设计过程 1、写出四位异步二进制计数器的状态表 q3 q2 q1 q0 0 0 0 0 cp 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 0 1 0 1 0 1 1 0 0 1 1 1 1 0 0 0 1 0 0 1 1 0 1 0 1 0 1 1 1 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1 0 0 0 02、分析状态表若使触发器在外部信号作用下qi从0 1 0变化,需要将qi连接成如下计数形式: 根据状态表写出各触发器激励及触发方程:(1)、d0=q0 ; clk0=cp (2)、d1=q1 ; clk1=q0 (3)、d2=q2 ; clk2=q1 (4)、d3=q3 ; clk3=q2 3、实验电路 4、Verilog HDL 描述module Aconter_4 (cp , reset , q3 , q2 , q1 , q0 , ledcom) ;input cp , reset ;output q3 , q2 , q1 , q0 , ledcom ;reg q3 , q2 , q1 , q0 ;assign ledcom=1 ;always (posedge cp or negedge reset )begin if ( ! reset) q0=0; else q0= ! q0;endalways (negedge q0 or negedge reset )begin if ( ! reset) q1=0; else q1= ! q1 ;endalways (negedge q1 or negedge reset )begin if ( ! reset) q2=0 ; else q2= ! q2 ;endalways (negedge q2 or negedge reset)begin if ( ! reset) q3=0 ; else q3= ! q3 ;end endmodule实验九、移位寄存器一、概念 在时钟信号控制下,将所寄存的数据向左或向右移位的寄存器称为移位寄存器。二、设计内容试设计一个四位同步并入串出的右移寄存器。要求当加载控制信号load高电平时,在时钟情clk作用下将输入四位二进制数据x3x2x1x0加载到移位寄存器q3q2q1q0中; 当load低电平时,在时钟clk作用下将四位移位寄存器中的数据向右移位一位,既q3 q2 q1 q0 so 。四、 设计 1、右移操作状态转移表 时钟clk载信号load现 态q3 q2 q1 q0次 态q3+1 q2+1 q1+1 q0+1 输 出 so 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 10 0 0 00 0 0 10 0 1 00 0 1 10 1 0 00 1 0 10 1 1 00 1 1 11 0 0 01 0 0 11 0 1 01 0 1 11 1 0 01 1 0 11 1 1 01 1 1 1x3 x2 x1 x0 0 0 0 00 0 0 00 0 0 10 0 0 10 0 1 00 0 1 00 0 1 10 0 1 10 1 0 00 1 0 00 1 0 10 1 0 10 1 1 00 1 1 00 1 1 10 1 1 10101010101010101 d(so) = loadm (1,3,5,7,9,11,13,15) =load q0 d0 = load m (2,3,6,7,10,11,14,15) = loadq1 d1 = load m (4,5,6,7,12,13,14,15) =loadq2 d2 = load m (8,9,10,11,12,13,14,15) = loadq3d3 = 02、加载操作d0=load x0d1=load x1d2=load x2d3=load x3综合1和2两相操作的逻辑表达式得到激励涵数如下d0= load x0 + loadq1d1= load x1 + loadq2d2= load x2 + loadq3d3= load x3 +0d(so) = load q03、实验电路 根据激励涵数画出电路如下:4、启动MAX+PLUS2设计软件,调出例化器件7474及所需逻辑门,根据输出方程和激励方程连接电路。存储检查、编辑、波形仿真。详细操作见实验指导书对应章节。 5、Verilog HDL描述module PISO_4 (clk , load , x3 , x2 , x1 , x0 , q3,q2,q1,q0,so , ledcom) ;input clk , load , x3 , x2 , x1 , x0 ; /(47) (48) (49) (51) (59) (60)output q3,q2,q1,q0,so , ledcom ;reg q3 , q2 , q1 , q0 , so; /(7 ) (8 ) (9) (10) (11)assign ledcom = 1 ; /(141)always (posedge clk )begin if (load) q3 , q2 , q1 , q0= x3 , x2 , x1 , x0 ; / 为拼接符,既将 内独立的二 else / 进制位拼接到一起。 begin q3 , q2 , q1 , q0 , so 1 ; endendendmodule实验十、数码管显示实验(综合性实验) 该实验涵盖了组合逻辑、同步实序和异步实序,因此是综合性质的实验。一、设计内容利用Verilog HDL硬件描述语言,设计一个将开关SW上的BCD数据在数码管上循环移位显示的控制器,将其嵌入实验平的台电路中实现循环移位显示控制。要求控制端pause高电平时,循环移位显示(移位时间控制在1s),pause低电平时暂停循环移位显示。二、设计1、 平台显示模块原理图、引脚及功能 d3、d2、d1、d0 :为开关sw4sw1输入的BCD数。a、b、c、d、e、f、g :对应BCD数的七段码输出。de1、de2、de3 :数码管位选代码输出。pause :为开关sw8输入的移位/暂停控制信号。 根据题意要求,设计的逻辑控制模块应具有以下功能: (1)、移位定时控制(利用计数器对主频计数实现时间定时)。 (2)、键盘BCD码转换成对应的七段段码(DP不用)。 (3)、位选择控制(修改de1、de2、de3的输出编码实现)。 (4)、移位与暂停控制(利用pause控制信号的状态实现)。2、Verilog HDL硬件描述语言程序 module led (clk ,pause,d3,d2,d1,d0, a , b , c , d , e , f , g , de3 , de2 , de1 );input clk , pause , d3 , d2 , d1 , d0 ;output a , b , c , d , e , f , g ;output de3,de2,de1;reg 24:0 num ;reg a , b , c , d , e , f , g , de3 , de2 , de1 ;reg t1s;always (posedge clk) /产生定时脉冲,既t1s(周期)=1秒。begin /用于移位定时控制 if (num= = 5000000) begin t1s=! t1s ; num= 0 ; end else

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论