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

下载本文档

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

文档简介

1、数 字 电 路 及 逻 辑实 验 指 导 书 计算机科学与技术学院实验教学中心 数字电路及逻辑实验指导书目 录第一章 实验平台简介11 LP-2900逻辑设计实验平台12 逻辑门第二章 QuartusII开发软件的使用2 1 基于QuartusII的设计输入22 基于QuartusII的平面编辑23 基于QuartusII的模拟仿真24 基于QuartusII的编程下载第三章 数字电路及逻辑实验30 一位半加器设计31 译码器的设计32 数据比较器的设计33 同步计数器的设计34 分频(除频)器的设计35 移位寄存器的设计36 数字显示电路的设计第一章 实验平台简介11 LP-2900逻辑设计

2、实验平台LP-2990逻辑设计实验平台由CPLD晶片板、I/O元件实验板、PC下载界面电路和电源四部分组成。1CPLD晶片板在CPLD晶片板上,有一片Altera 10K系列晶片,Altera EPF10K10TC144-4 CPLD,该晶片提供不断重新下载新电路的弹性与便利。2I/O元件实验板 在I/O元件实验板上,有12种I/O元件:4组红绿黄LED;6个共阴极七段显示器;一个蜂鸣器;两个电子骰子;一个时序电路;3组8位开关;4个脉冲按键;一个4x3键盘;一块8x8点矩阵LED显示器;一个液晶显示器;A/D与D/A电路组件;8051单片机模组。这些I/O元件,提供了调试逻辑电路必要的环境。

3、为了便于实验,给出LP-2900的部分I/O元件的脚位:4组红绿黄LED代号L1L2L3L4L5L6L7L8装置红LED黄LED绿LED红LED黄LED绿LED红LED黄LED脚位Pin7Pin8Pin9Pin10Pin11Pin12Pin13Pin14 代号L9L10L11L12 LED_COM装置绿LED红LED黄LED绿LED LED1-LED12的共阴点脚位Pin17Pin18Pin19Pin20Pin141 6个共阴极七段显示器代号abcdefgdp脚位Pin23Pin26Pin27Pin28Pin29Pin30Pin31Pin32 代号DE1DE2DE3脚位Pin33Pin36Pi

4、n37DE1、DE2、DE3为译码器(74LS138)的输入端,译码器(74LS138)输出端Y0- - -Y5为C1- - -C6,C1- - -C6分别为6个显示器阴极共点端。 4x3键盘代号DE1DE2DE3RK1RK2RK3脚位Pin33Pin36Pin37Pin42Pin43Pin44 RK1 RK2 RK3 为键盘列输出。 DE1、DE2、DE3为译码器(74LS138)的输入端,译码器(74LS138)输出端Y0- - -Y3为C1- - -C4,C1- - -C4分别为键盘的扫描输出。 3组8位开关代号Sw1Sw2Sw3Sw4Sw5Sw6Sw7Sw8脚位Pin47Pin48Pi

5、n49Pin51Pin59Pin60Pin62Pin63代号Sw9Sw10Sw11Sw12Sw13Sw14Sw15Sw16脚位Pin64Pin65Pin67Pin68Pin69Pin70Pin72Pin73 代号Sw17Sw18Sw19Sw20Sw21Sw22Sw23Sw24脚位Pin78Pin79Pin80Pin81Pin82Pin83Pin86Pin87 蜂鸣器 代号 Sp1脚位Pin46时序电路 代号 SOC脚位Pin55(10MHZ)3PC下载界面电路 PC与LP2900的通信电路。12 逻辑门为了便于在图形方式下选取逻辑器件和在文本方式下使用门原语设计逻辑电路,下面给出部分逻辑门符号

6、以供使用。(1)图形方式逻辑门名称and2 两输入端与门 andi i输入端与门or2 两输入端或门 (i = 2 8)nand2 两输入端与非门nor2 两输入端或非门not 非门xor 异或门xnor 同或门tri 三态门 (2)门原语设计使用逻辑符号and 与 如:一位半加器nand 与非 module fadd(s,c,a,b);/端口列表or 或 input a,b; /输入nor 或非 output s,c; /输出not 非 xor (s,a,b); /s=a异或bxor 异或 and (c,a,b); /c=a与bxnor 同或 andmodule 第二章 Quartus II

7、开发软件的使用2.1 基于QuartusII的设计输入1. 点击桌面图标QuartusII或开始菜单程序的Altera程序项。2电路输入(图形方式)(1) 新建工程:File>New Project Wizard。在E盘创建工程。(2) 新建文件:File>New>Design Files>Block Diagram/schematic,出现图形编辑窗口。(3) 电路输入:在图形编辑窗口点击鼠标右键>Insert>Symbol>输入电路符号。(4) 电路连接:使用窗口左侧的绘图工具连接电路。(5) 管角命名:鼠标移动到管角名称处>双击鼠标>

