常见面试笔试题-verilog程序库
2023年常见面试笔试题verilog程序库

加减法module addsub( input [7:0] dataa,input [7:0] datab,input add_sub, // if this is 1, add; else subtractinput clk,output reg [8:0] result );always @ (posedge clk)beginif (add_sub) result <= dataa + datab; //or "assign {cout,sum}=dataa+datab;"else result <= dataa - datab;endendmodule四位旳全加法器.module add4(cout,sum,a,b,cin)input[3:0]a,b; input cin;output [3:0] sum; output cout;assign {cout,sum}=a+b+cin;endmodule补码不仅可以执行正值和负值转换,其实补码存在旳意义,就是防止计算机去做减法旳操作。
1101 -3 补+ 1000 801015假设-3 + 8,只要将-3 转为补码形式,亦即0011 => 1101,然后和8,亦即1000 相加就会得到5,亦即0101。
至于溢出旳最高位可以忽视掉。
乘法器module mult(outcome,a,b);parameter SIZE=8;input[SIZE:1] a,b;output reg[2*SIZE:1] outcome;integer i;always @(a or b)begin outcome<=0;for(i=0,i<=SIZE;i=i+1)if(b[i]) outcome<=outcome+(a<<(i-1));endendmodule另一种乘法器。
在初始化之际,取乘数和被乘数旳正负关系,然后取被乘数和乘数旳正值。
FPGA工程师面试试题

FPGA工程师面试试题FPGA工程师面试试题001、同步电路和异步电路的区别是什么?(仕兰微电子)2、什么是同步逻辑和异步逻辑?(汉王笔试)同步逻辑是时钟之间有固定的因果关系.异步逻辑是各时钟之间没有固定的因果关系.3、什么是线与逻辑是两个输出信号相连可以实现与的功能.在硬件上,要用oc门来实现,由于不用 oc门可能使灌电流过大,而烧坏逻辑门. 同时在输出端口应加一个上拉电阻.4、什么是Setup 和Holdup时间?(汉王笔试)5、setup和holdup时间,区别.(南山之桥)6、解释setup time和hold time的定义和在时钟信号延迟时的变化.(未知)7、解释setup和hold time violation,画图说明,并说明解决办法.(威盛VIA2003.11.06 上海笔试试题)Setup/hold time 是测试芯片对输入信号和时钟信号之间的时间要求.建立时间是指触发器的时钟信号上升沿到来以前,数据稳定不变的时间.输入信号应提前时钟上升沿(如上升沿有效)T 时间到达芯片,这个T就是建立时间-Setup time.如不满足setup time,这个数据就不能被这一时钟打入触发器,只有在下一个时钟上升沿,数据才能被打入触发器. 保持时间是指触发器的时钟信号上升沿到来以后,数据稳定不变的时间.如果hold time 不够,数据同样不能被打入触发器.建立时间 (Setup Time)和保持时间(Hold time).建立时间是指在时钟边沿前,数据信号需要保持不变的时间.保持时间是指时钟跳变边沿后数据信号需要保持不变的时间.如果不满足建立和保持时间的话,那么DFF将不能正确地采样到数据,将会出现 metastability的情况.如果数据信号在时钟沿触发前后持续的时间均超过建立和保持时间,那么超过量就分别被称为建立时间裕量和保持时间裕量.8、说说对数字逻辑中的竞争和冒险的理解,并举例说明竞争和冒险怎样消除.(仕兰微电子)9、什么是竞争与冒险现象?怎样判断?如何消除?(汉王笔试)在组合逻辑中,由于门的输入信号通路中经过了不同的延时,导致到达该门的时间不一致叫竞争.产生毛刺叫冒险.如果布尔式中有相反的信号则可能产生竞争和冒险现象.解决方法:一是添加布尔式的消去项,二是在芯片外部加电容.10、你知道那些常用逻辑电平?TTL与COMS电平可以直接互连吗?(汉王笔试)常用逻辑电平:12V,5V,3.3V;TTL和CMOS不可以直接互连,由于TTL是在0.3-3.6V之间,而CMOS则是有在12V的有在5V 的.CMOS输出接到TTL是可以直接互连.TTL接到CMOS需要在输出端口加一上拉电阻接到5V或者12V.11、如何解决亚稳态.(飞利浦-大唐笔试)亚稳态是指触发器无法在某个规定时间段内达到一个可确认的状态.当一个触发器进入亚稳态时,既无法预测该单元的输出电平,也无法预测何时输出才能稳定在某个正确的电平上.在这个稳定期间,触发器输出一些中间级电平,或者可能处于振荡状态,并且这种无用的输出电平可以沿信号通道上的各个触发器级联式传播下去.12、IC设计中同步复位与异步复位的区别.(南山之桥)13、MOORE 与 MEELEY状态机的特征.(南山之桥)14、多时域设计中,如何处理信号跨时域.(南山之桥)15、给了reg的setup,hold时间,求中间组合逻辑的delay范围.(飞利浦-大唐笔试)Delay16、时钟周期为T,触发器D1的建立时间最大为T1max,最小为T1min.组合逻辑电路最大延迟为T2max,最小为T2min.问,触发器D2的建立时间T3和保持时间应满足什么条件.(华为)17、给出某个一般时序电路的图,有Tsetup,Tdelay,Tck->q,还有 clock的delay,写出决定最大时钟的因素,同时给出表达式.(威盛VIA 2003.11.06 上海笔试试题)18、说说静态、动态时序模拟的优缺点.(威盛VIA2003.11.06 上海笔试试题)19、一个四级的Mux,其中第二级信号为关键信号如何改善timing.(威盛VIA2003.11.06 上海笔试试题)20、给出一个门级的图,又给了各个门的传输延时,问关键路径是什么,还问给出输入, 使得输出依赖于关键路径.(未知)21、逻辑方面数字电路的卡诺图化简,时序(同步异步差异),触发器有几种(区别,优点),全加器等等.(未知)22、卡诺图写出逻辑表达使.(威盛VIA 2003.11.06 上海笔试试题)23、化简F(A,B,C,D)= m(1,3,4,5,10,11,12,13,14,15)的和.(威盛)24、please show the CMOS inverter schmatic,layout and its cross sectionwith P-well process.Plot its transfer curve (Vout-Vin) And also explain theoperation region of PMOS and NMOS for each segment of the transfer curve? (威盛笔试题circuit design-beijing-03.11.09)25、To design a CMOS invertor with balance rise and fall time,please definethe ration of channel width of PMOS and NMOS and explain?26、为什么一个标准的倒相器中P管的宽长比要比N管的宽长比大?(仕兰微电子)27、用mos管搭出一个二输入与非门.(扬智电子笔试)28、please draw the transistor level schematic of a cmos 2 input AND gate andexplain which input has faster response for output rising edge.(less delaytime).(威盛笔试题circuit design-beijing-03.11.09)29、画出NOT,NAND,NOR的符号,真值表,还有transistor level的电路.(Infineon笔试)30、画出CMOS的图,画出tow-to-one mux gate.(威盛VIA 2003.11.06 上海笔试试题)31、用一个二选一mux和一个inv实现异或.(飞利浦-大唐笔试)32、画出Y=A*B+C的cmos电路图.(科广试题)33、用逻辑们和cmos电路实现ab+cd.(飞利浦-大唐笔试)34、画出CMOS电路的晶体管级电路图,实现Y=A*B+C(D+E).(仕兰微电子)35、利用4选1实现F(x,y,z)=xz+yz’.(未知)36、给一个表达式f=xxxx+xxxx+xxxxx+xxxx用最少数量的与非门实现(实际上就是化简).37、给出一个简单的由多个NOT,NAND,NOR组成的原理图,根据输入波形画出各点波形. (Infineon笔试)38、为了实现逻辑(A XOR B)OR (C AND D),请选用以下逻辑中的一种,并说明为什么?1)INV 2)AND 3)OR 4)NAND 5)NOR 6)XOR 答案:NAND(未知)39、用与非门等设计全加法器.(华为)40、给出两个门电路让你分析异同.(华为)41、用简单电路实现,当A为输入时,输出B波形为…(仕兰微电子)42、A,B,C,D,E进行投票,多数服从少数,输出是F(也就是如果A,B,C,D,E中1的个数比0 多,那么F输出为1,否则F为0),用与非门实现,输入数目没有限制.(未知)43、用波形表示D触发器的功能.(扬智电子笔试)44、用传输门和倒向器搭一个边沿触发器.(扬智电子笔试)45、用逻辑们画出D触发器.(威盛VIA 2003.11.06 上海笔试试题)46、画出DFF的结构图,用verilog实现之.(威盛)47、画出一种CMOS的D锁存器的电路图和版图.(未知)48、D触发器和D锁存器的区别.(新太硬件面试)49、简述latch和filp-flop的异同.(未知)50、LATCH和DFF的概念和区别.(未知)51、latch与register的区别,为什么现在多用register.行为级描述中latch如何产生的. (南山之桥)52、用D触发器做个二分颦的电路.又问什么是状态图.(华为)53、请画出用D触发器实现2倍分频的逻辑电路?(汉王笔试)54、怎样用D触发器、与或非门组成二分频电路?(东信笔试)55、How many flip-flop circuits are needed to divide by 16? (Intel) 16分频?56、用filp-flop和logic-gate设计一个1位加法器,输入carryin和current-stage,输出 carryout和next-stage. (未知)57、用D触发器做个4进制的计数.(华为)58、实现N位Johnson Counter,N=5.(南山之桥)59、用你熟悉的设计方式设计一个可预置初值的7进制循环计数器,15进制的呢?(仕兰微电子)60、数字电路设计当然必问Verilog/VHDL,如设计计数器.(未知)61、BLOCKING NONBLOCKING 赋值的区别.(南山之桥)62、写异步D触发器的verilog module.(扬智电子笔试)module dff8(clk , reset, d, q);input clk;input reset;input [7:0] d;output [7:0] q;reg [7:0] q;always @ (posedge clk or posedge reset)if(reset)qelseqendmodule63、用D触发器实现2倍分频的Verilog描述? (汉王笔试) module divide2( clk , clk_o, reset);input clk , reset;output clk_o;wire in;reg out ;always @ ( posedge clk or posedge reset)if ( reset)outelseoutassign in = ~out;assign clk_o = out;endmodule64、可编程逻辑器件在现代电子设计中越来越重要,请问:a) 你所知道的可编程逻辑器件有哪些? b) 试用VHDL或VERILOG、ABLE描述8位D触发器逻辑.(汉王笔试)PAL,PLD,CPLD,FPGA.module dff8(clk , reset, d, q);input clk;input reset;input d;output q;reg q;always @ (posedge clk or posedge reset)if(reset)qelseqendmodule65、请用HDL描述四位的全加法器、5分频电路.(仕兰微电子)66、用VERILOG或VHDL写一段代码,实现10进制计数器.(未知)67、用VERILOG或VHDL写一段代码,实现消除一个glitch.(未知)68、一个状态机的题目用verilog实现(不过这个状态机画的实在比较差,很容易误解的).(威盛VIA 2003.11.06 上海笔试试题)69、描述一个交通信号灯的设计.(仕兰微电子)70、画状态机,接受1,2,5分钱的卖报机,每份报纸5分钱.(扬智电子笔试)71、设计一个自动售货机系统,卖soda水的,只能投进三种硬币,要正确的找回钱数. (1)画出fsm(有限状态机);(2)用verilog编程,语法要符合fpga设计的要求.(未知)72、设计一个自动饮料售卖机,饮料10分钱,硬币有5分和10分两种,并考虑找零:(1) 画出fsm(有限状态机);(2)用verilog编程,语法要符合fpga设计的要求;(3)设计工程中可使用的工具及设计大致过程.(未知)73、画出可以检测10010串的状态图,并verilog实现之.(威盛)74、用FSM实现101101的序列检测模块.(南山之桥)a为输入端,b为输出端,如果a连续输入为1101则b输出为1,否则为0.例如a: [***********]0110b: [***********]0000请画出state machine;请用RTL描述其state machine.(未知)75、用verilog/vddl检测stream中的特定字符串(分状态用状态机写).(飞利浦-大唐笔试)76、用verilog/vhdl写一个fifo控制器(包括空,满,半满信号).(飞利浦-大唐笔试)77、现有一用户需要一种集成电路产品,要求该产品能够实现如下功能:y=lnx,其中,x为4位二进制整数输入信号.y为二进制小数输出,要求保留两位小数.电源电压为3~5v假设公司接到该项目后,交由你来负责该产品的设计,试讨论该产品的设计全程.(仕兰微电子)78、sram,falsh memory,及dram的区别?(新太硬件面试)79、给出单管DRAM的原理图(西电版《数字电子技术基础》杨颂华、冯毛官205页图9-14b),问你有什么办法提高refresh time,总共有5个问题,记不起来了.(降低温度,增大电容存储容量)(Infineon笔试)80、Please draw schematic of a mon SRAM cell with 6 transistors,point outwhich nodes can store data and which node is word line control? (威盛笔试题circuit design-beijing-03.11.09)81、名词:sram,ssram,sdram名词IRQ,BIOS,USB,VHDL,SDRIRQ: Interrupt ReQuestBIOS: Basic Input Output SystemUSB: Universal Serial BusVHDL: VHIC Hardware Description LanguageSDR: Single Data Rate压控振荡器的英文缩写(VCO).动态随机存储器的英文缩写(DRAM).名词解释,无聊的外文缩写罢了,比如PCI、ECC、DDR、interrupt、pipeline、IRQ,BIOS,USB,VHDL,VLSI VCO(压控振荡器) RAM (动态随机存储器),FIR IIR DFT(离散傅立叶变换)或者是中文的,比如:a.量化误差 b.直方图 c.白平FPGA工程师面试试题011 什么是Setup 和Holdup时间?2 什么是竞争与冒险现象?怎样判断?如何消除?3 用D触发器实现2倍分频的逻辑电路? .......4 什么是5 什么是同步逻辑和异步逻辑?6 请画出微机接口电路中,典型的输入设备与微机接口逻辑示意图(数据接口、控制接口、所存器/缓冲器)。
Verilog 考试题目整理

