《西安电子科技大学verilogppt课件.ppt》由会员分享,可在线阅读,更多相关《西安电子科技大学verilogppt课件.ppt(114页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、认识到了贫困户贫困的根本原因,才能开始对症下药,然后药到病除。近年来国家对扶贫工作高度重视,已经展开了“精准扶贫”项目第四章第四章 Verilog HDL数字逻辑数字逻辑电路设计方法电路设计方法12/29/20221MicroelectronicsSchoolXidianUniversity认识到了贫困户贫困的根本原因,才能开始对症下药,然后药到病除。近年来国家对扶贫工作高度重视,已经展开了“精准扶贫”项目4.1 Verilog HDL 语言设计思想和可综合特性语言设计思想和可综合特性12/29/20222MicroelectronicsSchoolXidianUniversity例4.1-1
2、:用VerilogHDL设计模256(8bits)计数器(a)可综合程序描述方式modulecounter(count,clk,reset);outputcount;inputclk,reset;reg7:0count;regout;always(posedgeclk)if(!reset)count=0;elseif(count=8b11111111)count=0;elsecount=count+1;endmodule(b)常见的错误描述方式modulecounter(count,clk,reset);outputcount;inputreset,clk;reg7:0count;regout
3、;integeri;always(posedgeclk,reset)beginif(!reset)count=0;elsefor(i=0;i=255;i=i+1)count=count+1;endendmodule认识到了贫困户贫困的根本原因,才能开始对症下药,然后药到病除。近年来国家对扶贫工作高度重视,已经展开了“精准扶贫”项目同时VerilogHDL的电路描述方式具有多样性,这也决定了对于电路设计的多样性。12/29/20223MicroelectronicsSchoolXidianUniversity例4.1-2:用VerilogHDL设计数字多路选择器(a)采用真值表形式的代码:mod
4、uleMUX(out,data,sel);outputout;input3:0data;input1:0sel;regout;always(dataorsel)case(sel)2b00:out=data0;2b01:out=data1;2b10:out=data2;2b11:out=data3;endcaseendmodule(b)采用逻辑表达式形式的代码:moduleMUX(out,data,sel);outputout;input3:0data;input1:0sel;wirew1,w2,w3,w4;assignw1=(sel1)&(sel0)&data0;assignw2=(sel1)
5、&sel0&data1;assignw3=sel1&(sel0)&data2;assignw4=sel1&sel0&data3;assignout=w1|w2|w3|w4;endmodule认识到了贫困户贫困的根本原因,才能开始对症下药,然后药到病除。近年来国家对扶贫工作高度重视,已经展开了“精准扶贫”项目12/29/20224MicroelectronicsSchoolXidianUniversity(c)采用结构性描述的代码:moduleMUX(out,data,sel);outputout;input3:0data;input1:0sel;wirew1,w2,w3,w4;notU1(w1
6、,sel1);U2(w2,sel0);andU3(w3,w1,w2,data0);U4(w4,w1,sel0,data1);U5(w5,sel1,w2,data2);U6(w6,sel1,sel0,data3);orU7(out,w3,w4,w5,w6);endmodule在现阶段,作为设计人员熟练掌握VerilogHDL程序设计的多样性和可综合性,是至关重要的。作为数字集成电路的基础,基本数字逻辑电路的设计是进行复杂电路的前提。本章通过对数字电路中基本逻辑电路的VerilogHDL程序设计进行讲述,掌握基本逻辑电路的可综合性设计,为具有特定功能的复杂电路的设计打下基础。认识到了贫困户贫困的根
7、本原因,才能开始对症下药,然后药到病除。近年来国家对扶贫工作高度重视,已经展开了“精准扶贫”项目4.2VerilogHDL组合电路设计组合电路的特点是:电路中任意时刻的稳态输出仅仅取决于该时刻的输入,而与电路原来的状态无关。组合电路的设计需要从以下几个方面考虑:组合电路的设计需要从以下几个方面考虑:所用的逻辑器件数目最少,器件的种类最少,且器件之间的连线最简单。这样的电路称“最小化”电路;其次,为了满足速度要求,应使级数尽量少,以减少门电路的延迟;电路的功耗应尽可能的小,工作时稳定可靠。描述组合逻辑电路有四种方式:描述组合逻辑电路有四种方式:结构描述、逻辑代数、真值表、抽象描述。12/29/2
8、0225MicroelectronicsSchoolXidianUniversity认识到了贫困户贫困的根本原因,才能开始对症下药,然后药到病除。近年来国家对扶贫工作高度重视,已经展开了“精准扶贫”项目例4.2-1:设计一个3个裁判的表决电路,当两个或两个以上裁判同意时,判决器输出“1”,否则输出“0”。方法方法1:真值表方式:真值表方式真值表是对电路功能最直接和简单的描述方式。根据电路的功能,可以通过真值表直接建立起输出与输入之间的逻辑关系。例4.2-1有三个输入端A、B、C和一个输出端OUT。12/29/20226MicroelectronicsSchoolXidianUniversity
9、ABCOUT00000010010010000111101111011111认识到了贫困户贫困的根本原因,才能开始对症下药,然后药到病除。近年来国家对扶贫工作高度重视,已经展开了“精准扶贫”项目12/29/20227MicroelectronicsSchoolXidianUniversity在VerilogHDL中,可以使用“case”语句对电路进行描述性设计,表4.2-1真值表设计代码如下:moduledesingn(OUT,A,B,C);outputOUT;inputA,B,C;regOUT;always(AorBorC)case(A,B,C)3b000:OUT=0;3b001:OUT=0
10、;3b010:OUT=0;3b100:OUT=0;3b011:OUT=1;3b101:OUT=1;3b110:OUT=1;3b111:OUT1)OUT=1;else OUT=0;endmodule认识到了贫困户贫困的根本原因,才能开始对症下药,然后药到病除。近年来国家对扶贫工作高度重视,已经展开了“精准扶贫”项目EDA综合工具可以将VerilogHDL程序综合成物理电路形式,通过电路优化,可以得到符合设计要求的最简化电路。采用Synplify软件对上面四种方法设计的VerilogHDL程序进行综合(采用Altera公司StratixII器件),可以得相同的最简化电路。12/29/202211M
11、icroelectronicsSchoolXidianUniversity认识到了贫困户贫困的根本原因,才能开始对症下药,然后药到病除。近年来国家对扶贫工作高度重视,已经展开了“精准扶贫”项目4.2.1数字加法器数字加法器是最为常用的一种数字运算逻辑,被广泛用于计算机、通信和多媒体数字集成电路中例4.2-2:2输入1bit信号全加器。如果运算考虑了来自低位的进位那么该运算就为全加运算,实现全加运算的电路称为全加器。12/29/202212MicroelectronicsSchoolXidianUniversityABC_INSUMC_OUT000000011001010011011001010
12、1011100111111认识到了贫困户贫困的根本原因,才能开始对症下药,然后药到病除。近年来国家对扶贫工作高度重视,已经展开了“精准扶贫”项目代数逻辑表示为12/29/202213MicroelectronicsSchoolXidianUniversity 对应的电路为图 SUM=ABC_IN认识到了贫困户贫困的根本原因,才能开始对症下药,然后药到病除。近年来国家对扶贫工作高度重视,已经展开了“精准扶贫”项目VerilogHDL可以用不同的描述方式写出一位全加器,其综合电路是相同的,仅仅是描述风格不同。12/29/202214MicroelectronicsSchoolXidianUnive
13、rsity(1)利用连续赋值语句实现moduleone_bit_fulladder(SUM,C_OUT,A,B,C_IN);inputA,B,C_IN;outputSUM,C_OUT;assignSUM=(AB)C_IN;assignC_OUT=(A&B)|(AB)&C_IN);/functionofoutputendmodule(2)利用行为描述实现moduleone_bit_fulladder(SUM,C_OUT,A,B,C_IN);outputSUM,C_OUT;inputA,B,C_IN;assignC_OUT,SUM=A+B+C_IN;endmodule认识到了贫困户贫困的根本原因,
14、才能开始对症下药,然后药到病除。近年来国家对扶贫工作高度重视,已经展开了“精准扶贫”项目采用行为描述可以提高设计的效率,对于一个典型的多位加法器的行为描述设计,仅需改变代码中输入和输出信号的位宽即可,例如一个2输入8bits加法器,可以采用下面的VerilogHDL程序代码实现。12/29/202215MicroelectronicsSchoolXidianUniversitymoduleeight_bit_fulladder(SUM,C_OUT,A,B,C_IN);output7:0SUM;output C_OUT;input7:0A,B;inputC_IN;assignC_OUT,SUM=
15、A+B+C_IN;endmodule认识到了贫困户贫困的根本原因,才能开始对症下药,然后药到病除。近年来国家对扶贫工作高度重视,已经展开了“精准扶贫”项目例4.2-3:4位超前进位加法器超前进位加法器是一种高速加法器,每级进位由附加的组合电路产生,高位的运算不需等待低位运算完成,因此可以提高运算速度。根据对于输入信号位宽为N的全加器,其进位信号是:输出的加法结果是超前进位标志信号是进位产生函数是12/29/202216MicroelectronicsSchoolXidianUniversity 认识到了贫困户贫困的根本原因,才能开始对症下药,然后药到病除。近年来国家对扶贫工作高度重视,已经展开
16、了“精准扶贫”项目进位传输函数是上述公式中N为加法器位数,在4位加法器中,N=4。由式可以推出各级进位信号表达式,并构成快速进位逻辑电路。12/29/202217MicroelectronicsSchoolXidianUniversity认识到了贫困户贫困的根本原因,才能开始对症下药,然后药到病除。近年来国家对扶贫工作高度重视,已经展开了“精准扶贫”项目4位超前进位加法器的电路如图所示12/29/202218MicroelectronicsSchoolXidianUniversity认识到了贫困户贫困的根本原因,才能开始对症下药,然后药到病除。近年来国家对扶贫工作高度重视,已经展开了“精准扶贫
17、”项目4位超前进位加法器对应的VerilogHDL代码是:12/29/202219MicroelectronicsSchoolXidianUniversitymodulefour_bits_fast_addder(sum_out,c_out,a,b,c_in);input3:0 a,b;/theotherofaddnumberinputc_in;/carryinfrombeforeleveloutput3:0sum_out;/theaddoftwoinputoutputc_out;/carryouttonextlevelwire4:0g,p,c;/wirebetweeneveryc_outan
18、dc_inassignc0=c_in;assignp=a|b;assigng=a&b;assignc1=g0|(p0&c0);assignc2=g1|(p1&(g0|(p0&c0);assignc3=g2|(p2&(g1|(p1&(g0|(p0&c0);assignc4=g3|(p3&(g2|(p2&(g1|(p1&(g0|(p0&c0);assignsum_out=pc3:0;assignc_out=c4;endmodule认识到了贫困户贫困的根本原因,才能开始对症下药,然后药到病除。近年来国家对扶贫工作高度重视,已经展开了“精准扶贫”项目4.2.2数据比较器数据比较器是用来对两个二进制数的
19、大小进行比较,或检测是否相等的逻辑电路。数据比较器包含两个部分:一是比较两个数的大小;二是检测两个数是否一致。例4.2-4:4位数值比较器多位数值比较器的比较过程是由高位到底位逐位进行比较,而且只有在高位相等时,才进行低位比较。4位数值比较器中进行A3A2A1A0和B3B2B1B0的比较时,应首先比较最高位A3和B3。如果A3B3,那么不管其它几位数为何值,结果为AB;若A3B3,结果为ABCA=BCABFA=BFAB3x xx xx xxxx100A3B2x xx xxxx100A3=B3A2B1x xxxx100A3=B3A2=B2A1B0 xxx100A3=B3A2=B2A1=B1A0B
20、CA=BCABCA=BCAB)F=3b100;elseif(AB)F=3b001;elseF=C;endmodule认识到了贫困户贫困的根本原因,才能开始对症下药,然后药到病除。近年来国家对扶贫工作高度重视,已经展开了“精准扶贫”项目4.2.3数据选择器数据选择器又称多路选择器(Multiplexer,简称MUX),它有n位地址输入、2n位数据输入,1位数据输出。每次在输入地址的控制下,从多路输入数据中选择一路输出,其功能类似于一个单刀多掷开关,如图所示。12/29/202222MicroelectronicsSchoolXidianUniversity认识到了贫困户贫困的根本原因,才能开始对
21、症下药,然后药到病除。近年来国家对扶贫工作高度重视,已经展开了“精准扶贫”项目例4.2-5:8选1数据选择器8选1数据选择器可以由多个2选1数据选择器搭成,也可以采用抽象描述方式进行设计。可以采用2选1数据选择器串行连接,也可以用树形连接分成三级实现。12/29/202223MicroelectronicsSchoolXidianUniversity(1)多个2选1数据选择器的结构级描述modulemux8to1_2(d_out,d_in,sel);outputd_out;input7:0 d_in;input2:0 sel;wire3:0w1;wire1:0w2;assignw1=sel0?
22、d_in7,d_in5,d_in3,d_in1:d_in6,d_in4,d_in2,d_in0;assignw2=sel1?w13,w11:w12,w10;assignd_out=sel2?w21:w20;endmodule认识到了贫困户贫困的根本原因,才能开始对症下药,然后药到病除。近年来国家对扶贫工作高度重视,已经展开了“精准扶贫”项目(2)抽象描述方式对于多路选择器的设计,可以采用“case”语句直接进行设计,在这种设计方式中,只需考虑选择信号列表,就可以实现功能更为复杂的数据选择器。12/29/202224MicroelectronicsSchoolXidianUniversitymo
23、dulemux8to1(out,sel,data_in);outputout;input7:0data_in;input3:0sel;regout;always(data_inorsel)case(sel)3b000:out=data_in0;3b001:out=data_in1;3b010:out=data_in2;3b011:out=data_in3;3b100:out=data_in4;3b101:out=data_in5;3b110:out=data_in6;3b111:out=data_in7;endcase认识到了贫困户贫困的根本原因,才能开始对症下药,然后药到病除。近年来国家对扶
24、贫工作高度重视,已经展开了“精准扶贫”项目4.2.4数字编码器用文字、符号或数码表示特定对象的过程称为编码。在数字电路中用二进制代码表示有关的信号称为二进制编码。实现编码操作的电路叫做编码器。例4.2-6:3位二进制8-3线编码器用n位二进制代码对N=2n个一般信号进行编码的电路,叫做二进制编码器。例如n=3,可以对8个一般信号进行编码。这种编码器有一个特点:任何时刻只允许输入一个有效信号,不允许同时出现两个或两个以上的有效信号。12/29/202225MicroelectronicsSchoolXidianUniversity右图是3位二进制8线3线编码器框图认识到了贫困户贫困的根本原因,才
25、能开始对症下药,然后药到病除。近年来国家对扶贫工作高度重视,已经展开了“精准扶贫”项目3位二进制8线3线编码器真值表12/29/202226MicroelectronicsSchoolXidianUniversity输入输出I0I1I2I3I4I5I6I7F2F1F01000000000001000000001001000000100001000001100001000100000001001010000001011000000001111modulecode_8to3(F,I);output2:0F;input7:0I;reg2:0F;always(I)case(I)8b00000001:F
26、=3b000;8b00000010:F=3b001;8b00000100:F=3b010;8b00001000:F=3b011;8b00010000:F=3b100;8b00100000:F=3b101;8b01000000:F=3b110;8b10000000:F=3b111;default:F=3bx;endcaseendmodule认识到了贫困户贫困的根本原因,才能开始对症下药,然后药到病除。近年来国家对扶贫工作高度重视,已经展开了“精准扶贫”项目例4.2-7:8线3线优先编码器二进制编码器电路要求任何时刻只有一个输入有效,若同时有两个或更多个输入信号有效时,将造成输出混乱状态,因此在使
27、用过程中有一定局限性。为了克服对于输入信号的要求,一种方法是采用优先编码器。优先编码器允许多个输入信号同时有效,但它只按其中优先级别最高的有效输入信号编码,对级别低的输入信号不予理睬。12/29/202227MicroelectronicsSchoolXidianUniversity认识到了贫困户贫困的根本原因,才能开始对症下药,然后药到病除。近年来国家对扶贫工作高度重视,已经展开了“精准扶贫”项目8线3线优先编码器功能表12/29/202228MicroelectronicsSchoolXidianUniversity输 入输 出1xxxxXxxx111110 xxxxXxx0000100
28、xxxxXx01001100 xxxxX011010100 xxxx0111011100 xxx01111100100 xx011111101100 x0111111110100011111111111001111111111101功能表说明:=1时,电路处于禁制工作状态,此时无论8个输入为何种状态,三个输出端均为高电平,和也为高电平,编码器不工作。当=0时,电路处于正常工作状态,允许当中同时几个输入端为低电平,即同时有几路编码输入信号有效。在8个输入中,的优先权最高,的优先权最低。认识到了贫困户贫困的根本原因,才能开始对症下药,然后药到病除。近年来国家对扶贫工作高度重视,已经展开了“精准扶贫
29、”项目表中出现的3种输出=111的情况可以用和的不同状态来区别,即如果=111且=10,则表示电路处于工作状态而且有编码信号输入;如果=111且=01,则表示电路处于工作状态但没有输入编码信号。由于没有输入编码信号时=0,因此也可以称为“无编码输入”信号。12/29/202229MicroelectronicsSchoolXidianUniversitymodulemux8to3_p(data_out,Ys,Yex,sel,data_in);output2:0data_out;outputYs,Yex;input7:0data_in;inputsel;reg2:0data_out;regYs,
30、Yex;always(data_inorsel)if(sel)data_out,Ys,Yex=3b111,1b1,1b1;elsebegincasex(data_in)8b0?:data_out,Ys,Yex=3b000,1b1,1b0;8b10?:data_out,Ys,Yex=3b001,1b1,1b0;8b110?:data_out,Ys,Yex=3b010,1b1,1b0;8b1110?:data_out,Ys,Yex=3b011,1b1,1b0;8b11110?:data_out,Ys,Yex=3b100,1b1,1b0;8b111110?:data_out,Ys,Yex=3b101
31、,1b1,1b0;8b1111110?:data_out,Ys,Yex=3b110,1b1,1b0;8b11111110:data_out,Ys,Yex=3b111,1b1,1b0;8b11111111:data_out,Ys,Yex=3b111,1b0,1b1;endcaseendendmodule认识到了贫困户贫困的根本原因,才能开始对症下药,然后药到病除。近年来国家对扶贫工作高度重视,已经展开了“精准扶贫”项目例4.2-8:二进制转化十进制8421BCD编码器将十进制数0、1、2、3、4、5、6、7、8、9等十个信号编成二进制代码的电路叫做二进制转化十进制编码器。它的输入是代表09这10
32、个数子的状态信息,有效信号为1(即某信号为1时,则表示要对它进行编码),输出是相应的BCD码,因此也称10线4线编码器。它和二进制编码器特点一样,任何时刻只允许输入一个有效信号。12/29/202230MicroelectronicsSchoolXidianUniversity认识到了贫困户贫困的根本原因,才能开始对症下药,然后药到病除。近年来国家对扶贫工作高度重视,已经展开了“精准扶贫”项目8421BCD码编码表12/29/202231MicroelectronicsSchoolXidianUniversity十进制数十进制数DCBA0(Y0)00001(Y1)00012(Y2)00103(
33、Y3)00114(Y4)01005(Y5)01016(Y6)01107(Y7)01118(Y8)10009(Y9)1001moduleBCD8421(data_out,data_in);output3:0data_out;input8:0data_in;reg3:0data_out;always(data_in)case(data_in)9b000000000:data_out=4b0000;9b000000001:data_out=4b0001;9b000000010:data_out=4b0010;9b000000100:data_out=4b0011;9b000001000:data_o
34、ut=4b0100;9b000010000:data_out=4b0101;9b000100000:data_out=4b0110;9b001000000:data_out=4b0111;9b010000000:data_out=4b1000;9b100000000:data_out=4b1001;default:data_out=4b0000;endcaseendmodule认识到了贫困户贫困的根本原因,才能开始对症下药,然后药到病除。近年来国家对扶贫工作高度重视,已经展开了“精准扶贫”项目例4.2-9:8421BCD十进制余3编码器和8421BCD编码一样,余3码是也一种BCD编码,这种编
35、码的特点是,余3码作十进制加法运算的时候,若2数之和是10,正好等于二进制数的16,于是便从高位自动产生进位信号,因此可以使用余3码简化计算。余3码是8421BCD码加3,并将其转换为等价二进制数就得到了该十进制数的余3码。余3码编码表:12/29/202232MicroelectronicsSchoolXidianUniversity十进制数8421BCD码余000000011100010100200100101300110110401000111501011000601101001701111010810001011910011100认识到了贫困户贫困的根本原因,才能开始对症下药,然后药到
36、病除。近年来国家对扶贫工作高度重视,已经展开了“精准扶贫”项目12/29/202233MicroelectronicsSchoolXidianUniversitymodulecode_change(B_out,B_in);output3:0B_out;input3:0B_in;assignB_out=B_in+2b11;endmodule认识到了贫困户贫困的根本原因,才能开始对症下药,然后药到病除。近年来国家对扶贫工作高度重视,已经展开了“精准扶贫”项目4.2.5数字译码器译码是编码的逆过程,它将二进制代码所表示的信息翻译成相应的状态信息。实现译码功能的电路成为译码器。12/29/202234
37、MicroelectronicsSchoolXidianUniversity图为2线4线译码器的逻辑电路及逻辑符号。图中A1,A0为地址输入端,A1为高位。、为状态信号输出端,非号表示低点平有效。E为使能端(或称选通控制端),低电平有效。当E=0时,允许译码器工作,中只允许一个为有效电平输出;当E=1时,禁制译码器工作,所有输出均为高电平。一般使能端有两个用途:一是可以引入选通脉冲,以抑制冒险脉冲的发生;二是可以用来扩展输入变量数(功能扩展)。认识到了贫困户贫困的根本原因,才能开始对症下药,然后药到病除。近年来国家对扶贫工作高度重视,已经展开了“精准扶贫”项目2线4线译码器功能表从表还可以看出
38、,当E=0时,2线4线译码器的输出函数分别为:,如果用表示i端的输出,mi表示输入地址变量A1,A0的一个最小项,则输出函数可写成(i=0,1,2,3)可见,译码器的每一个输出函数对应输入变量的一组取值,当使能端有效(E=0)时,它正好是输入变量最小项的非。因此变量译码器也称最小项发生器。12/29/202235MicroelectronicsSchoolXidianUniversityEA1A21XX 1 1 1 1000 0 1 1 1001 1 0 1 1010 1 1 0 1011 1 1 1 0认识到了贫困户贫困的根本原因,才能开始对症下药,然后药到病除。近年来国家对扶贫工作高度重视
39、,已经展开了“精准扶贫”项目12/29/202236MicroelectronicsSchoolXidianUniversitymoduledecode_2to4(Y,E,A);output3:0Y;input1:0A;inputE;assignY0=(E&A1&A0);assignY1=(E&A1&A0);assignY2=(E&A1&A0);assignY3=(E&A1&A0);endmodule也可以采用抽象描述方式进行设计,VerilogHDL程序代码是:moduledecode_2to4(Y,E,A);output3:0Y;input1:0A;inputE;reg3:0Y;alway
40、s(EorA)case(E,A)3b1?:Y=4b0000;3b000:Y=4b0001;3b001:Y=4b0010;3b010:Y=4b0100;3b011:Y=4b1000;default:Y=4b0000;endcaseendmodule认识到了贫困户贫困的根本原因,才能开始对症下药,然后药到病除。近年来国家对扶贫工作高度重视,已经展开了“精准扶贫”项目4.2.6奇偶校验器奇偶校验器的功能是检测数据中包含“1”的个数是奇数还是偶数。在计算机和一些数字通信系统中,常用奇偶校验器来检查数据传输和数码记录中是否存在错误。奇偶校验包含两种方式:奇校验和偶校验。奇校验保证传输数据和校验位中“1”
41、的总数为奇数。如果数据中包含奇数个“1”,则校验位置“0”,如果数据中包含偶数个“1”,则校验位置“1”。偶校验保证传输数据和校验位中“1”的总数为偶数。如果数据中包含奇数个“1”,则校验位置“1”,如果数据中包含偶数个“1”,则校验位置“0”。奇偶校验只能检测部分传输错误,它不能确定错误发生在哪位或哪几位,所以不能进行错误校正。当数据发生错误时只能重新发送数据。12/29/202237MicroelectronicsSchoolXidianUniversity认识到了贫困户贫困的根本原因,才能开始对症下药,然后药到病除。近年来国家对扶贫工作高度重视,已经展开了“精准扶贫”项目例4.2-10:
42、8bits奇偶校验器8bits奇偶校验器的原理图如图所示:图中,校验器的输入b0b7由7bits数据和1bit校验位组成。FOD为判奇输出,FEV为判偶输出。当采用奇校验时,FOD=1,FEV=0;当采用偶校验时,FOD=0,FEV=1。12/29/202238MicroelectronicsSchoolXidianUniversity认识到了贫困户贫困的根本原因,才能开始对症下药,然后药到病除。近年来国家对扶贫工作高度重视,已经展开了“精准扶贫”项目12/29/202239MicroelectronicsSchoolXidianUniversity(a)结构性描述代码:modulecheck
43、er(Fod,Fev,b);outputFod,Fev;input7:0b;wirew1,w2,w3,w4,w5,w6;xorU1(w1,b0,b1);xorU2(w2,b2,b3);xorU3(w3,b4,b5);xorU4(w4,b6,b7);xorU5(w5,w1,w2);xorU6(w6,w3,w4);xorU7(Fod,w5,w6);notU8(Fev,Fod);endmodule(b)采用抽象性描述代码:modulechecker(Fod,Fev,b);outputFod,Fev;input7:0b;assignFod=b;assignFev=Fod;endmodule认识到了贫困
44、户贫困的根本原因,才能开始对症下药,然后药到病除。近年来国家对扶贫工作高度重视,已经展开了“精准扶贫”项目4.3 时序电路设计时序电路设计与组合逻辑电路不同,时序逻辑电路的输出不仅与当前时刻输入变量的取值有关,而且与电路的原状态,即与过去的输入情况有关。时序逻辑电路有两个特点:时序逻辑电路有两个特点:(1)时序逻辑电路包括组合逻辑电路和存储电路两部分,存储电路具有记忆功能,通常由触发器组成;(2)存储电路的状态反馈到组合逻辑电路输入端,与外部输入信号共同决定组合逻辑电路的输出。12/29/202240MicroelectronicsSchoolXidianUniversity认识到了贫困户贫困
45、的根本原因,才能开始对症下药,然后药到病除。近年来国家对扶贫工作高度重视,已经展开了“精准扶贫”项目12/29/202241MicroelectronicsSchoolXidianUniversity同步时序电路设计流程:认识到了贫困户贫困的根本原因,才能开始对症下药,然后药到病除。近年来国家对扶贫工作高度重视,已经展开了“精准扶贫”项目例4.3-1:用VerilogHDL设计一个“111”的序列检测器,当输入三个或三个以上“1”时,电路输出为1,否则为0。(1)状态转移图方法S0:初始状态,表示电路还没有收到一个有效的1。S1:表示电路收到了一个1。S2:表示电路收到了连续两个1。S3:表示
46、电路收到了连续三个1。12/29/202242MicroelectronicsSchoolXidianUniversity认识到了贫困户贫困的根本原因,才能开始对症下药,然后药到病除。近年来国家对扶贫工作高度重视,已经展开了“精准扶贫”项目12/29/202243MicroelectronicsSchoolXidianUniversitymodulechecker(z,x,clk);parameters0=2b00,s1=2b01,s2=2b11,s3=2b10;outputz;inputx,clk;reg1:0state,next_state;regz;always(posedgeclk)c
47、ase(state)s0:if(x)beginnext_state=s1;z=0;endelsebeginnext_state=s0;z=0;ends1:if(x)beginnext_state=s2;z=0;endelsebeginnext_state=s0;z=0;ends2:if(x)beginnext_state=s3;z=1;endelsebeginnext_state=s0;z=0;ends3:if(x)beginnext_state=s3;z=1;endelsebeginnext_state=s0;z=0;endendcasealways(posedgeclk)state=nex
48、t_state;endmodule认识到了贫困户贫困的根本原因,才能开始对症下药,然后药到病除。近年来国家对扶贫工作高度重视,已经展开了“精准扶贫”项目(2)基于状态化简的结构性描述方法对状态转移图化简,仅剩三个状态,需要两位二进制表示,即需要两个D触发器储存状态。设Q1表示高位寄存器的输出,Q0表示地位寄存器的输出。将状态的跳转以及输出Z用卡诺图表的形式示出,如下:12/29/202244MicroelectronicsSchoolXidianUniversity认识到了贫困户贫困的根本原因,才能开始对症下药,然后药到病除。近年来国家对扶贫工作高度重视,已经展开了“精准扶贫”项目由卡诺图可以
49、得出电路的输出方程和状态方程:12/29/202245MicroelectronicsSchoolXidianUniversityQ1n+1=Q0Q0n+1=XZ=Q1Q0X/序列检测器模块modulechecker(z,x,clk);outputz;inputx,clk;wirew1,w2;DFFU1(.clk(clk),.D(x),.Q(w1);DFFU2(.clk(clk),.D(w1),.Q(w2);assignz=x&w1&w2;endmodule/D触发器模块moduleDFF(Q,D,clk);outputQ;inputD,clk;regQ;always(posedgeclk)Q
50、=D;endmodule认识到了贫困户贫困的根本原因,才能开始对症下药,然后药到病除。近年来国家对扶贫工作高度重视,已经展开了“精准扶贫”项目(3)VerilogHDL抽象性描述方法在VerilogHDL中还可以对电路进行抽象的描述。实现序列“111”的检测,可以使用一个三位的移位寄存器,将输出X作为移位寄存器的输出,当寄存器中为111时,输出Z为1。12/29/202246MicroelectronicsSchoolXidianUniversityVerilogHDL程序代码是:modulechecker(z,x,clk);outputz;inputx,clk;reg2:0q;regz;al