8、输入管角名。(6) 保存文件名:File>Save As。生成的文件扩展名为.bdf,并自动添加到工程。(7) 编译工程:Progressing>Start Compilation。或者在工具栏中选项编译工具按钮。 3文本输入(文本方式)(1) 新建工程:File>New Project Wizard。(2) 新建文件:File>New>Design Files>Verilog HDL Filles,出现文本编辑窗口。编写Verilog程序。(3) 保存文件名:File>Save As。生成的文件扩展名为.v,并自动添加到工程。(4) 编译工程:Pro

9、gressing>Start Compilation。或者在工具栏中选项编译工具按钮。2.2 基于QuartusII的平面编辑(1) 设备选择:Assignments>device。Device family: FLEX10K Available devices:EPF10K10TC144-4 (2) 平面规划:Assignments>Pins。出现图形界面,对管脚进行编辑,在Location中输入管脚分配号,同时可以在上面的芯片上看到引脚锁定。 (3)编译工程:Progressing>Start Compilation。或者在工具栏中选项编译工具按钮。2.3 基于Qu

10、artusII的模拟仿真 仿真可以分为功能仿真和时序仿真(*功能仿真需用工具生成功能仿真网表文件)。 功能仿真生成网表文件方法: 菜单ProcessingGenerate Functional Simulation Netlist。 仿真步骤如下:(1) 在工具栏中选择Settings>Simulator Settings>Simulation mode,设置仿真方式为功能仿真或时序仿真。(2) 创建波形文件:File>New>Vector Waveform File。(3) 选择仿真节点:View>Node Finder。添加波形文件的引脚。(4) 设置仿真时间

11、: Edit>End time :1us Grid Size:100us(5) 设置波形或数据:利用窗口左侧图标进行设置。(6) 存储波形文件:File>Save As。(7) 波形模拟仿真:Progressing>Start Simulation。或点击工具栏中仿真图标。2.4 基于QuartusII的编程下载(1) 编程下载: Tools> Programmer>Configure (hardtype : ByteBlaster MV)。(2) 功能调试:在LP-CPLD2900数字实验平台上验证电路功能。第三章 数字电路及逻辑实验逻辑电路根据输出信号对输入信

12、号响应的不同分为两类:组合逻辑电路(简称组合电路)与时序逻辑电路(简称时序电路)。在组合逻辑电路中,电路在任一时刻的输出信号仅仅决定于该时刻的输入信号,而与电路的原有的输出状态无关。从电路的结构上看,组合逻辑电路的输出端和输入端之间没有反馈回路。在时序逻辑电路中,任何时刻电路的输出不仅取决于该时刻的输入信号,也取决于电路过去的输入。一般来说,它是由组合逻辑电路和存储电路两部分组成,并形成反馈回路。30 一位半加器的设计301实验内容试设计两个一位二进制变量a、b相加,输出本位和s及进位c的逻辑电路。302设计方法1、利用真值表法,写出最简与或逻辑表达式 输入变量a b输出变量s c0 00 1

13、1 0 1 10 01 01 00 1 s = ab+ab=ab c =ab逻辑符号名:xor-异或门 ; and2-两输入与门。2、根据最简逻辑表达式,用QUARTUSII图形输入法,画出逻辑电路。3、平面编辑、编译及下载调试。4、用Verilog HDL连续赋值语句assign描述。 module fadd(a,b,s,c,ledcom); input a,b; output s,c,ledcom ; wire a,b,s,c ; assign ledcom=1; assign s=!a&&b|a&&!b; assign c=a&&b; en

14、dmodule 5、用Verilog HDL门原语设计上述逻辑功能(考核点)设计发挥:设计一位全加器(学生自选)真值表如下:A B Cin Sum Cout 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 0 0 1 0 1 0 0 1 1 0 0 1 0 1 1 1表达式如下:S=ABCinCi=(AB) Cin+AB31 译码器的设计311概念译码器是一种多输出组合逻辑部件,它能将n个输入变量变换成2的n次方个输出函数,并且每个输出函数对应于n个输入变量的一个最小项。312设计内容试设计一个具有使能端的2:4译码器,要求使能输入端g = 0时

15、,允许对输入的二进制代码进行译码,对应的输出端输出0,其它输出端输出均为1。当使能输入端g = 1时,禁止对输入的二进制代码进行译码,译码器的输出y0、y1、y2、y3均为1。313设计方法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