Verilog 考试题目整理1、EDA设计环节过程(1)编译:EDA首先将源HDL模型转变为基本的门级网表(2)映射:EDA为基本门模型分配具体的cell(3)验证:对抽象电路模型进行测试(4)Testbench:为了进行验证,需要单独编写一段HDL代码,建立一个用于测试目的模型。
(5)仿真:EDA软件提供了一种运行Testbench的方法:即按照电路模型机制,生成需要的激励信号并观察和分析模型中的信号。
这种运行抽象模拟的方法称为仿真。
(6)综合前验证:时,Testbench加载的测试模型使是用户PTL模型,而此时验证的内容主要是测试模拟的逻辑性能,因此综合前验证又被称为功能仿真或RTL 仿真,有时也被简单地称为前仿。
(7)综合后验证:时,Testbench加载的测试模型已经是装配后的由基本门描述的模型,即网表,此时验证的内容主要是设计模型的时序性能,因此综合后验证又被称为时序仿真或门及仿真,有时也被简单的称为后防。
2、自顶向下设计与自底向上设计优缺点(1)、传统的电子设计多采用自底向上底设计方法:首先确定最底层的元件和电路模块的功能和结构,再进行组合得到较大得模块。
如此进行,向上递推直至完成整个电路。
此方法中任何一级发生问题,通常都要返工;由于元件供应、改型等得变化往往造成重新设计(2)、现代的EDA设计采用自顶向下的设计方法:从系统功能、结构至各门级连接,从抽象层次逐步具体化。
此方法从最开始逐级仿真、综合便于及早发现问题,即使设计中出现问题也不会从头返工。
缺点是需要先进的工具3、IP核分类4、可编程器件有哪几种(1)PLAProgrammable logic arrays(PLA) 是一种可编程逻辑装置,它的与阵列(AND array)和或阵列(OR array)均为可编程,输出电路为不可组态.又叫做FPLA(field-programmable logic array)(2)PALPAL(Programmable Array Logic)可编程阵列逻辑,是70年代末由MMI公司率先推出的一种低密度,一次性可编程逻辑器件,第一个具有典型实际意义的可编程逻辑器件(PLD-Programmable Logic Device)。
verilog考试题

