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

下载本文档

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

文档简介

数字电路及逻辑实验指导书 数字电路及逻辑实验指导书计算机科学与技术学院实验教学中心洪国铭编写xx31目录第一章实验平台简介11LP-2900逻辑设计实验平台12逻辑门第二章Verilog HDL简介21Verilog HDL基本结构22数据类型及常量、变量23运算符24语句241赋值语句242条件语句243case语句244循环语句245always块语句第三章PLD开发软件MAX+PLUSII的使用指导31基于MAX+PLUSII的设计输入32基于MAX+PLUSII的平面33基于MAX+PLUSII的模拟仿真34基于MAX+PLUSII的编程下载第四章数字电路及逻辑实验41一位半加器设计42表决电路的设计43译码器的设计44数据比较器的设计45优先编码器的设计46同步计数器的设计47分频(除频)器的设计48异步计数器的设计49移位寄存器的设计410数字显示电路的设计第五章实验参考程序第一章实验平台简介11LP-2900逻辑设计实验平台LP-2990逻辑设计实验平台由CPLD晶片板、I/O元件实验板、PC下载界面电路和电源四部分组成。 1、CPLD晶片板在CPLD晶片板上,有一片Altera10K系列晶片,Altera EPF10K10TC144-4CPLD,该晶片提供不断重新下载新电路的弹性与便利。 2、I/O元件实验板在I/O元件实验板上,有12种I/O元件4组红绿黄LED;6个共阴极七段显示器;一个蜂鸣器;两个电子骰子;一个时序电路;3组8位开关;4个脉冲按键;一个4x3键盘;一块8x8点矩阵LED显示器;一个液晶显示器;A/D与D/A电路组件;8051单片机模组。 这些I/O元件,提供了调试逻辑电路必要的环境。 为了便于实验,给出LP-2900的部分I/O元件的脚位4组红绿黄LED代号L1L2L3L4L5L6L7L8装置红LED黄LED绿LED红LED黄LED绿LED红LED黄LED脚位Pin7Pin8Pin9Pin10Pin11Pin12Pin13Pin14代号L9L10L11L12LED_装置绿LED红LED黄LED绿LED LED1-LED12的共阴点脚位Pin17Pin18Pin19Pin20Pin1416个共阴极七段显示器6个共阴极七段显示器代号a b c de fg dp脚位Pin23Pin26Pin27Pin28Pin29Pin30Pin31Pin32代号DE1DE2DE3脚位Pin33Pin36Pin37DE 1、DE 2、DE3为译码器(74LS138)的输入端,译码器(74LS138)输出端Y0-Y5为C1-C6,C1-C6分别为6个显示器阴极共点端。 4x3键盘代号DE1DE2DE3RK1RK2RK3脚位Pin33Pin36Pin37Pin42Pin43Pin44RK1RK2RK3为键盘列输出。 DE 1、DE 2、DE3为译码器(74LS138)的输入端,译码器(74LS138)输出端Y0-Y3为C1-C4,C1-C4分别为键盘的扫描输出。 3组8位开关代号Sw1Sw2Sw3Sw4Sw5Sw6Sw7Sw8脚位Pin47Pin48Pin49Pin51Pin59Pin60Pin62Pin63代号Sw9Sw10Sw11Sw12Sw13Sw14Sw15Sw16脚位Pin64Pin65Pin67Pin68Pin69Pin70Pin72Pin73代号Sw17Sw18Sw19Sw20Sw21Sw22Sw23Sw24脚位Pin78Pin79Pin80Pin81Pin82Pin83Pin86Pin87蜂鸣器蜂鸣器代号Sp1脚位Pin46时序电路时序电路代号SOC脚位Pin55(10MHZ) 3、PC下载界面电路 3、PC下载界面电路PC与LP2900的通信电路。 12逻辑门为了便于在图形方式下选取逻辑器件和在文本方式下使用门原语设计逻辑电路,下面给出部分逻辑门符号以供使用。 (1)图形方式逻辑门名称and2 (1)图形方式逻辑门名称and2两输入端与门andi i输入端与门or2两输入端或门(i=28)nand2nand2两输入端与非门nor2两输入端或非门not非门xor异或门xnor同或门tri三态门 (2)门原语设计使用逻辑符号and (2)门原语设计使用逻辑符号and与如:一位半加器nand与非module fadd(s,c,a,b);/端口列表or or或input a,b;/输入nor或非output s,c;/输出not非xor(s,a,b);/s=a异或b xor异或and(c,a,b);/c=a与b xnorxnor同或andmodule第二章Verilog HDL简介21Verilog HDL基本结构module模块名(I/O端口列表);input输入端口列表;output输出端口列表;module模块名(I/O端口列表);input输入端口列表;output输出端口列表;/wire,reg信号类型声明;/使用assign语句定义逻辑功能assign结果信号名=表达式;/使用always块描述逻辑功能always(敏感信号表达式)begin(敏感信号表达式)begin/过程赋值/if语句/case语句/for循环语句end endmodule22数据类型(部分)、常量及变量end endmodule22数据类型(部分)、常量及变量wire连线型reg寄存器型在程序运行过程中,其值不变的量称为常量。 用parameter来定义。 如parameter sel=8,code=8ha3,bit=4b0110;二进制数(b)十进制数(d)十六进制数(h)八进制数(o)在程序运行过程中,其值可改变的量称为变量。 如wire out,in;/定义out,in为wire型变量reg3:0a,b;/定义a,b分别为四位的reg型变量2.3运算符算数运算符+(加)-减)逻辑运算符&(逻辑与)|(逻辑或)!(逻辑非)位运算符(按位取反)&(按位与)|(按位或)(按位异或)(按位同或)关系运算符(小于)(大于)=(大于或等于)等式运算符=(等于)!=(不等于)移位运算符(右移)(左移)如语句a=a2;/a左移2位。 三目运算符信号=条件?表达式1表达式2;如语句out=sel?a:b;/当sel=1,out=a否则out=b位拼接运算符它将两个或多个变量的某些位拼接起来。 如四位全加器output3:0sun;output cout;input3:0ina;input3:0inb;input cin;assigncout,sun=ina+inb+cin;运算符的优先级:表中顶部符号级别最高,必要时可用()确定运算次序。 运算符!*/%+-=!=&|2.4语句2.5.1赋值语句语句2.5.1赋值语句assign为连续赋值语句,它用于对wire型变量赋值。 如assign c=a&b;assign d=a+b;assign out=a,b;2.5.2条件语句 (1)if(表达式)语句; (2)if(表达式)语句1;else语句2; (3)if(表达式)语句1;else if(表达式2)语句2;else if(表达式3)语句3;else if(表达式n)语句n else语句n+1这三种方式,“表达式”一般为逻辑表达式或关系表达式,也可能是一位变量。 系统对表达式的判断,若 0、x、z按“假”处理,若为1,按“真”处理,执行语句。 语句可能是单语句,也可能是多语句,多语句用begin end语句括起来。 2.5.3case语句相对if语句只有两个分枝而言,case语句是一种多分枝语句,故case语句多用于多分枝条件译码电路。 如描述译码器、数据选择器、状态机及微处理器的指令译码等。 格式如下case(敏感表达式)值1语句1;/当敏感表达式值=值1时,执行语句1。 值2语句2;/当敏感表达式值=值2时,执行语句2。 -值n语句n;/当敏感表达式值=值n时,执行语句n。 default:语句n+1;/当敏感表达式值!=列出值时,执行语句n+1。 endcase default语句,不需要可省略。 2.5.3for循环语句for(表达式1;表达式2;表达式3)既for(循环变量赋初值;循环条件;循环变量增值)2.5.3for循环语句for(表达式1;表达式2;表达式3)既for(循环变量赋初值;循环条件;循环变量增值)如用for语句实现8x8乘法module mult8(oute,a,b);parameter size=8;inputsize:1a,b;output2*size:1oute;reg2*size:1oute;integer i;always(a orb)begin oute=0;for(i=1;i=size;i=i+1)if(bi)oute=oute+(adevice familyflex10k Devices:EPF10k10tc144- 43、电路输入(图形方式) (1)新建工程FileProjectName输入工程名ok。 (2)新建文件FileNew选择Graphic EditorFileok。 (3)保存文件名FileSave Asok,出现图形窗口。 (4)电路输入在画面上点击鼠标右键Enter symbol输入电路符号ok。 (5)电路连接使用窗口左侧的绘图工具连接电路。 (6)管角命名鼠标移动到管角名称处点击鼠标右键Edit pinname输入管角名ok。 (7)存储检查FileProjiectSave&check。 如果有错,按 4、 5、6步修改。 4、文本输入(文本方式) (1)新建工程FileProjectName输入工程名ok。 (2)新建文件FileNew选择Text EditorFileok输入文名。 (3)保存文件名FileSave As将文件的扩展名.dtf改成.v或.vhd。 Verilog HDL文本用.vok;VHDL文本用.vhdok,出现文本窗口。 (4)入文本文件。 (5)存储检查FileProjiectSave&check。 如果有错,修改文本文件。 32基于MAX+PLUSII的平面32基于MAX+PLUSII的平面 (1)平面规划Max+plusIIFloorplan editor(将右上角框内的管角拖到下方的窗口芯片的对应管角上)。 如未出现上述窗口,操作layout将lab view点选为Current AssignmentFloorplan。 (2)平面编译Max+plusIICompilerStsrt。 33基于MAX+PLUSII的模拟仿真 (1)选择波形文件FileNewwaveform Editor fileok。 (2)选择仿真节点NodeEnter Nodesform SNFList=ok。 (3)设置波形或数据利用窗口左侧图标进行设置。 (4)存储波形文件FileSave Asok。 (5)波形模拟仿真Max+plusSimulatorStart。 34基于MAX+PLUSII的编程下载 (1)编程下载Max+plusIIProgrammerConfigure(hardtype:ByteBlaster MV)。 (2)功能调试在LP-CPLD2900数字实验平台上验证电路功能。 第四章数字电路及逻辑实验逻辑电路根据输出信号对输入信号响应的不同分为两类组合逻辑电路(简称组合电路)与时序逻辑电路(简称时序电路)。 在组合逻辑电路中,电路在任一时刻的输出信号仅仅决定于该时刻的输入信号,而与电路的原有的输出状态无关。 从电路的结构上看,组合逻辑电路的输出端和输入端之间没有反馈回路。 在时序逻辑电路中,任何时刻电路的输出不仅取决于该时刻的输入信号,也取决于电路过去的输入。 一般来说,它是由组合逻辑电路和存储电路两部分组成,并形成反馈回路。 在组合逻辑电路中,电路在任一时刻的输出信号仅仅决定于该时刻的输入信号,而与电路的原有的输出状态无关。 从电路的结构上看,组合逻辑电路的输出端和输入端之间没有反馈回路。 在时序逻辑电路中,任何时刻电路的输出不仅取决于该时刻的输入信号,也取决于电路过去的输入。 一般来说,它是由组合逻辑电路和存储电路两部分组成,并形成反馈回路。 41一位半加器的设计411实验内容试设计两个一位二进制变量a、b相加,输出本位和s及进位c的逻辑电路。 412设计方法 1、利用真值表法,写出最简与或逻辑表达式输入变量a b输出变量s c0001101100101001s=ab+ab=a?bc=ab逻辑符号名xor-异或门;and2-两输入与门。 2、根据最简逻辑表达式,用MAX+PLUSII图形输入法,画出逻辑电路 3、存储检查、平面及下载调试 4、用Verilog HDL连续赋值语句assign描述module fadd(a,b,s,c,led);input a,b;output s,c,led;wire a,b,s,c;assign ledom=1;assign s=!a&b|a&!b;assign c=a&b;endmodule 5、用Verilog HDL门原语设计上述逻辑功能(考核点) 6、用VHDL描述ENTITY faddIS PORT(a,b:IN BIT;f,cout,led:OUT BIT);END ENTITYfadd;ARCHITECTURE stucturalOF faddIS CONSTANTv:BIT:=1;BEGIN led=v;f=a xorb;cout=a andb;END ARCHITECTURE stuctural;42表决电路的设计4.2.1实验目的掌握组合电路最基本的设计过程(命题真植表逻辑表达式逻辑电路),本节重点是了解LP2900逻辑实验平台、学习EDA设计软件之一MAX+PLUS,为后继实验项目的设计、仿真、下载调试及深入学习打下基础。 4.2.2实验内容试设计三变量表决电路,当输入端a、b、c三变量中多数为1时,电路输出f=1,否则f=0。 4.2.3设计方法 1、建立真植表,利用公式法或卡诺图法写出最简与或逻辑表达式。 f(a,b,c)=m(3,5,6,7)=bc+ac+ab逻辑符号名and2-两输入与门;or3-三输入或门。 2、根据最简逻辑表达式,用MAX+PLUSII图形输入法,画出逻辑电路。 3、存储检查、平面及下载调试 4、用Verilog HDL门原语描述module biaojue(a,b,c,f,led);input a,b,c;output f,led;assign led=1;and(f1,a,b);and(f2,a,c);and(f3,b,c);or(f,f1,f2,f3);endmodule 5、试用Verilog HDL连续赋值语句assign描述上述逻辑功能(考核点) 6、用VHDL语言描述ENTITY biaojueIS PORT(a,b,c:IN BIT;f,led:OUT BIT);END ENTITYbiaojue;ARCHITECTUREstucturalOF biaojueIS CONSTANTt:bit:=1;BEGIN PROCESS(a,b,c)VARIABLE f1,f2,f3:bit;BEGIN led=t;f1:=a andb;f2:=a andc;f3:=b andc;f=f1or f2orf3;END PROCESS;END ARCHITECTUREstuctural;43译码器的设计431概念实现译码功能的组合逻辑电路称为译码器,它的输入是一组二进制代码,输出是一组高低电平信号。 如果每输入一组不同的代码,只有一个输出端呈现有效状态,通常称为多一译码器(一般用于选择设备、接口或电路部件);如果每输入一组不同的代码,输出端呈现另一组编码与之对应,称为多对多译码器(一般用于代码转换)。 432设计内容试设计一个具有使能端的2:4译码器,要求使能输入端g=0时,允许对输入的二进制代码进行译码,对应的输出端输出0,其它输出端输出均为1。 当使能输入端g=1时,禁止对输入的二进制代码进行译码,译码器的输出y 0、y 1、y 2、y3均为1。 433设计方法 1、建立真植表,利用公式法或卡诺图法写出最简与或许逻辑表达式使能控制G输入端A1A0输出端Y3Y2Y1Y010000X X0001101111111110110110110111y0=ga1a0;y1=ga1a0;y2=ga1a0;y3=ga1a0;y0=(ga1a0);y1=(ga1a0);y2=(ga1a0);y3=(ga1a0);逻辑符号名nand3-三输入与非门;not-非门。 2、根据最简逻辑表达式,用MAX+PLUSII图形输入法,画出逻辑电路 3、存储检查、平面及下载调试 4、用三目条件运算符描述module decoder(g,a1,a0,y3,y2,y1,y0,led);input a1,a0;input g;output y3,y2,y1,y0;output led;assign led=1;assign y0=(!g&!a1&!a0)?0:1;/信号=条件?表达式1表达式2;assign y1=(!g&!a1&a0)?0:1;assign y2=(!g&a1&!a0)?0:1;assign y3=(!g&a1&a0)?0:1;endmodule 5、试用Verilog HDLcase语句描述上述逻辑功能(考核点) 6、用VHDL case语句描述上述逻辑功能LIBRARY IEEE;USE IEEE.STD_lOGIC_1164.ALL;ENTITY decoderIS PORT(g,a0,a1:In STD_LOGIC;q3,q2,q1,q0:OUT STD_LOGIC);END ENTITY decoder;ARCHITECTURE rtlOF decoderIS SIGNAL tmp_in:STD_LOGIC_VECTOR(1DOWNTO0);SIGNALtmp_out:STD_LOGIC_VECTOR(3DOWNTO0);BEGIN tmp_intmp_outtmp_outtmp_outtmp_outtmp_out=1111;END CASE;ELSE tmp_out=1111;END IF;q0=tmp_out (0);q1=tmp_out (1);q2=tmp_out (2);q3b1b0时g=1,当a1a0 443设计方法 1、建立功能表,利用公式法或卡诺图法写出逻辑表达式比较输入a1b1a0b0比较输出g se a1b1X a1b0a1=b1a0 2、根据最简逻辑表达式,用MAX+PLUSII图形输入法,画出逻辑电路 3、存储检查、平面及下载调试通过上面设计可以看出比较器电路是较复杂的,当两个数的位数越大电路就越发复杂。 因此用硬件描述语言设计比较器就越发显示出优势。 4、用Veri HDLif-else条件语句描述module p(a,b,g,s,e,led);input1:0a,b;output g,s,e;output led;reg g,s,e;assign led=1;always(a orb)begin if(ab)begin g=1;s=0;e=0;end else if(a 5、试用Verillog HDL三目条件运算符描述(考核点) 6、用VHDL语言描述library ieee;use ieee.std_logic_1164.all;entity pis port(a,b:in std_logic_vector(1downto0);-g,s,e,led:out std_logic);end entityp;architecture rtlof pis constantt:std_logic:=1;signal tmp:std_logic_vector(2downto0);begin ledb)then tmp=100;elsif(a (2);s=tmp (1);e=tmp (0);end process;end rtl;45优先编码器451概念在数字系统中,要对所处理的信息或数据赋予二进制代码,称为编码。 用来完成编码工作的数字电路称为编码器。 前述的译码器实现的是“多对一”译码,而编码器则实现“一对多”译码。 优先编码器允许多个输入信号同时有效,当多个输入信号同时有效时,优先编码器只对其中优先级别最高的输入信号编码。 级别较低输入信号不予理睬。 452设计内容设计一个二进制优先编码器,输入信号为i 3、i 2、i 1、i0(i3优先级别最高),输出端q 1、q0输出的编码为输入信号角标的反码(例如i3=0时,其它任意,q1q0=00)。 要求当编码控制信号st=1(禁止编码)时,q1q0= 11、测试端ys=0。 当st=0(允许编码)时,i 3、i 2、i 1、i0无有效信号输入(低电平有效),q1q0= 11、测试端ys=0;否则q1q0输出对应输入信号角标的反码,ys=1。 ys=1表示q1q0编码是有效的编码。 453设计方法 1、建立功能表,利用公式法或卡诺图法写出逻辑表达式编码控制st输入信号i3i2i1i0输出编码q1q0测试端ys100000x x x x11110x xx10xx110x1110111100011011001111q1=st+st(i3i2i1i0+i3i2i1+i3i2i1i0)=st+i3i2;利用公式ab+ac=a(b+c);a+ab=a+b q0=st+st(i3i2i1i0+i3i2+i3i2i1i0)=st+i3i1+i3i2a+b+c=(abc)ys=st(i3+i3i2+i3i2i1+i3i2i1i0)=st(i3+i2+i1+i0)=st(i3i2i1i0) 2、根据最简逻辑表达式,用MAX+PLUSII图形输入法,画出逻辑电路 3、存储检查、平面、波形仿真及下载调试 4、试用Verilog HDLcase语句描述 (1)module encoder4_2(st,i3,i2,i1,i0,q1,q0,ys,led);input st;input i3,i2,i1,i0;output ys;output q1,q0;output led;reg q1,q0,ys;assign led=1;always(st)begin if(st)q1,q0,ys=3b110;else case(i3,i2,i1,i0)4b0000:q1,q0,ys=3b001;4b0001:q1,q0,ys=3b001;4b0010:q1,q0,ys=3b001;4b0011:q1,q0,ys=3b001;4b0100:q1,q0,ys=3b001;4b0101:q1,q0,ys=3b001;4b0110:q1,q0,ys=3b001;4b0111:q1,q0,ys=3b001;4b1000:q1,q0,ys=3b011;4b1001:q1,q0,ys=3b011;4b1010:q1,q0,ys=3b011;4b1011:q1,q0,ys=3b011;4b1100:q1,q0,ys=3b101;4b1101:q1,q0,ys=3b101;4b1110:q1,q0,ys=3b111;default:q1,q0,ys=3b110;endcase end endmodule试用Verilog HDLifelse ifelse if-语句描述 (2)module encoder4_2(st,i3,i2,i1,i0,q1,q0,ys,led);input st;input i3,i2,i1,i0;output ys;output q1,q0;output led;reg q1,q0,ys;assign led=1;always(i3or i2or i1or i0or st)begin if(st)q1,q0,ys=3b110;else if(!i3)q1,q0,ys=3b001;else if(!i2)q1,q0,ys=3b011;else if(!i1)q1,q0,ys=3b101;elseif(!i0)q1,q0,ys=3b111;elseq1,q0,ys=3b110;end endmodule 5、用VHDL语言描述如下library ieee;use ieee.std_logic_1164.all;entity p_encoder isport(st,i3,i2,i1,i0:in std_logic;q1,q0,ys:out std_logic);end entityp_encoder;architecture rtlof p_encoder issignal temin:std_logic_vector(3downto0);signal temout:std_logic_vector(2downto0);begin temin=i3&i2&i1&i0;-并置语句process(st,temin)begin if(st=0)then if(temin=1111)then temout=110;elsif(temin (3)=0)then temout=001;elsif(temin (2)=0)then temout=011;elsif(temin (1)=0)then temout=101;elsif(temin (0)=0)then temout=111;end if;else temout=110;end if;ys=temout (0);q0=temout (1);q1=temout (2);end process;end architecturertl;46同步计数器的设计461概念计数器的功能是记忆脉冲的个数,它所记忆脉冲的最大数目称为该计数器的模。 计数器可分为同步计数器(又称并行计数器)和异步计数器(又称串行计数器)。 构成计数器的核心元件是触发器。 同步计数器特点是各触发器的CP端连在一起,既受同一个脉冲信号控制。 462设计内容及方法试设计一个三位二进制加1同步计数器(模=8),其步骤如下 1、根据逻辑要求写出计数器的状态转移表计数脉冲触发器现态触发器次态输出cp q2q1q0q2+1q1+1q0+1z 000001000101000100110011100010010101011100110111011100012、根据状态转移表写出输出方程和激励方程dz=q2q1q0;d2=m(3,4,5,6)=q2q1q0+q2q1+q2q0;d1=m(1,2,5,6)=q1?q0;d0=m(0,2,4,6)=q0 3、在MAX+PLUSII图形窗口,调出7474正边沿触发的双D触发器元件及所需的逻辑门,然后根据输出方程和激励方程连接电路,检查与、平面配置、波形仿真或下载调试z (7)q2 (8)q1 (9)q0 (10)reset (47)cp (48)led (141) 5、Verlog HDL描述 (1)Verlog HDL描述 (2)module conter3(cp,reset,q,z,led);module conter3(cp,reset,q,z,led);input cp,reset;input cp,reset;output2:0q;output2:0q;output z,led;output z,led;reg2:0q;reg2:0q;reg z;reg z;assign led=1;assign led=1;always(posedge cp)always(posedge cpor negedgereset)begin begin if(!reset)if(!reset)begin q=0;z=0;end begin q=0;z=0;end elseelse beginbegin if(q!=3b111)if(q!=3b111)beginq=q+1;z=0;end beginq=q+1;z=0;end elseelsebeginq=0;z=1;end beginq=0;z0);vcout:=0;elsIF(clkEVENT ANDclk=1)THEN IFvq0);vcout:=1;END IF;END IF;q=vq;cout=vcout;END PROCESS;END rtl; 7、试用Verlog HDL语言设计四位可逆计数器,当load=1时将d0数据加载到可逆计数器;load=0时,控制信号as=01进行加1计数,当as=10进行减1计数,当as=00或11停止计数。 47分频器(除频器)的设计在数字系统中,常需要各种不同的时钟频率,从HZ、KHZ到MHZ。 而各种频率的产生,一般依赖主频率(例如石英振荡器产生的频率)分频得到。 分频器是计数器应用只一。 471实验内容利用例化器件7474,试设计一个5分频器(对主频率除5)。 472设计方法出1写出5分频器(对主频率除5)状态转移表主频clk触发器现态q2q1q0触发器次态q2+1q1+1q0+1分频输出f 000001100101010100110011100010000002、根据状态转移表写出输出方程和激励方程并化简(包含无关项)f=m(0,1)=q2q1d2=m (3)+(5,6,7)=q1q0d1=m(1,2)+(5,6,7)=q1q0+q1q0=(q1?q0)d0=m(0,2)=q2q0 3、启动MAX+PLUS2设计软件,调出例化器件7474及所需逻辑门,根据输出方程和激励方程连接电路。 存储检查、波形仿真。 clk=1/T=1/0.0000002s=500khz f=clk/5=100khz 4、硬件语言描述用、硬件语言描述用Verlog HDL描述(占空比可设置的除5分频器)module div5(clk,reset,f);input clk,reset;output f;reg q2,q1,q0,f;always(posedge clk)begin if(!reset)beginq2,q1,q0=0;f=0;end elsebegin case(q2,q1,q0)0:beginq2,q1,q0=1;f=1;end1:beginq2,q1,q0=2;f=1;end2:beginq2,q1,q0=3;f=0;end3:beginq2,q1,q0=4;f=0;end4:beginq2,q1,q0=0;f=0;end default:beginq2,q1,q0=0;fvq:=001;vf:=0;WHEN001=vq:=010;vf:=0;WHEN010=vq:=011;vf:=0;WHEN011=vq:=100;vf:=1;WHEN100=vq:=000;vf:=1;WHEN OTHERS=vq:=000;vf:=0;END CASE;END IF;q=vq;f=vf;END PROCESS;END rtl;用用Verlog HDL描述(2+2*N的分频器)module divfx(clk,reset,fx,led);input clk,reset;output fx,led;reg24:0n;reg fx;assign led=1;always(posedge clk)begin if(!reset)begin n=0;fx=0;end elseif(n=3)/(n=N)N为整数begin fx=!fx;n=0;end elsebegin n=n+1;endendendmodule用用VHDL语言描述(2+2*N)的分频器LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.all;USE IEEE.STD_LOGIC_unsigned.all;ENTITY divfxIS PORT(clk:IN STD_LOGIC;f:out STD_LOGIC);END ENTITYdivfx;ARCHITECTURE rtlof divfxIS BEGINPROCESS(clk)VARIABLE vq:STD_LOGIC_VECTOR(2DOWNTO0);VARIABLE vf:STD_LOGIC;BEGIN IF(clkEVENT ANDclk=1)THEN IFvq0);vf:=NOT vf;END IF;END IF;f=vf;END PROCESS;END rtl; 5、试用Verlog HDL设计能对主频进行 2、 4、 8、16分频的时序电路。 (考核点)48异步计数器的设计时序逻辑电路可分为两大类同步时序和异步时序逻辑电路。 同步时序逻辑电路的特点电路具有统一的时钟信号,只有当时钟信号到来时,电路状态才发生改变,变化后状态被保持,直到下一时钟信号到来才产生新的变化。 异步时序逻辑电路的特点电路没有统一的时钟信号,既电路不受统一的时钟信号控制,电路的状态的改变是由外部输入信号的变化引起。 一般情况下是前一级的信号输出成为下一级的信号输入,因此对电路整体来说就以异步方式进行工作。 481设计内容试用正边沿触发D型触发器,设计一个四位二进制异步计数器(模=15)。 482设计过程 1、写出四位异步二进制计数器的状态表q3q2q1q00000cp 0001001000110100010101100111100010011010101111

温馨提示

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

评论

0/150

提交评论