16、 a0);逻辑符号名:nand3-三输入与非门 ; not-非门。 2、根据最简逻辑表达式,用QUARTUSII图形输入法,画出逻辑电路 3、平面编辑、编译及下载调试。4、用三目条件运算符描述 module decoder (g,a1,a0,y3,y2,y1,y0,ledcom) ;input a1,a0,g ;output y3,y2,y1,y0 ;output ledcom ;assign ledcom=1 ;assign y0=(!g&&!a1&&!a0)?0 :1 ; / 信号=条件?表达式1:表达式2;assign y1=(!g&&!a

17、1&&a0)?0 :1 ; assign y2=(!g&&a1&&!a0)?0 :1 ;assign y3=(!g&&a1&&a0)?0 :1 ;endmodule 5、试用Verilog HDL case语句描述上述逻辑功能(考核点) 32 数据比较器的设计321概念在数字系统中,经常需要比较两个数的大小,用来完成两个数码比较的数字逻辑电路称为数据比较器。322内容 试设计一个两位数据比较器,当a1a0>b1b0时g=1, 当a1a0<b1b0时s=1,当a1a0=b1b0时e=1。323设计方法1、

18、建立功能表,利用公式法或卡诺图法写出逻辑表达式。 比较输入 a1 b1 a0 b0 比较输出 g s e a1 > b1 X a1 < b1 X a1 = b1 a0 > b0 a1 = b1 a0 < b0 a1 = b1 a0 = b0 1 0 0 0 1 0 1 0 0 0 1 0 0 0 1 注: X 表示任意值g = a1b1 + (a1b1+a1b1)a0b0 = a1b1+ (a1b1)a0b0s = a1b1 + (a1b1+a1b1)a0b0 = a1b1 + (a1b1)a0b0e = (a1b1+a1b1) (a0b0+a0b0) = (a1b1)

19、 (a0b0) 符号名:xnor-同或门;xor-异或门;and2-与门;or2-或门;not-非门。 2、根据最简逻辑表达式,用QUARTUSII图形输入法,画出逻辑电路 3、平面编辑、编译、仿真及下载调试。通过上面设计可以看出比较器电路是较复杂的,当两个数的位数越大电路就越发复杂。因此用硬件描述语言设计比较器就越发显示出优势。 4、用Veri HDL if-else条件语句描述。module comp(a,b,g,s,e,ledcom);input 1:0a,b; output g,s,e;output ledcom; reg g,s,e;assign ledcom=1; always (

20、a or b)begin if(a>b) begin g=1;s=0;e=0;end else if(a<b) begin s=1;g=0;e=0;end else begin e=1;g=0;s=0;end endendmodule5、试用Verillog HDL三目条件运算符描述(考核点) 33 同步计数器的设计331 概念计数器的功能是记忆脉冲的个数,它所记忆脉冲的最大数目称为该计数器的模。计数器可分为同步计数器(又称并行计数器)和异步计数器(又称串行计数器)。构成计数器的核心元件是触发器。同步计数器特点是各触发器的CP端连在一起,既受同一个脉冲信号控制。332 设计内容及方

21、法试设计一个三位二进制加1同步计数器(模=8),其步骤如下: 1、根据逻辑要求写出计数器的状态转移表计数脉冲 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 12、根据状态转移表写出输出方程和激励方程dz = q2q1q0 ;d2 = m(3,4,5,6)= q2q1q0 + q2q1+q2q0; d1=m (1,2,5,6)=q1q0; d0= m (0,2,4

22、,6)=q03、在QUARTUSII图形编辑窗口,调出7474正边沿触发的双D触发器元件及所需的逻辑门,然后根据输出方程和激励方程连接电路,检查与编辑、平面配置、编辑、波形仿真或下载调试。z (7) q2(8) q1(9) q0(10) reset(47) cp(48) ledcom(141) 5、 Verlog HDL描述(1) Verlog HDL描述(2) module conter3(cp,reset,q,z,ledcom); module conter3(cp,reset,q,z,ledcom);input cp,reset ; input cp,reset ;output2:0q