西安电子科技大学考试时间分钟试题班级学号姓名任课教师一、选择题(每题2分,共18分)1. 下面哪个是可以用verilog语言进行描述,而不能用VHDL语言进行描述的级别?( A )(A) 开关级(B)门电路级(C) 体系结构级(D) 寄存器传输级2.在verilog中,下列语句哪个不是分支语句?( D )(A) if-else (B) case (C) casez (D) repeat3.下列哪些Verilog的基本门级元件是多输出( D )(A) nand (B) nor (C) and (D) not4.Verilog连线类型的驱动强度说明被省略时,则默认的输出驱动强度为( B )(A) supply (B) strong (C) pull (D) weak5.元件实例语句“notif1 #(1:3:4,2:3:4,1:2:4) U1(out,in,ctrl);”中截至延迟的典型值为( B )(A) 1 (B) 2 (C) 3 (D) 46.已知“a =1b’1; b=3b'001;”那么{a,b}=( C )(A) 4b'0011 (B) 3b'001 (C) 4b'1001 (D) 3b'1017.根据调用子模块的不同抽象级别,模块的结构描述可以分为(ABC )(A) 模块级(B)门级(C) 开关级(D) 寄存器级8.在verilog语言中,a=4b'1011,那么&a=(D )(A) 4b'1011 (B) 4b'1111 (C) 1b'1 (D) 1b'09.在verilog语言中整型数据与(C )位寄存器数据在实际意义上是相同的。
(A) 8 (B) 16 (C) 32 (D) 64二、简答题(2题,共16分)1.Verilog HDL语言进行电路设计方法有哪几种(8分)1、自上而下的设计方法(Top-Down)2、自下而上的设计方法(Bottom-Up)3、综合设计的方法2.specparam语句和parameter语句在参数说明方面不同之处是什么(8分)。
Verilog-HDL试卷及答案

reg [7:0] q=8‘b10000000;右边是最低位,q[0]~q[6]为0,q[7]为1q[7:0]<={q[0],q[7:1]}相当于一个循环右移操作,将q[0]的值赋给q[7],q[7]~q[1]依次向右移位一位。
根据前值8‘b10000000,第一个时钟周期后变为8‘b01000000;第二个时钟周期后变为8‘b00100000;类推。
第八个时钟周期后又回到q=8‘b10000000一、选择题:1、下列标示符哪些是合法的(B )A、$timeB、_dateC、8sumD、mux#2、如果线网类型变量说明后未赋值,起缺省值是(D )A、xB、1C、0D、z3、现网中的值被解释为无符号数。
在连续赋值语句中,assign addr[3:0]=-3;addr被赋予的值是( A )//补码!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!A、4’b1101B、4’b0011C、4’bxx11D、4’bzz114、reg[7:0] mema[255:0]正确的赋值是(A )A、mema[5]=3’ d0,B、8’ d0;C、1’ b1;D、mema[5][3:0]=4’ d15、在code模块中参数定义如下,请问top模块中d1模块delay1、delay2的值是( D )module code(x,y); module top;paramee delay1=1,delay2=1; …………….……………………………… code #(1,5) d1(x1,y1);endmodule endmoduleA、(1,1)B、(5,5)C、(5,1)D、(1,5)6、“a=4’ b11001,b=4’ bx110”选出正确的运算结果(B )A、a&b=0B、a&&b=1C、b&a=xD、b&&a=x7、时间尺度定义为timescale 10ns/100ps,选择正确答案(C )A、时间精度10nsB、时间单位100psC、时间精度100psD、时间精度不确定8、若a=9,执行$display(“current value=%0b,a=%0d”,a,a)正确显示为(B )//去除无效0A、current value=1001,a=09B、current vale=1001,a=9C、1001,9D、current vale=00…001001,a=99、always begin #5 clk=0;#10 clk=~clk;end产生的波形( A )//5占15的1/3A、占空比1/3B、clk=1C、clk=0D、周期为1010、在Verilog中定义了宏名 `define sum a+b+c 下面宏名引用正确的是(C )//注意引用A、out=’sum+d;B、out=sum+d;C、out=`sum+d;D、都正确二、填空题:(共15分,每小题3分)1、某一纯组合电路输入为in1,in2和in3,输入出为out,则该电路描述中always的事件表达式应写为always@(in1,in2,in3 );若某一时序电路由时钟clk信号上升沿触发,同步高电平复位信号rst清零,该电路描述中always的事件表达是应该写为always @( posedge clk )。
VerilogHDL试卷及答案

一、选择题:1、下列标示符哪些是合法的(B )A、$timeB、_dateC、8sumD、mux#2、如果线网类型变量说明后未赋值,起缺省值是(D )A、xB、1C、0D、z3、现网中的值被解释为无符号数。
在连续赋值语句中,assign addr[3:0]=-3;addr被赋予的值是(A )//补码!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!A、4’b1101B、4’b0011C、4’bxx11D、4’bzz114、reg[7:0] mema[255:0]正确的赋值是(A )A、mema[5]=3’ d0,B、8’ d0;C、1’ b1;D、mema[5][3:0]=4’ d15、在code模块中参数定义如下,请问top模块中d1模块delay1、delay2的值是( D )module code(x,y); module top;paramee delay1=1,delay2=1; …………….………………………………code #(1,5) d1(x1,y1);endmodule endmoduleA、(1,1)B、(5,5)C、(5,1)D、(1,5)6、“a=4’ b11001,b=4’ bx110”选出正确的运算结果(B )A、a&b=0B、a&&b=1C、b&a=xD、b&&a=x7、时间尺度定义为timescale 10ns/100ps,选择正确答案(C )A、时间精度10nsB、时间单位100psC、时间精度100psD、时间精度不确定8、若a=9,执行$display(“current value=%0b,a=%0d”,a,a)正确显示为(B )//去除无效0A、current value=1001,a=09B、current vale=1001,a=9C、1001,9D、current vale=00…001001,a=99、always begin #5 clk=0;#10 clk=~clk;end产生的波形(A )//5占15的1/3A、占空比1/3B、clk=1C、clk=0D、周期为1010、在Verilog中定义了宏名`define sum a+b+c 下面宏名引用正确的是(C )//注意引用A、out=’sum+d;B、out=sum+d;C、out=`sum+d;D、都正确二、填空题:(共15分,每小题3分)1、某一纯组合电路输入为in1,in2和in3,输入出为out,则该电路描述中always的事件表达式应写为always@(in1,in2,in3 );若某一时序电路由时钟clk信号上升沿触发,同步高电平复位信号rst清零,该电路描述中always的事件表达是应该写为always @( posedge clk )。
Verilog_HDL试卷及答案

