您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > Verilog-HDL复习题
聂雄题型介绍:一、选择题(每小题2分,共20分)1.在verilog中,下列语句哪个不是分支语句?(d)161(A)if-else(B)case(C)casez(D)repeat循环2.下列哪些的不属于基本门级元件(d)136(A)nand(B)nor(C)and(D)RAM3.已知“a=1b’1;b=3b'001;”那么{a,b}=(c)120131(A)4b'0011(B)3b'001(C)4b'1001(D)3b'101…………其它略……….二、填空题(每小题2分,共10分)1.完整的条件语句将产生组合电路,不完整的条件语句将产生时序电路。2.阻塞性赋值符号为=,非阻塞性赋值符号为《=。…………其它略……….三、简答题:(每小题5分,共20分)1.结构化描述可以通过哪几种方式进行结构建模?(5分)1172.FPGA芯片主流的生产厂家有哪3家?每个厂家列举2个型号芯片,并说明它所具有的逻辑门数量和IO端口数量。(5分)…………其它略……….五、阅读程序并填空(每小题5分,共10分)1.Verilog代码如下:moduleINST2(yout,addr);output[7:0]yout;input[2:0]addr;assignyout[0]=((~addr[2])&(~addr[1])&(~addr[0]));assignyout[1]=((~addr[2])&(~addr[1])&(addr[0]));assignyout[2]=((~addr[2])&(addr[1])&(~addr[0]));assignyout[3]=((~addr[2])&(addr[1])&(addr[0]));assignyout[4]=((addr[2])&(~addr[1])&(~addr[0]));assignyout[5]=((addr[2])&(~addr[1])&(addr[0]));assignyout[6]=((addr[2])&(addr[1])&(~addr[0]));assignyout[7]=((addr[2])&(addr[1])&(addr[0]));endmodule该元件的功能是:____________3-8译码器高电平有效141__________(8分)Assign语句属于_______________116__________(并行语句,顺序语句)。(2分)…………其它略……….六、设计题(每小题10分,共40分)1.使用Verilog语言,设计一个带有异步复位控制端的100进制计数器。(10分)1862.基于Verilog语言设计一个8选一数据选择器,写出Verilog代码。(10分)180moduleoption(a,b,c,d,e,f,g,h,s0,s1,s2,out);input[2:0]a,b,c,d,e,f,g,h;inputs0,s1,s2;output[2:0]out;reg[2:0]out;always@(aorborcordoreorforgorhors0ors1ors2)begincase({s0,s1,s2})3'd0:out=a;3'd1:out=b;3'd2:out=c;3'd3:out=d;3'd4:out=e;3'd5:out=f;3'd6:out=g;3'd7:out=h;endcaseendendmodule…………其它略……….网上试题:填空:1.已知x=4’b1001,y=4’0110,则x的4位补码为4’b1111,而y的4位的补码为4’b0110?2.在case语句中至少要有一条default语句。3.两个进程之间是并行语句。而在Always中的语句则是顺序语句4.用EDA技术进行电子系统设计的目标是最终完成ASIC的设计与实现。5.可编程器件分为FPGA和CPLD。6.随着EDA技术的不断完善与成熟,自顶向下的设计方法更多的被应用于VerilogHDL设计当中。7.目前国际上较大的PLD器件制造公司有Altera和Xilinx公司。8.Verilog的基本设计单元是模块。它是由两部分组成,一部分描述接口;另一部分描述逻辑功能,即定义输入是如何影响输出的。9.用assign描述的语句我们一般称之为组合逻辑,并且它们是属于并行语句,即于语句的书写次序无关。而用always描述的语句我们一般称之为组合逻辑或时序逻辑,并且它们是属于串行语句,即于语句的书写有关。选择:1.大规模可编程器件主要有FPGA、CPLD两类,下列对FPGA结构与工作原理的描述中,正确的是C。A.FPGA全称为复杂可编程逻辑器件;B.FPGA是基于乘积项结构的可编程逻辑器件;C.基于SRAM的FPGA器件,在每次上电后必须进行一次配置;D.在Altera公司生产的器件中,MAX7000系列属FPGA结构。2.基于EDA软件的FPGA/CPLD设计流程为:原理图/HDL文本输入→___→__→。综合→适配→编程下载→硬件测试。正确的是B①功能仿真②时序仿真③逻辑综合④配置⑤分配管脚A.③①B.①⑤C.④⑤D.④②3.子系统设计优化,主要考虑提高资源利用率减少功耗(即面积优化),以及提高运行速度(即速度优化);指出下列哪些方法是面积优化①流水线设计②资源共享③逻辑优化④串行化⑤寄存器配平⑥关键路径法A.①③⑤B.②③④C.②⑤⑥D.①④⑥4.下列标识符中,____A____是不合法的标识符。A.9moonB.State0C.Not_Ack_0D.signall5.下列语句中,不属于并行语句的是:___D____A.过程语句B.assign语句C.元件例化语句D.case语句英文解释:ASIC专用集成电路,RTL寄存器传输级,FPGA现场可编程门阵列,SOPC可编程片上系统,CPLD复杂可编程逻辑器件,LPM参数可定制宏模块库,EDA电子设计自动化,IEEE电子电气工程师协会,IP知识产权核,ISP在系统可编程。简答:1、简要说明仿真时阻塞赋值与非阻塞赋值的区别。答:非阻塞(non-blocking)赋值方式(b=a):b的值被赋成新值a的操作,并不是立刻完成的,而是在块结束时才完成;块内的多条赋值语句在块结束时同时赋值;硬件有对应的电路。阻塞(blocking)赋值方式(b=a):b的值立刻被赋成新值a;完成该赋值语句后才能执行下一句的操作;硬件没有对应的电路,因而综合结果未知。2简述有限状态机FSM分为哪两类?有何区别?有限状态机的状态编码风格主要有哪三种?FSM的三段式描述风格中,三段分别描述什么?答:Mearly型,Moore型;前者与输入与当前状态有关,而后者只和当前状态有关;Binary,Gray,One-Hot编码;分别为状态保存,状态切换,输出;3.Reg型和wire型信号有什么本质的区别?Reg型信号的初始值一般是什么?答:Reg型信号用于进程语句中,并且其语句是顺序语句;而wire型信号则用于模块中,并且其语句是并发语句;Reg型信号的初始值一般为左边值,即0。4.怎样理解在进程语句中,阻塞语句没有延迟这句话?答:这是因为,在进程语句中,有阻塞语句和非阻塞语句这两种,非阻塞语句是有延迟的,而阻塞语句它也是有延迟的,这是因为因果系统都有延迟的,只是阻塞语句的延迟比非阻塞语句的延迟小若干个数量级,因此可视为没有延迟。5.在进程中什么情况下综合为时序电路?什么情况下综合为组合电路?答:在进程中只有当敏感信号是沿触发(即上升沿或下降沿)时,此时综合为时序电路;而在进程中只有当敏感信号是电平沿触发时,此时综合为组合电路。程序注解与编程:moduleAAA(a,b);定义模块名为AAA,端口为a,boutputa;定义a为输出端口input[6:0]b;定义b为输出端口,b为7位二进制数reg[2:0]sum;sum为reg型变量,用于统计赞成的人数integeri;定义整型变量i为循环控制变量rega;定义a为寄存器变量always@(b)过程语句,敏感变量为bbegin语句块sum=0;sum初值为0for(i=0;i=6;i=i+1)for语句,统计b为1的个数if(b[i])条件语句sum=sum+1;只要有人投赞成票,则sum加1if(sum[2])a=1;若超过4人赞成,则表决通过elsea=0;若不到4人,则不通过endendmodule本程序的逻辑功能是:7人投票表决器1.试用VerilogHDL描述一个带进位输入、输出的8位全加器。端口:A、B为加数,CIN为进位输入,S为和,COUT为进位输出moduleadd4v(a,b,ci,s,co);input[3:0]a;input[3:0]b;inputci;output[3:0]s;outputco;wire[3:0]carry;functionfa_s(inputa,inputb,inputci);fa_s=a^b^ci;assigns[0]=fa_s(a[0],b[0],ci);assigncarry[0]=fa_c(a[0],b[0],ci);assigns[1]=fa_s(a[1],b[1],carry[0]);assigncarry[1]=fa_c(a[1],b[1],carry[0]);assigns[2]=fa_s(a[2],b[2],carry[1]);assigncarry[2]=fa_c(a[2],b[2],carry[1]);assigns[3]=fa_s(a[3],b[3],carry[2]);assignco=fa_c(a[3],b[3],carry[2]);endmoduleendfunction2.编写一个带异步清零、异步置位的D触发器。3.设计一个带有异步复位控制端和时钟使能控制端的10进制计数器。mduleCNT10(CLK,RST,EN,LOAD,COUT,DOUT,DATA);inputCLK;inputEN;inputRSTinputLOAD;input[3:0]DATA;output[3:0]DOUT;outputCOUT;reg[3:0]Q1;regCOUT;assignDOUT=Q1;always@(posedgeCLKornegedgeRST)beginif(!RST)Q1=0;elseif(EN)Beginif(!LOAD)Q1=DATA;elseif(Q19)Q1=Q1+1;elseQ1=4'b0000;Endendalways@(Q1)if(Q1==4'h9)COUT=1'b1;elseCOUT=1'b0;Endmodule4,编程实现带异步清0、异步置1的D触发器。moduleDFF1(q,qn,d,clk,set,reset);inputd,clk,set,reset;outputq,qn;regq,qn;always@(posedgeclkornegedgesetornegedgereset)beginif(!reset)beginq=0;//异步清0,低电平有效qn=1;endelseif(!set)beginq=1;//异步置1,低电平有效qn=0;endelsebeginq=d;qn=~d;endendendmodule5.编程实现带同步清0、同步置1的D触发器。moduleDFF2(q,qn,d,clk,set,reset);inputd,clk,set,reset;outputq,qn;regq,qn;always@(posedgeclk)beginif(reset)beginq=0;qn=1;//同步清0,高电平有效endelseif(set)beginq=1;qn=0;//同步置1,高电平有效endelsebeginq=d;qn=~d;endendendmodule
本文标题:Verilog-HDL复习题
链接地址:https://www.777doc.com/doc-1432543 .html