23、; output2:0q ;output z,ledcom ; output z,ledcom ; reg 2:0q ; reg 2:0q ;reg z ; reg z ; assign ledcom=1; assign ledcom=1;always (posedge cp ) always (posedge cp or negedge reset)begin begin if(!reset) if(!reset) begin q<=0;z<=0;end begin q<=0;z<=0;end else else begin begin if(q!=3'b11

24、1) if(q!=3'b111) begin q<=q+1;z<=0;end begin q<=q+1;z<=0;end else else begin q<=0; z<=1;end begin q<=0; z<=1;end end end end end endmodule endmodule6、试用Verlog HDL语言设计四位可逆计数器,当load=1时将d0数据加载到可逆计数器;load=0时,控制信号as=01进行加1计数,当 as=10进行减1计数,当as=00或11停止计数。34 分频器(除频器)的设计 在数字系统中,常需

25、要各种不同的时钟频率,从HZ、KHZ到MHZ。而各种频率的产生,一般依赖主频率(例如石英振荡器产生的频率)分频得到。分频器是计数器应用之一。341实验内容利用例化器件7474,试设计一个5分频器(对主频率除5)。342 设计方法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、根据状态转移表写出输出方程和激励方程并化简(包含无关项) f = m(0,1)=q2q1d2= m(3)+

26、(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描述(占空比可设置的除5分频器) module div5 (clk , reset , f) ; input clk , reset ; output f ; reg q2 , q1 , q0,f ; always (p

27、osedge 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

28、,q1,q0<=0 ; f<=0 ; end endcaseendendendmodule 用Verlog HDL描述(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) /(n= =N) N为整数 begin fx<=!fx;n<=0;end

29、 else begin n<=n+1;endendendmodule5、试用Verlog HDL设计能对主频进行2、4、8、16分频的时序电路。(考核点)35 移位寄存器351 概念在时钟信号控制下,将所寄存的数据向左或向右移位的寄存器称为移位寄存器。352设计内容试设计一个四位同步并入串出的右移寄存器。要求当加载控制信号load高电平时,在时钟作用下将输入四位二进制数据x3x2x1x0加载到移位寄存器q3q2q1q0中; 当load低电平时,在时钟clk作用下将四位移位寄存器中的数据向右移位一位,既0 q3 q2 q1 q0 so 。353设计1、右移操作状态转移表 Q3 Q2 Q1

30、Q0 Q3+1 Q2+1 Q1+1 Q0+1 Load=0 load=1 so0 0 0 00 0 0 0 x3 x2 x1 x000 0 0 10 0 0 0 x3 x2 x1 x010 0 1 00 0 0 1 x3 x2 x1 x000 0 1 10 0 0 1 x3 x2 x1 x010 1 0 00 0 1 0 x3 x2 x1 x000 1 0 10 0 1 0 x3 x2 x1 x010 1 1 00 0 1 1 x3 x2 x1 x000 1 1 10 0 1 1 x3 x2 x1 x011 0 0 00 1 0 0 x3 x2 x1 x001 0 0 10 1 0 0 x3

31、x2 x1 x011 0 1 00 1 0 1 x3 x2 x1 x001 0 1 10 1 0 1 x3 x2 x1 x011 1 0 00 1 1 0 x3 x2 x1 x001 1 0 10 1 1 0 x3 x2 x1 x011 1 1 0 0 1 1 1 x3 x2 x1 x001 1 1 10 1 1 1 x3 x2 x1 x01 2、移位操作 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)

32、 =loadq2 d2 = load m (8,9,10,11,12,13,14,15) = loadq3d3 = 03、加载操作d0=load x0d1=load x1d2=load x2d3=load x3综合2和3两相操作的逻辑表达式得到激励函数如下:d0= load x0 + loadq1d1= load x1 + loadq2d2= load x2 + loadq3d3= load x3 +0d(so) = load q04、实验电路根据激励函数画出电路如下:5、启动QuartusII设计软件,调出例化器件7474及所需逻辑门,根据输出方程和激励方程连接电路。存储检查、编辑、波形仿真

33、。 6、用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

34、 (load) q3 , q2 , q1 , q0<= x3 , x2 , x1 , x0 ; / 为拼接符,将 内独立的二 else / 进制位拼接到一起。 begin q3 , q2 , q1 , q0 , so <= q3 , q2 , q1 , q0 , so >>1 ; endendendmodule8、在附加sel选择控制信号的控制下,试用Verilog HDL设计四位可左右移的移位寄存器,在load=1加载数据;load=0时移位操作:sel=01左移,左移时寄存器的高位送so; sel=10时右移, 右移时寄存器的低位送so;sel=00或11时暂停。3

35、6数码管显示实验(综合性实验)该实验涵盖了组合逻辑、同步实序和异步实序,因此是综合性质的实验。361设计内容利用Verilog HDL硬件描述语言,设计一个将开关SW上的BCD数据在数码管上循环移位显示的控制器,将其嵌入实验平的台电路中实现循环移位显示控制。要求控制端pause高电平时,循环移位显示(移位时间控制在1s),pause低电平时暂停循环移位显示。362设计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硬件描述语言程序

温馨提示

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

评论

0/150

提交评论