reg [7:0] q=8‘b10000000;右边是最低位,q[0]~q[6]为0,q[7]为1q[7:0]<={q[0],q[7:1]}相当于一个循环右移操作,将q[0]的值赋给q[7],q[7]~q[1]依次向右移位一位。
根据前值8‘b10000000,第一个时钟周期后变为8‘b01000000;第二个时钟周期后变为8‘b00100000;类推。
第八个时钟周期后又回到q=8‘b10000000一、选择题:1、以下标示符哪些是合法的〔B 〕A、$timeB、_dateC、8sumD、mux#2、如果线网类型变量说明后未赋值,起缺省值是〔D 〕A、xB、1C、0D、z3、现网中的值被解释为无符号数。
在连续赋值语句中,assign addr[3:0]=-3;addr被赋予的值是〔A 〕//补码!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!A、4’b1101B、4’b0011C、4’bxx11D、4’bzz114、reg[7:0] mema[255:0]正确的赋值是〔A 〕A、mema[5]=3’ d0,B、8’ d0;C、1’ b1;D、mema[5][3:0]=4’ d15、在code模块中参数定义如下,请问top模块中d1模块delay1、delay2的值是( D )module code(x,y); module top;paramee delay1=1,delay2=1; …………….………………………………code #(1,5) d1(x1,y1);endmodule endmoduleA、〔1,1〕B、〔5,5〕C、〔5,1〕D、〔1,5〕6、“a=4’ b11001,b=4’ bx110〞选出正确的运算结果〔B 〕A、a&b=0B、a&&b=1C、b&a=xD、b&&a=x7、时间尺度定义为timescale 10ns/100ps,选择正确答案〔C 〕A、时间精度10nsB、时间单位100psC、时间精度100psD、时间精度不确定8、假设a=9,执行$display(“current value=%0b,a=%0d〞,a,a)正确显示为〔B 〕//去除无效0A、current value=1001,a=09B、current vale=1001,a=9C、1001,9D、current vale=00…001001,a=99、always begin #5 clk=0;#10 clk=~clk;end产生的波形〔A 〕//5占15的1/3A、占空比1/3B、clk=1C、clk=0D、周期为1010、在Verilog中定义了宏名`define sum a+b+c 下面宏名引用正确的选项是〔C 〕//注意引用A、out=’sum+d;B、out=sum+d;C、out=`sum+d;D、都正确二、填空题:〔共15分,每题3分〕1、某一纯组合电路输入为in1,in2和in3,输入出为out,那么该电路描述中always的事件表达式应写为always@(in1,in2,in3 );假设某一时序电路由时钟clk信号上升沿触发,同步高电平复位信号rst清零,该电路描述中always的事件表达是应该写为always @( posedge clk )。
eda试题及答案verilog

eda试题及答案verilog1. 请解释Verilog中的阻塞赋值和非阻塞赋值的区别。
答案:在Verilog中,阻塞赋值使用`=`操作符,表示在赋值时会立即执行,并且赋值操作会阻塞后续语句的执行,直到当前赋值完成。
而非阻塞赋值使用`<=`操作符,表示赋值操作会在当前时间单位的末尾执行,不会阻塞后续语句的执行,允许并行执行。
2. 描述Verilog中模块的实例化过程。
答案:在Verilog中,模块的实例化是通过使用模块名后跟实例名和连接端口的列表来完成的。
实例化过程包括指定模块名、实例名以及将端口连接到适当的信号或参数上。
例如:```verilogmodule my_module(a, b, c);output a, c;input b;// ...endmodule// 实例化my_module instance_name(.out1(a), .out2(c), .in(b));```3. 列出Verilog中的基本数据类型。
答案:Verilog中的基本数据类型包括:- 线网类型(wire)- 寄存器类型(reg)- 实数类型(real)- 整型(integer)- 时间类型(time)- 字符串类型(string)4. 说明Verilog中如何使用条件语句。
答案:在Verilog中,可以使用`if`、`case`和`if-else`等条件语句来实现条件控制。
例如,使用`if`语句:```verilogif (condition) begin// 条件为真时执行的代码end else begin// 条件为假时执行的代码end```5. 解释Verilog中的always块的作用。
答案:Verilog中的always块用于描述硬件的时序逻辑和组合逻辑。
always块可以是时序的(使用时钟信号触发),也可以是非时序的(不依赖于时钟信号)。
时序always块通常用于描述寄存器行为,而非时序always块用于描述组合逻辑。
Verilog_HDL试卷及答案

reg [7:0] q=8‘b10000000;右边是最低位,q[0]~q[6]为0,q[7]为1q[7:0]<={q[0],q[7:1]}相当于一个循环右移操作,将q[0]的值赋给q[7],q[7]~q[1]依次向右移位一位。
根据前值8‘b10000000,第一个时钟周期后变为8‘b01000000;第二个时钟周期后变为8‘b00100000;类推。
第八个时钟周期后又回到q=8‘b10000000一、选择题:1、下列标示符哪些是合法的(B )A、$timeB、_dateC、8sumD、mux#2、如果线网类型变量说明后未赋值,起缺省值是(D )A、xB、1C、0D、z3、现网中的值被解释为无符号数。
在连续赋值语句中,assign addr[3:0]=-3;addr被赋予的值是(A )//补码!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!A、4’b1101B、4’b0011C、4’bxx11D、4’bzz114、reg[7:0] mema[255:0]正确的赋值是(A )A、mema[5]=3’ d0,B、8’ d0;C、1’ b1;D、mema[5][3:0]=4’ d15、在code模块中参数定义如下,请问top模块中d1模块delay1、delay2的值是( D )module code(x,y); module top;paramee delay1=1,delay2=1; …………….………………………………code #(1,5) d1(x1,y1);endmodule endmoduleA、(1,1)B、(5,5)C、(5,1)D、(1,5)6、“a=4’ b11001,b=4’ bx110”选出正确的运算结果(B )A、a&b=0B、a&&b=1C、b&a=xD、b&&a=x7、时间尺度定义为timescale 10ns/100ps,选择正确答案(C )A、时间精度10nsB、时间单位100psC、时间精度100psD、时间精度不确定8、若a=9,执行$display(“current value=%0b,a=%0d”,a,a)正确显示为(B )//去除无效0A、current value=1001,a=09B、current vale=1001,a=9C、1001,9D、current vale=00…001001,a=99、always begin #5 clk=0;#10 clk=~clk;end产生的波形(A )//5占15的1/3A、占空比1/3B、clk=1C、clk=0D、周期为1010、在Verilog中定义了宏名`define sum a+b+c 下面宏名引用正确的是(C )//注意引用A、out=’sum+d;B、out=sum+d;C、out=`sum+d;D、都正确二、填空题:(共15分,每小题3分)1、某一纯组合电路输入为in1,in2和in3,输入出为out,则该电路描述中always的事件表达式应写为always@(in1,in2,in3 );若某一时序电路由时钟clk信号上升沿触发,同步高电平复位信号rst清零,该电路描述中always的事件表达是应该写为always @( posedge clk )。
Verilog复习题

Verilog复习题1.用EDA技术进行电子系统设计的目标是最终完成ASIC的设计与实现。
2.可编程器件分为CPLD和FPGA。
3.随着EDA技术的不断完善与成熟,自顶向下的设计方法更多的被应用于Verilog HDL设计当中。
4.目前国际上较大的PLD器件制造公司有XXX和XXX。
5.完整的条件语句将产生组合电路,不完整的条件语句将产生时序电路。
6.阻塞性赋值符号为=,非阻塞性赋值符号为<=。
7.有限状态机分为XXX和Mealy两种类型。
8.EDA缩写的含义为电子设计自动化(XXX)。
9.状态机常用状态编码有二进制、格雷码和独热码。
10.Verilog HDL中任务可以调用其他任务和函数。
11.系统函数和任务函数的首字符标志为$,预编译指令首字符标志为#。
12.可编程逻辑器件的优化过程主要是对速度和资源的处理过程。
13.大型数字逻辑电路设计采用的IP核有软IP、固IP和硬IP。
选择题:1.已知“a =1b’1.b=3b'001;”那么{a,b}=4b'1001.2.在verilog中,下列语句哪个不是分支语句?repeat。
3.Verilog HDL语言进行电路设计方法有自上而下的设计方法、自下而上的设计方法和综合设计的方法。
4.在verilog语言中,a=4b'1011,那么&a=1b'0.5.在verilog语言中整型数据与32位寄存器数据在实际意义上是相同的。
6.大规模可编程器件主要有FPGA、CPLD两类,下列对FPGA结构与工作原理的描述中,正确的是FPGA由可编程逻辑单元(LE)和可编程互连资源组成,通过配置完成特定的数字电路功能。
有限状态机FSM分为Moore型和Mealy型两类。
Moore 型FSM的输出只与当前状态有关,而Mealy型FSM的输出既与当前状态有关,也与输入有关。
区别在于输出的时刻不同,Moore型的输出在状态变化时就确定,而Mealy型的输出在状态和输入变化时才确定。
Verilog试题2012(A答案)

北京航空航天大学2011 ~2012 学年第二学期 数字EDA 期末考试试卷( 2012 年 5 月 23 日)班级:__________;学号:______________;姓名:__________________;成绩:___________注意事项:1、填空题与选择题直接在试题上作答2、设计题在答题纸上作答正题:一、填空题(共30分,每道题3分)1. 写出表达式以实现对应电路的逻辑功能。
F2. 根据图中输入输出关系将Verilog模块定义补充完整,其中信号A 为5比特宽度,其余信号为1比特宽度。
A 宽3. IEEE 标准的硬件描述语言是 verilog HDL 和 VHDL 。
4. 你所知道的可编程逻辑器件有(至少两种): FPGA, CPLD, GAL, PAL (任写其二) 。
5. 假定某4比特位宽的变量a 的值为4’b1011,计算下列运算表达式的结果6. Verilog 语言规定了逻辑电路中信号的4种状态,分别是0,1,X 和Z 。
其中0表示低电平状态,1表示高电平状态,X 表示 不定态(或未知状态) ,Z 表示 高阻态 。
assign F= E ^ ( (A&B) | (!(C&D)))module tblock( A,B,C ) ; output [4:0] A;input B;inout C; …… //省略了功能描述endmodule //模块结束 &a = 1’b0 ~a = 4’b0100 {3{a}} = 12’b101110111011 {a[2:0],a[3]} = 4’b0111 (a<4’d3) || (a>=a) = 1’b1 !a = 1’b07. 下面两段代码中信号in ,q1,q2和q3的初值分别为0,1,2和3,那么经过1个时钟周期后,左侧程序中q3的值变成 0 ,右侧程序中q3的值变成 2 。
8. Verilog 语言规定的两种主要的数据类型分别是 wire(或net) 和 reg 。
verilog考卷

1. 下面哪个是可以用verilog语言进行描述,而不能用VHDL语言进行描述的级别?( A )(A) 开关级 (B)门电路级 (C) 体系结构级 (D) 寄存器传输级2.在verilog中,下列语句哪个不是分支语句?( D )(A) if-else (B) case (C) casez (D) repeat3.下列哪些Verilog的基本门级元件是多输出( D )(A) nand (B) nor (C) and (D) not4.Verilog连线类型的驱动强度说明被省略时,则默认的输出驱动强度为( B )(A) supply (B) strong (C) pull (D) weak5.元件实例语句“notif1 #(1:3:4,2:3:4,1:2:4) U1(out,in,ctrl);”中截至延迟的典型值为( B )(A) 1(B) 2 (C) 3 (D) 46.已知“a =1b’1; b=3b'001;”那么{a,b}=( C )(A) 4b'0011 (B) 3b'001 (C) 4b'1001 (D) 3b'1017.根据调用子模块的不同抽象级别,模块的结构描述可以分为(ABC )(A) 模块级 (B)门级 (C) 开关级 (D) 寄存器级8.在verilog语言中,a=4b'1011,那么 &a=(D )(A) 4b'1011 (B) 4b'1111 (C) 1b'1 (D) 1b'09.在verilog语言中整型数据与( C )位寄存器数据在实际意义上是相同的。
(A) 8 (B) 16 (C) 32 (D)64 1.Verilog HDL语言进行电路设计方法有哪几种(8分)1、自上而下的设计方法(Top-Down)2、自下而上的设计方法(Bottom-Up)3、综合设计的方法2.specparam语句和parameter语句在参数说明方面不同之处是什么(8分)。
Verilog复习题

Verilog复习题一、填空题1. 用EDA技术进行电子系统设计的目标是最终完成。
2. 可编程器件分为CPLD和FPGA。
3. 随着EDA技术的不断完善与成熟,自顶向下的设计方法更多的被应用于Verilog HDL 设计当中。
4. 目前国际上较大的PLD器件制造公司有ALtera和Xilinx公司。
5. 完整的条件语句将产生组合电路,不完整的条件语句将产生时序电路。
6. 阻塞性赋值符号为=,非阻塞性赋值符号为<= 。
7.有限状态机分为Moore和Mealy两种类型。
8、EDA9.状态机常用状态编码有二进制、格雷码和独热码。
10.Verilog HDL中任务可以调用其他任务和函数。
11.系统函数和任务函数的首字符标志为$,预编译指令首字符标志为#。
12.可编程逻辑器件的优化过程主要是对速度和资源的处理过程。
13、大型数字逻辑电路设计采用的IP核有软IP、固IP和硬IP。
二、选择题1、已知“a =1b’1; b=3b'001;”那么{a,b}=( C )(A) 4b'0011 (B) 3b'001 (C) 4b'1001 (D) 3b'1012、在verilog中,下列语句哪个不是分支语句?( D )(A) if-else (B) case (C) casez (D) repeat3、Verilog HDL语言进行电路设计方法有哪几种(8分)①自上而下的设计方法(T op-Down)②自下而上的设计方法(Bottom-Up)③综合设计的方法4、在verilog语言中,a=4b'1011,那么 &a=(D )(A) 4b'1011 (B) 4b'1111 (C) 1b'1 (D) 1b'05、在verilog语言中整型数据与(C)位寄存器数据在实际意义上是相同的。
(A) 8 (B) 16 (C) 32 (D) 646、大规模可编程器件主要有FPGA、CPLD两类,下列对FPGA结构与工作原理的描述中,正确的是___C____ 。
(完整word版)Verilog复习题

Verilog复习题一、填空题1. 用EDA技术进行电子系统设计的目标是最终完成2. 可编程器件分为 _CPLD_和__FPGA__。
3. 随着EDA技术的不断完善与成熟,_自顶向下_的设计方法更多的被应用于Verilog HDL 设计当中。
4. 目前国际上较大的PLD器件制造公司有_ALtera_和_Xilinx_公司。
5. 完整的条件语句将产生_组合_电路,不完整的条件语句将产生_时序_电路。
6. 阻塞性赋值符号为___=____ ,非阻塞性赋值符号为____<=_______ 。
7.有限状态机分为__Moore__和_Mealy_两种类型。
8、EDA缩写的含义为_电子设计自动化(Electronic Design Automation)_9.状态机常用状态编码有_二进制_、_格雷码_和_独热码_。
10.V erilog HDL中任务可以调用_其他任务_和__函数__。
11.系统函数和任务函数的首字符标志为_$_,预编译指令首字符标志为__#__。
12.可编程逻辑器件的优化过程主要是对___速度___和__资源__的处理过程。
13、大型数字逻辑电路设计采用的IP核有__软IP__、__固IP___和__硬IP__。
二、选择题1、已知“a =1b’1; b=3b'001;”那么{a,b}=( C )(A) 4b'0011 (B) 3b'001 (C) 4b'1001 (D) 3b'1012、在verilog中,下列语句哪个不是分支语句?( D )(A) if-else (B) case (C) casez (D) repeat3、Verilog HDL语言进行电路设计方法有哪几种(8分)①自上而下的设计方法(Top-Down)②自下而上的设计方法(Bottom-Up)③综合设计的方法4、在verilog语言中,a=4b'1011,那么 &a=(D )(A) 4b'1011 (B) 4b'1111 (C) 1b'1 (D) 1b'05、在verilog语言中整型数据与( C )位寄存器数据在实际意义上是相同的。
常见面试笔试题verilog程序库

常见面试笔试题verilog程序库加减法module addsub( input [7:0] dataa,input [7:0] datab,input add_sub, // if this is 1, add; else subtractinput clk,output reg [8:0] result );always @ (posedge clk)beginif (add_sub) result <= dataa + datab; //or "assign{cout,sum}=dataa+datab;"else result <= dataa - datab;endendmodule四位的全加法器.module add4(cout,sum,a,b,cin)input[3:0]a,b; input cin;output [3:0] sum; output cout;assign {cout,sum}=a+b+cin;endmodule补码不但能够执行正值和负值转换,其实补码存在的意义,就是避免计算机去做减法的操作。
1101 -3 补+ 1000 801015假设-3 + 8,只要将-3 转为补码形式,亦即0011 => 1101,然后和8,亦即1000 相加就会得到5,亦即0101。
至于溢出的最高位能够无视掉。
乘法器module mult(outcome,a,b);parameter SIZE=8;input[SIZE:1] a,b;output reg[2*SIZE:1] outcome;integer i;always @(a or b)begin outcome<=0;for(i=0,i<=SIZE;i=i+1)if(b[i]) outcome<=outcome+(a<<(i-1));endendmodule另一种乘法器。
Verilog_HDL试卷及答案

reg [7:0] q=8‘b10000000;右边是最低位,q[0]~q[6]为0,q[7]为1q[7:0]<={q[0],q[7:1]}相当于一个循环右移操作,将q[0]的值赋给q[7],q[7]~q[1]依次向右移位一位。
根据前值8‘b10000000,第一个时钟周期后变为8‘b01000000;第二个时钟周期后变为8‘b00100000;类推。
第八个时钟周期后又回到q=8‘b10000000一、选择题:1、以下标示符哪些是合法的〔B 〕A、$timeB、_dateC、8sumD、mux#2、如果线网类型变量说明后未赋值,起缺省值是〔D 〕A、xB、1C、0D、z3、现网中的值被解释为无符号数。
在连续赋值语句中,assign addr[3:0]=-3;addr被赋予的值是〔A 〕//补码!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!A、4’b1101B、4’b0011C、4’bxx11D、4’bzz114、reg[7:0] mema[255:0]正确的赋值是〔A 〕A、mema[5]=3’ d0,B、8’ d0;C、1’ b1;D、mema[5][3:0]=4’ d15、在code模块中参数定义如下,请问top模块中d1模块delay1、delay2的值是( D )module code(x,y); module top;paramee delay1=1,delay2=1; …………….………………………………code #(1,5) d1(x1,y1);endmodule endmoduleA、〔1,1〕B、〔5,5〕C、〔5,1〕D、〔1,5〕6、“a=4’ b11001,b=4’ bx110〞选出正确的运算结果〔B 〕A、a&b=0B、a&&b=1C、b&a=xD、b&&a=x7、时间尺度定义为timescale 10ns/100ps,选择正确答案〔C 〕A、时间精度10nsB、时间单位100psC、时间精度100psD、时间精度不确定8、假设a=9,执行$display(“current value=%0b,a=%0d〞,a,a)正确显示为〔B 〕//去除无效0A、current value=1001,a=09B、current vale=1001,a=9C、1001,9D、current vale=00…001001,a=99、always begin #5 clk=0;#10 clk=~clk;end产生的波形〔A 〕//5占15的1/3A、占空比1/3B、clk=1C、clk=0D、周期为1010、在Verilog中定义了宏名`define sum a+b+c 下面宏名引用正确的选项是〔C 〕//注意引用A、out=’sum+d;B、out=sum+d;C、out=`sum+d;D、都正确二、填空题:〔共15分,每题3分〕1、某一纯组合电路输入为in1,in2和in3,输入出为out,那么该电路描述中always的事件表达式应写为always@(in1,in2,in3 );假设某一时序电路由时钟clk信号上升沿触发,同步高电平复位信号rst清零,该电路描述中always的事件表达是应该写为always @( posedge clk )。
Verilog系统设计考试试卷与答案

一、填空题(共10分,每空1分)1、变量是在程序运行过程中其值可以改变的量。
变量分为两种,一种类型为线网类型,一般指示硬件电路的物理连接,另一种是 ,对应的是具有状态保持作用的电路元件。
2、Verilog HDL中,如果一个给定的整数没有定义大小(size),缺省为位。
3、Verilog采用四值逻辑系统,0表示低电平,1表示高电平,x表示。
4、实际组合电路中,信号经过不同的路径到达某个门电路的输入端时,有先有后,这种现象称为。
5、有限状态机是由和组合逻辑构成的硬件时序电路;其状态只能在的情况下才能从一个状态转向另一个状态;6、状态机按照输出逻辑可以分为两种,一种称为状态机,其时序逻辑的输出不仅取决于当前状态,还取决于输入;另一种称为状态机,其时序逻辑的输出只取决于当前状态。
7、`timescale用于说明程序中的时间单位和仿真精度,语句`timescale 1ns/100ps中,程序中的仿真精度为8、完成语句,使rand0产生一个(-59,59)的随机数。
reg [23:0] rand0;rand0= ;二、选择题 ( 本题共 2 0 分,每小题 1 分 )1 、任v e r i l o g H D L 的端口声明语句中,用关键字声明端口为双向方向。
A.inoutB.INOUTC.inputD. output2、在V e r i l o g H D L的逻拇运算中,设A=8'b11010001,B=8'b00011001,则表达式"A&B"的结果为。
3A.8'b00010001B.8'b11011001C.8'b11001000D.8'b001101113、已知A=3'b110,B=3'b000,则AIIB结果为A.1B.O 110 D.3'b0014 、已知 A = 4 ' b 1 0 1 0 , 则 & A = ,A.1,0B.1,1 D.0,015、不完整的IF语句,其综合结果可实现:A . 三态控制电路B .条件相或的逻辑电路C.双向控制电路D.时序逻辑电路16、下列关于同步有限状态机的描述错误的是A. 状态变化只能发生在同一个时钟跳变沿;B.状态是否变化要根据输入信号,只要输入条件满足,就会立刻转入到下一个状态。
FPGA工程师笔试试题

FPGA工程师面试试题1、同步电路和异步电路的区别是什么?(仕兰微电子)2、什么是同步逻辑和异步逻辑?(汉王笔试)同步逻辑是时钟之间有固定的因果关系.异步逻辑是各时钟之间没有固定的因果关系.3、什么是"线与"逻辑,要实现它,在硬件特性上有什么具体要求?(汉王笔试)线与逻辑是两个输出信号相连可以实现与的功能.在硬件上,要用oc门来实现,由于不用 oc门可能使灌电流过大,而烧坏逻辑门. 同时在输出端口应加一个上拉电阻.4、什么是Setup 和Holdup时间?(汉王笔试)5、setup和holdup时间,区别.(南山之桥)6、解释setup time和hold time的定义和在时钟信号延迟时的变化.(未知)7、解释setup和hold time violation,画图说明,并说明解决办法.(威盛VIA2003.11.06 上海笔试试题)Setup/hold time 是测试芯片对输入信号和时钟信号之间的时间要求.建立时间是指触发器的时钟信号上升沿到来以前,数据稳定不变的时间.输入信号应提前时钟上升沿(如上升沿有效)T时间到达芯片,这个T就是建立时间-Setup time.如不满足setup time,这个数据就不能被这一时钟打入触发器,只有在下一个时钟上升沿,数据才能被打入触发器. 保持时间是指触发器的时钟信号上升沿到来以后,数据稳定不变的时间.如果hold time 不够,数据同样不能被打入触发器. 建立时间(Setup Time)和保持时间(Hold time).建立时间是指在时钟边沿前,数据信号需要保持不变的时间.保持时间是指时钟跳变边沿后数据信号需要保持不变的时间.如果不满足建立和保持时间的话,那么DFF将不能正确地采样到数据,将会出现 metastability的情况.如果数据信号在时钟沿触发前后持续的时间均超过建立和保持时间,那么超过量就分别被称为建立时间裕量和保持时间裕量.8、说说对数字逻辑中的竞争和冒险的理解,并举例说明竞争和冒险怎样消除.(仕兰微电子)9、什么是竞争与冒险现象?怎样判断?如何消除?(汉王笔试)在组合逻辑中,由于门的输入信号通路中经过了不同的延时,导致到达该门的时间不一致叫竞争.产生毛刺叫冒险.如果布尔式中有相反的信号则可能产生竞争和冒险现象.解决方法:一是添加布尔式的消去项,二是在芯片外部加电容. 10、你知道那些常用逻辑电平?TTL与COMS电平可以直接互连吗?(汉王笔试)常用逻辑电平:12V,5V,3.3V;TTL和CMOS不可以直接互连,由于TTL是在0.3-3.6V之间,而CMOS则是有在12V的有在5V的.CMOS输出接到TTL是可以直接互连.TTL接到CMOS需要在输出端口加一上拉电阻接到5V或者12V.11、如何解决亚稳态.(飞利浦-大唐笔试)亚稳态是指触发器无法在某个规定时间段内达到一个可确认的状态.当一个触发器进入亚稳态时,既无法预测该单元的输出电平,也无法预测何时输出才能稳定在某个正确的电平上.在这个稳定期间,触发器输出一些中间级电平,或者可能处于振荡状态,并且这种无用的输出电平可以沿信号通道上的各个触发器级联式传播下去.12、IC设计中同步复位与异步复位的区别.(南山之桥)13、MOORE 与 MEELEY状态机的特征.(南山之桥)14、多时域设计中,如何处理信号跨时域.(南山之桥)15、给了reg的setup,hold时间,求中间组合逻辑的delay范围.(飞利浦-大唐笔试)Delay < period - setup – hold16、时钟周期为T,触发器D1的建立时间最大为T1max,最小为T1min.组合逻辑电路最大延迟为T2max,最小为T2min.问,触发器D2的建立时间T3和保持时间应满足什么条件.(华为)17、给出某个一般时序电路的图,有Tsetup,Tdelay,Tck->q,还有 clock的delay,写出决定最大时钟的因素,同时给出表达式.(威盛VIA 2003.11.06 上海笔试试题)18、说说静态、动态时序模拟的优缺点.(威盛VIA 2003.11.06 上海笔试试题)19、一个四级的Mux,其中第二级信号为关键信号如何改善timing.(威盛VIA2003.11.06 上海笔试试题)20、给出一个门级的图,又给了各个门的传输延时,问关键路径是什么,还问给出输入,使得输出依赖于关键路径.(未知)21、逻辑方面数字电路的卡诺图化简,时序(同步异步差异),触发器有几种(区别,优点),全加器等等.(未知)22、卡诺图写出逻辑表达使.(威盛VIA 2003.11.06 上海笔试试题)23、化简F(A,B,C,D)= m(1,3,4,5,10,11,12,13,14,15)的和.(威盛)24、please show the CMOS inverter schmatic,layout and its cross sectionwith P-well process.Plot its transfer curve (Vout-Vin) And also explain the operation region of PMOS and NMOS for each segment of the transfer curve? (威盛笔试题circuit design-beijing-03.11.09)25、To design a CMOS invertor with balance rise and fall time,please definethe ration of channel width of PMOS and NMOS and explain?26、为什么一个标准的倒相器中P管的宽长比要比N管的宽长比大?(仕兰微电子)27、用mos管搭出一个二输入与非门.(扬智电子笔试)28、please draw the transistor level schematic of a cmos 2 input AND gate andexplain which input has faster response for output rising edge.(less delaytime).(威盛笔试题circuit design-beijing-03.11.09)29、画出NOT,NAND,NOR的符号,真值表,还有transistor level的电路.(Infineon笔试)30、画出CMOS的图,画出tow-to-one mux gate.(威盛VIA 2003.11.06 上海笔试试题)31、用一个二选一mux和一个inv实现异或.(飞利浦-大唐笔试)32、画出Y=A*B+C的cmos电路图.(科广试题)33、用逻辑们和cmos电路实现ab+cd.(飞利浦-大唐笔试)34、画出CMOS电路的晶体管级电路图,实现Y=A*B+C(D+E).(仕兰微电子)35、利用4选1实现F(x,y,z)=xz+yz’.(未知)36、给一个表达式f=xxxx+xxxx+xxxxx+xxxx用最少数量的与非门实现(实际上就是化简).37、给出一个简单的由多个NOT,NAND,NOR组成的原理图,根据输入波形画出各点波形.(Infineon笔试)38、为了实现逻辑(A XOR B)OR (C AND D),请选用以下逻辑中的一种,并说明为什么?1)INV 2)AND 3)OR 4)NAND 5)NOR 6)XOR 答案:NAND(未知)39、用与非门等设计全加法器.(华为)40、给出两个门电路让你分析异同.(华为)41、用简单电路实现,当A为输入时,输出B波形为…(仕兰微电子)42、A,B,C,D,E进行投票,多数服从少数,输出是F(也就是如果A,B,C,D,E中1的个数比0多,那么F输出为1,否则F为0),用与非门实现,输入数目没有限制.(未知)43、用波形表示D触发器的功能.(扬智电子笔试)44、用传输门和倒向器搭一个边沿触发器.(扬智电子笔试)45、用逻辑们画出D触发器.(威盛VIA 2003.11.06 上海笔试试题)46、画出DFF的结构图,用verilog实现之.(威盛)47、画出一种CMOS的D锁存器的电路图和版图.(未知)48、D触发器和D锁存器的区别.(新太硬件面试)49、简述latch和filp-flop的异同.(未知)50、LATCH和DFF的概念和区别.(未知)51、latch与register的区别,为什么现在多用register.行为级描述中latch 如何产生的.(南山之桥)52、用D触发器做个二分颦的电路.又问什么是状态图.(华为)53、请画出用D触发器实现2倍分频的逻辑电路?(汉王笔试)54、怎样用D触发器、与或非门组成二分频电路?(东信笔试)55、How many flip-flop circuits are needed to divide by 16? (Intel) 16分频?56、用filp-flop和logic-gate设计一个1位加法器,输入carryin和current-stage,输出carryout和next-stage. (未知)57、用D触发器做个4进制的计数.(华为)58、实现N位Johnson Counter,N=5.(南山之桥)59、用你熟悉的设计方式设计一个可预置初值的7进制循环计数器,15进制的呢?(仕兰微电子)60、数字电路设计当然必问Verilog/VHDL,如设计计数器.(未知)61、BLOCKING NONBLOCKING 赋值的区别.(南山之桥)62、写异步D触发器的verilog module.(扬智电子笔试)module dff8(clk , reset, d, q);input clk;input reset;input [7:0] d;output [7:0] q;reg [7:0] q;always @ (posedge clk or posedge reset)if(reset)q <= 0;elseq <= d;endmodule63、用D触发器实现2倍分频的Verilog描述? (汉王笔试)module divide2( clk , clk_o, reset);input clk , reset;output clk_o;wire in;reg out ;always @ ( posedge clk or posedge reset)if ( reset)out <= 0;elseout <= in;assign in = ~out;assign clk_o = out;endmodule64、可编程逻辑器件在现代电子设计中越来越重要,请问:a) 你所知道的可编程逻辑器件有哪些? b) 试用VHDL或VERILOG、ABLE描述8位D触发器逻辑.(汉王笔试) PAL,PLD,CPLD,FPGA.module dff8(clk , reset, d, q);input clk;input reset;input d;output q;reg q;always @ (posedge clk or posedge reset)if(reset)q <= 0;elseq <= d;endmodule65、请用HDL描述四位的全加法器、5分频电路.(仕兰微电子)66、用VERILOG或VHDL写一段代码,实现10进制计数器.(未知)67、用VERILOG或VHDL写一段代码,实现消除一个glitch.(未知)68、一个状态机的题目用verilog实现(不过这个状态机画的实在比较差,很容易误解的).(威盛VIA 2003.11.06 上海笔试试题)69、描述一个交通信号灯的设计.(仕兰微电子)70、画状态机,接受1,2,5分钱的卖报机,每份报纸5分钱.(扬智电子笔试)71、设计一个自动售货机系统,卖soda水的,只能投进三种硬币,要正确的找回钱数. (1)画出fsm(有限状态机);(2)用verilog编程,语法要符合fpga 设计的要求.(未知)72、设计一个自动饮料售卖机,饮料10分钱,硬币有5分和10分两种,并考虑找零1)画出fsm(有限状态机);(2)用verilog编程,语法要符合fpga设计的要求;(3)设计工程中可使用的工具及设计大致过程.(未知)73、画出可以检测10010串的状态图,并verilog实现之.(威盛)74、用FSM实现101101的序列检测模块.(南山之桥)a为输入端,b为输出端,如果a连续输入为1101则b输出为1,否则为0.例如a: 0001100110110100100110b: 0000000000100100000000请画出state machine;请用RTL描述其state machine.(未知) 75、用verilog/vddl检测stream中的特定字符串(分状态用状态机写).(飞利浦-大唐笔试)76、用verilog/vhdl写一个fifo控制器(包括空,满,半满信号).(飞利浦-大唐笔试)77、现有一用户需要一种集成电路产品,要求该产品能够实现如下功能:y=lnx,其中,x为4位二进制整数输入信号.y为二进制小数输出,要求保留两位小数.电源电压为3~5v假设公司接到该项目后,交由你来负责该产品的设计,试讨论该产品的设计全程.(仕兰微电子)78、sram,falsh memory,及dram的区别?(新太硬件面试)79、给出单管DRAM的原理图(西电版《数字电子技术基础》作者杨颂华、冯毛官205页图9-14b),问你有什么办法提高refresh time,总共有5个问题,记不起来了.(降低温度,增大电容存储容量)(Infineon笔试)80、Please draw schematic of a common SRAM cell with 6 transistors,point outwhich nodes can store data and which node is word line control? (威盛笔试题circuit design-beijing-03.11.09)81、名词:sram,ssram,sdram名词IRQ,BIOS,USB,VHDL,SDRIRQ: Interrupt ReQuestBIOS: Basic Input Output SystemUSB: Universal Serial BusVHDL: VHIC Hardware Description LanguageSDR: Single Data Rate压控振荡器的英文缩写(VCO).动态随机存储器的英文缩写(DRAM).名词解释,无聊的外文缩写罢了,比如PCI、ECC、DDR、interrupt、pipeline、IRQ,BIOS,USB,VHDL,VLSI VCO(压控振荡器) RAM (动态随机存储器),FIR IIR DFT(离散傅立叶变换)或者是中文的,比如:a.量化误差 b.直方图 c.白平衡1 什么是Setup 和Holdup时间?2 什么是竞争与冒险现象?怎样判断?如何消除?3 用D触发器实现2倍分频的逻辑电路? .......4 什么是"线与"逻辑,要实现它,在硬件特性上有什么具体要求?5 什么是同步逻辑和异步逻辑?6 请画出微机接口电路中,典型的输入设备与微机接口逻辑示意图(数据接口、控制接口、所存器/缓冲器)。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
加减法module addsub( input [7:0] dataa,input [7:0] datab,input add_sub, // if this is 1, add; else subtractinput clk,output reg [8:0] result );always @ (posedge clk)beginif (add_sub) result <= dataa + datab; //or "assign {cout,sum}=dataa+datab;"else result <= dataa - datab;endendmodule四位的全加法器.module add4(cout,sum,a,b,cin)input[3:0]a,b; input cin;output [3:0] sum; output cout;assign {cout,sum}=a+b+cin;endmodule补码不仅可以执行正值和负值转换,其实补码存在的意义,就是避免计算机去做减法的操作。
1101 -3 补+ 1000 801015假设-3 + 8,只要将-3 转为补码形式,亦即0011 => 1101,然后和8,亦即1000 相加就会得到5,亦即0101。
至于溢出的最高位可以无视掉。
乘法器module mult(outcome,a,b);parameter SIZE=8;input[SIZE:1] a,b;output reg[2*SIZE:1] outcome;integer i;always @(a or b)begin outcome<=0;for(i=0,i<=SIZE;i=i+1)if(b[i]) outcome<=outcome+(a<<(i-1));endendmodule另一种乘法器。
在初始化之际,取乘数和被乘数的正负关系,然后取被乘数和乘数的正值。
输出结果根据正负关系取得。
else if( Start_Sig )case( i )0: beginisNeg <= Multiplicand[7] ^ Multiplier[7];Mcand <= Multiplicand[7] ? ( ~Multiplicand + 1'b1 ) : Multiplicand;Mer <= Multiplier[7] ? ( ~Multiplier + 1'b1 ) : Multiplier;Temp <= 16'd0;i <= i + 1'b1;end1: // Multiplingif( Mer == 0 ) i <= i + 1'b1;else begin Temp <= T emp + Mcand; Mer <= Mer - 1'b1; end2: begin isDone <= 1'b1; i <= i + 1'b1; end3: begin isDone <= 1'b0; i <= 2'd0; endendcaseassign Done_Sig = isDone;assign Product = isNeg ? ( ~Temp + 1'b1 ) : Temp;endmodulebooth乘法器module booth_multiplier_module(input CLK,input RSTn,input Start_Sig,input [7:0]A,input [7:0]B,output Done_Sig,output [15:0]Product,output [7:0]SQ_a,output [7:0]SQ_s,output [16:0]SQ_p);reg [3:0]i;reg [7:0]a; // result of Areg [7:0]s; // reverse result of Areg [16:0]p; // p空间,16+1位reg [3:0]X; //指示n次循环reg isDone;always @ ( posedge CLK or negedge RSTn )if( !RSTn )begini <= 4'd0;a <= 8'd0;s <= 8'd0;p <= 17'd0;X <= 4'd0;isDone <= 1'b0;endelse if( Start_Sig )case( i )0:begin a <= A; s <= ( ~A + 1'b1 ); p <= { 8'd0 , B , 1'b0 }; i <= i + 1'b1; end1:if( X == 8 ) begin X <= 4'd0; i <= i + 4'd2; endelse if( p[1:0] == 2'b01 ) begin p <= { p[16:9] + a , p[8:0] }; i <= i + 1'b1; endelse if( p[1:0] == 2'b10 ) begin p <= { p[16:9] + s , p[8:0] }; i <= i + 1'b1; endelse i <= i + 1'b1; //00和11,无操作2:begin p <= { p[16] , p[16:1] }; X <= X + 1'b1; i <= i - 1'b1; end //右移,最高位补0 or 1.3:begin isDone <= 1'b1; i <= i + 1'b1; end4:begin isDone <= 1'b0; i <= 4'd0; endendcaseassign Done_Sig = isDone;assign Product = p[16:1];endmodule除法器module divider_module(input CLK,input RSTn,input Start_Sig,input [7:0]Dividend,input [7:0]Divisor,output Done_Sig,output [7:0]Quotient,output [7:0]Reminder,);reg [3:0]i;reg [7:0]Dend;reg [7:0]Dsor;reg [7:0]Q;reg [7:0]R;reg isNeg;reg isDone;always @ ( posedge CLK or negedge RSTn )if( !RSTn )begini <= 4'd0;Dend <= 8'd0;Dsor <= 8'd0;Q <= 8'd0;isNeg <= 1'b0;isDone <= 1'b0;endelse if( Start_Sig )case( i )0:beginDend <= Dividend[7] ? ~Dividend + 1'b1 : Dividend;Dsor <= Divisor[7] ? Divisor : ( ~Divisor + 1'b1 );isNeg <= Dividend[7] ^ Divisor[7];i <= i + 1'b1;end1: if( Divisor > Dend )begin Q <= isNeg ? ( ~Q + 1'b1 ) : Q; i <= i + 1'b1; endelse begin Dend <= Dend + Dsor; Q <= Q + 1'b1; end2: begin isDone <= 1'b1; i <= i + 1'b1; end3: begin isDone <= 1'b0; i <= 4'd0; endendcaseassign Done_Sig = isDone;assign Quotient = Q;assign Reminder = Dend;endmodule除法器2module div(a,b,clk,result,yu)input[3:0]a,b;output reg[3:0] result,yu;input clk; reg[1:0] state;reg[3:0] m,n;parameter S0=2'b00,S1=2'b01,S2=2'b10;always@(posedge clk)begin case(state)S0: begin if(a>b) begin n<=a-b;m<=4'b0001; state<=S1; endelse begin m<=4'b0000;n<=a; state<=S2; endendS1: begin if(n>=b) begin m<=m+1;n<=n-b;state<=S1;endelse begin state<=S2;endendS2: begin result<=m;yu<=n;state<=S0;enddefule:state<=S0;endcaseend13、一个可预置初值的7进制循环计数器①verilogmodule count(clk,reset,load,date,out);input load,clk,reset;input[3:0] date;output reg[3:0] out;parameter WIDTH=4'd7;always@(clk or reset)beginif(reset) out<=4'd0;else if(load) out<=date;else if(out==WIDTH-1) out<=4'd0;else out<=out+1;endendmoduleJohnson计数器约翰逊(Johnson)计数器又称扭环计数器,是一种用n位触发器来表示2n个状态的计数器。