You are on page 1of 13

VLSI Interview Questions -------------------------------------------------------------------------For Any answers you may contact Aviral Mittal at avimit@yahoo.

com CopyRight (C) Aviral Mittal -------------------------------------------------------------------------1(a). What you would use in RTL a 'boolean' type or a 'std_logic' type and why. 1(b). What are/may be the implications of using an 'integer' type in RTL. 2). What you would use a RAM or a regfile discuss: RAM: Low Power, Low Area REGFILE: better timing. 3). A timing path fails: what are your options? Ans: a). Look for parallelism in RTL. b). Look for small RAMs which might be synthesized c). Look for better placement d). Look for Pipelining opportunity e). Look for moving logic before the Reg f). Look for replicating the drivers to reduce load if the delay is caused by loading g). '< or >' are better than -, when comparators are used in RTL h). Look for if..elsif..elseif..elsif i). Use One Hot instead of Binary coded State Registers 4). Any example you can provide in which verilog might be a prob 5). What are VHDL structures, give an example to exploit them 6). What is grey coding, any example where they are used 7). Discuss Async interfaces 8). Metastability 9). Synopsys unwanted latch 10). Verilog blocking vs non-blocking 11). VHDL variables: example where you have to use them 12). What is pipelining and how it may improve the performance 13). What are multicycle paths. 14). What are false paths 15). What are Async counters, what are advantages of using these over sync counters. and what are the disadvantages 16). q_in : IN std_logic variable q0 : std_logic variable q1 : std_logic variable q2 : std_logic q_out : OUT std_logic; if(rising_edge(clk)) then q0 := q_in; q1 := q0;

q2 := q1; q_out <= q2; endif; what will be the result. 17). Sensitivity List: How does it matter.What will happen if you dont include a signal in the sensitivity list and use/read it inside the process

18). process(a_sig,b_sig) begin if(a_sig = '1' and b_sig = '0') then sig_out <= '1'; else sig_out <= '0'; end if; end process process(c_sig,d_sig) begin if(c_sig = '1' and d_sig = '0') then sig_out <= '1'; else sig_out <= '0'; end if; end process Any thing wrong with the above code Ans: Same signal being driven in two different processes 19). While writing a state machine in RTL it is generally recommended that the seq and combi logics should be written in different processes Even if its not a state machine, it is recommended that seq and combi logics should be written in different processes Any example you may give to support this recommendation

Ans: Sometime its desired to use the 'next_RegValue' which can only be accessed in recommended method, not in the method where you combine seq and combi parts into one seq process.

20). Following are two methods to determine if 'a_sig' is greater than 'b_sig' Which one would you use and why? signal a_sig : std_logic_vector(n downto 0); signal b_sig : std_logic_vector(n downto 0); process(a_sig,bsig) variable c_sig : std_logic_vector(n downto 0); begin c_sig := a_sig-bsig; a_is_smaller <= c_sig(c_sig'high); end process; process(a_sig,bsig) variable c_sig : std_logic_vector(n downto 0); begin if(asig < bsig) then a_is_smaller <= '1'; else a_is_smaller <= '0'; end if; end process; 21). How you will implement a C language pointer in VHDL 22). A certain chip(silicon) fails hold test and another fails a setup test. Which one MAY still be used how and why 23). What is Design For Test and why it is done. 24). What is clock gating? How and why it is done. 25). Low Power: discuss how it may be done Ans : a) Clock Gating b) Reducing the frequency of operation using pipelining c) Shutting the power down d) Different voltage domains e) Reducing number of transitions, eg. using grey coding f) Bus Invert coding: invert bus if hamming distance is greater than 1/2 word size g) Async design techniques 26). Discuss disadvantages/challenges of shrinking technology Ans : Leakage Power 27). Simulation Problem. Register going 'X' even when RTL has reset pin defining the state of register at power up reset. And such a reset has been applied in simulation.

28). Generally dc_shell tries to optimise the path with worst violation. Is there any thing that you can do to make it work on more paths parallely Ans :Use group_path may be with 'critical_range' on that group 29). What is pipelining, how may it affect the performance of a design 30). What is the difference between transport delays and inertial delays in VHDL 31). What determines the max frequency a digital design may work on. Why thold(hold time) is not included in the calculation for the above. 32). What will happen if output of an inverter is shorted to its input 33). What is noise margin. 34). Why are p-mos larger than n-mos in CMOS design 35). Draw DC curve of inverter and Re-Draw it if pmos and nmos are equal 36). What is Latch-up 37). How can an Inverter work as an amplifier 38). Design a state machine to implement a edge detector That is. The output of this state machine is a pulse of logic '1' of duration one clock when ever there is a negative edge on an input signal. Given that the frequency at which the negative edge is appearing on the input signal is low as compared to the clock of the state machine 39). Design a state machine which divides the input frequency of a clock by 3. Given that the phase change in the output due to propogation delay in of the flip flop is acceptable up to a delay offered by a single flip flop only. 40). Why does a pass gate requires two transistors(1 N and 1 P type) Can we use a single transistor N or P type in a pass gate? If not why? and if yes then in what conditions? 41). Why CMOS why not N-MOS or P-MOS logic, when we know that the number of gates required in CMOS are grater than in n-mos or p-mos logic. 42). How much is the max fan out of a typical CMOS gate. Or alternatively, discuss the limiting factors. 43). What are dynamic logic gates? What are their advantages over conventional logic gates 44). Design a digital circuit to delay the negative edge of the input signal by 2 clock cycles

45). What is the relation between binary encoding and grey(or gray) encoding. 46). Write a vhdl function to implement a length independent grey code counter. alternatively, discuss the logic to do that. 47). How you will constraint a combinational logic path through your design in dc_shell. 48). Make a T Flip Flop using a D Flip Flop 49). How you will make a Nand Gate function like an inverter. 50). Design a state machine to detect a '1101' pattern in a stream. Detect both, overlapping and non overlapping patterns. 51). From a CMOS logic gate IC, the 40xx series, Take an inverter IC, power it up, and leave the input of the inverter floating. Comment upon the ouput of this inverter. Similarly take a TTL logic gate IC, the 74xx series. Take an inverter IC, power it up, and leave the input of the inverter floating. Comment upon the output of this inverter. 52). What are LFSRs, example usage? 53). What are MISRs, example usage?

C# interview questions and answers


By admin | December 7, 2003

1. Whats the advantage of using System.Text.StringBuilder over System.String? StringBuilder is more efficient in the cases, where a lot of manipulation is done to the text. Strings are immutable, so each time its being operated on, a new instance is created. 2. Can you store multiple data types in System.Array? No. 3. Whats the difference between the System.Array.CopyTo() and System.Array.Clone()? The first one performs a deep copy of the array, the second one is shallow. 4. How can you sort the elements of the array in descending order? By calling Sort() and then Reverse() methods. 5. Whats the .NET datatype that allows the retrieval of data by a unique key? HashTable. 6. Whats class SortedList underneath? A sorted HashTable. 7. Will finally block get executed if the exception had not occurred? Yes. 8. Whats the C# equivalent of C++ catch (), which was a catch-all statement for any possible exception? A catch block that catches the exception of type System.Exception. You can also omit the parameter data type in this case and just write catch {}. 9. Can multiple catch blocks be executed? No, once the proper catch code fires off, the control is transferred to the finally block (if there are any), and then whatever follows the finally block. 10. Why is it a bad idea to throw your own exceptions? Well, if at that point you know that an error has occurred, then why not write the proper code to handle that error instead of passing a new Exception object to the catch block? Throwing your own exceptions signifies some design flaws in the project. 11. Whats a delegate? A delegate object encapsulates a reference to a method. In C++ they were referred to as function pointers. 12. Whats a multicast delegate? Its a delegate that points to and eventually fires off several methods. 13. Hows the DLL Hell problem solved in .NET? Assembly versioning allows the application to specify not only the library it needs to run (which was available under Win32), but also the version of the assembly. 14. What are the ways to deploy an assembly? An MSI installer, a CAB archive, and XCOPY command. 15. Whats a satellite assembly? When you write a multilingual or multi-cultural application in .NET, and want to distribute the core application separately from the localized modules, the localized assemblies that modify the core application are called satellite assemblies. 16. What namespaces are necessary to create a localized application? System.Globalization, System.Resources. 17. Whats the difference between // comments, /* */ comments and /// comments? Single-line, multi-line and XML documentation comments. 18. How do you generate documentation from the C# file commented properly with a command-line compiler? Compile it with a /doc switch. 19. Whats the difference between <c> and <code> XML documentation tag? Single line code example and multiple-line code example. 20. Is XML case-sensitive? Yes, so <Student> and <student> are different elements. 21. What debugging tools come with the .NET SDK? CorDBG command-line debugger, and DbgCLR graphic debugger. Visual Studio .NET uses the DbgCLR. To use CorDbg, you must compile the original C# file using the /debug switch. 22. What does the This window show in the debugger? It points to the object thats pointed to by this reference. Objects instance data is shown.

23. What does assert() do? In debug compilation, assert takes in a Boolean condition as a parameter, and shows the error dialog if the condition is false. The program proceeds without any interruption if the condition is true. 24. Whats the difference between the Debug class and Trace class? Documentation looks the same. Use Debug class for debug builds, use Trace class for both debug and release builds. 25. Why are there five tracing levels in System.Diagnostics.TraceSwitcher? The tracing dumps can be quite verbose and for some applications that are constantly running you run the risk of overloading the machine and the hard drive there. Five levels range from None to Verbose, allowing to fine-tune the tracing activities. 26. Where is the output of TextWriterTraceListener redirected? To the Console or a text file depending on the parameter passed to the constructor. 27. How do you debug an ASP.NET Web application? Attach the aspnet_wp.exe process to the DbgClr debugger. 28. What are three test cases you should go through in unit testing? Positive test cases (correct data, correct output), negative test cases (broken or missing data, proper handling), exception test cases (exceptions are thrown and caught properly). 29. Can you change the value of a variable while debugging a C# application? Yes, if you are debugging via Visual Studio.NET, just go to Immediate window. 30. Explain the three services model (three-tier application). Presentation (UI), business (logic and underlying code) and data (from storage or other sources). 31. What are advantages and disadvantages of Microsoft-provided data provider classes in ADO.NET? SQLServer.NET data provider is high-speed and robust, but requires SQL Server license purchased from Microsoft. OLE-DB.NET is universal for accessing other sources, like Oracle, DB2, Microsoft Access and Informix, but its a .NET layer on top of OLE layer, so not the fastest thing in the world. ODBC.NET is a deprecated layer provided for backward compatibility to ODBC engines. 32. Whats the role of the DataReader class in ADO.NET connections? It returns a read-only dataset from the data source when the command is executed. 33. What is the wildcard character in SQL? Lets say you want to query database with LIKE for all employees whose name starts with La. The wildcard character is %, the proper query with LIKE would involve La%. 34. Explain ACID rule of thumb for transactions. Transaction must be Atomic (it is one unit of work and does not dependent on previous and following transactions), Consistent (data is either committed or roll back, no in-between case where something has been updated and something hasnt), Isolated (no transaction sees the intermediate results of the current transaction), Durable (the values persist if the data had been committed even if the system crashes right after). 35. What connections does Microsoft SQL Server support? Windows Authentication (via Active Directory) and SQL Server authentication (via Microsoft SQL Server username and passwords). 36. Which one is trusted and which one is untrusted? Windows Authentication is trusted because the username and password are checked with the Active Directory, the SQL Server authentication is untrusted, since SQL Server is the only verifier participating in the transaction. 37. Why would you use untrusted verificaion? Web Services might use it, as well as non-Windows applications. 38. What does the parameter Initial Catalog define inside Connection String? The database name to connect to. 39. Whats the data provider name to connect to Access database? Microsoft.Access. 40. What does Dispose method do with the connection object? Deletes it from the memory. 41. What is a pre-requisite for connection pooling? Multiple processes must agree that they will share the same connection, where every parameter is the same, including the security settings.

C++ Interview questions and answers


By admin | January 23, 2004

Some good C++ questions to ask a job applicant. 1. How do you decide which integer type to use? 2. What should the 64-bit integer type on new, 64-bit machines be? 3. Whats the best way to declare and define global variables? 4. What does extern mean in a function declaration? 5. Whats the auto keyword good for? 6. I cant seem to define a linked list node which contains a pointer to itself. 7. How do I declare an array of N pointers to functions returning pointers to functions returning pointers to characters? 8. How can I declare a function that returns a pointer to a function of its own type? 9. My compiler is complaining about an invalid redeclaration of a function, but I only define it once and call it once. Whats happening? 10. What can I safely assume about the initial values of variables which are not explicitly initialized? 11. Why cant I initialize a local array with a string? 12. What is the difference between char a[] = string; and char *p = string; ? 13. How do I initialize a pointer to a function?

x86 interview questions


These interview questions test the knowledge of x86 Intel architecture and 8086 microprocessor specifically. 1. What is a Microprocessor? - Microprocessor is a program-controlled device, which fetches the instructions from memory, decodes and executes the instructions. Most Micro Processor are single- chip devices. 2. Give examples for 8 / 16 / 32 bit Microprocessor? - 8-bit Processor - 8085 / Z80 / 6800; 16-bit Processor - 8086 / 68000 / Z8000; 32-bit Processor - 80386 / 80486. 3. Why 8085 processor is called an 8 bit processor? - Because 8085 processor has 8 bit ALU (Arithmetic Logic Review). Similarly 8086 processor has 16 bit ALU. 4. What is 1st / 2nd / 3rd / 4th generation processor? - The processor made of PMOS / NMOS / HMOS / HCMOS technology is called 1st / 2nd / 3rd / 4th generation processor, and it is made up of 4 / 8 / 16 / 32 bits. 5. Define HCMOS? - High-density n- type Complimentary Metal Oxide Silicon field effect transistor. 6. What does microprocessor speed depend on? - The processing speed depends on DATA BUS WIDTH. 7. Is the address bus unidirectional? - The address bus is unidirectional because the address information is always given by the Micro Processor to address a memory location of an input / output devices. 8. Is the data bus is Bi-directional? - The data bus is Bi-directional because the same bus is used for transfer of data between Micro Processor and memory or input / output devices in both the direction. 9. What is the disadvantage of microprocessor? - It has limitations on the size of data. Most Microprocessor does not support floating-point operations. 10. What is the difference between microprocessor and microcontroller? - In Microprocessor more op-codes, few bit handling instructions. But in Microcontroller: fewer op-codes, more bit handling Instructions, and also it is defined as a device that includes micro processor, memory, & input / output signal lines on a single chip. 11. What is meant by LATCH? - Latch is a D- type flip-flop used as a temporary storage device controlled by a timing signal, which can store 0 or 1. The primary function of a Latch is data storage. It is used in output devices such as LED, to hold the data for display. 12. Why does microprocessor contain ROM chips? - Microprocessor contain ROM chip because it contain instructions to execute data. 13. What is the difference between primary & secondary storage device? - In primary storage device the storage capacity is limited. It has a volatile memory. In secondary storage device the storage capacity is larger. It is a nonvolatile memory. Primary devices are: RAM / ROM. Secondary devices are: Floppy disc / Hard disk. 14. Difference between static and dynamic RAM? - Static RAM: No refreshing, 6 to 8 MOS transistors are required to form one memory cell, Information stored as voltage level in a flip flop. Dynamic RAM: Refreshed periodically, 3 to 4 transistors are required to form one memory cell, Information is stored as a charge in the gate to substrate capacitance. 15. What is interrupt? - Interrupt is a signal send by external device to the processor so as to request the processor to perform a particular work. 16. What is cache memory? - Cache memory is a small high-speed memory. It is used for temporary storage of data & information between the main memory and the CPU (center processing unit). The cache memory is only in RAM. 17. What is called .Scratch pad of computer.? - Cache Memory is scratch pad of computer. 18. Which transistor is used in each cell of EPROM? - Floating .gate Avalanche Injection MOS (FAMOS) transistor is used in each cell of EPROM. 19. Differentiate between RAM and ROM? - RAM: Read / Write memory, High Speed, Volatile Memory. ROM: Read only memory, Low Speed, Non Voliate Memory.

20. What is a compiler? - Compiler is used to translate the high-level language program into machine code at a time. It doesn.t require special instruction to store in a memory, it stores automatically. The Execution time is less compared to Interpreter. 21. Which processor structure is pipelined? - All x86 processors have pipelined structure. 22. What is flag? - Flag is a flip-flop used to store the information about the status of a processor and the status of the instruction executed most recently 23. What is stack? - Stack is a portion of RAM used for saving the content of Program Counter and general purpose registers. 24. Can ROM be used as stack? - ROM cannot be used as stack because it is not possible to write to ROM. 25. What is NV-RAM? - Nonvolatile Read Write Memory, also called Flash memory. It is also know as shadow RAM.

^Back to Top

Intel interview questions


The following questions are used for screening the candidates during the first interview. The questions apply mostly to fresh college grads pursuing an engineering career at Intel. 1. Have you studied buses? What types? 2. Have you studied pipelining? List the 5 stages of a 5 stage pipeline. Assuming 1 clock per stage, what is the latency of an instruction in a 5 stage machine? What is the throughput of this machine ? 3. How many bit combinations are there in a byte? 4. For a single computer processor computer system, what is the purpose of a processor cache and describe its operation? 5. Explain the operation considering a two processor computer system with a cache for each processor. 6. What are the main issues associated with multiprocessor caches and how might you solve them? 7. Explain the difference between write through and write back cache. 8. Are you familiar with the term MESI? 9. Are you familiar with the term snooping? 10. Describe a finite state machine that will detect three consecutive coin tosses (of one coin) that results in heads. 11. In what cases do you need to double clock a signal before presenting it to a synchronous state machine? 12. You have a driver that drives a long signal & connects to an input device. At the input device there is either overshoot, undershoot or signal threshold violations, what can be done to correct this problem? 13. What are the total number of lines written by you in C/C++? What is the most complicated/valuable program written in C/C++? 14. What compiler was used? 15. What is the difference between = and == in C? 16. Are you familiar with VHDL and/or Verilog? 17. What types of CMOS memories have you designed? What were their size? Speed? 18. What work have you done on full chip Clock and Power distribution? What process technology and budgets were used? 19. What types of I/O have you designed? What were their size? Speed? Configuration? Voltage requirements? 20. Process technology? What package was used and how did you model the package/system? What parasitic effects were considered? 21. What types of high speed CMOS circuits have you designed?

22. What transistor level design tools are you proficient with? What types of designs were they used on? 23. What products have you designed which have entered high volume production? 24. What was your role in the silicon evaluation/product ramp? What tools did you use? 25. If not into production, how far did you follow the design and why did not you see it into production?

^Back to Top Read more at TechInterviews.com

Embedded systems interview questions


1. Can structures be passed to the functions by value? 2. Why cannot arrays be passed by values to functions? 3. Advantages and disadvantages of using macro and inline functions? 4. What happens when recursion functions are declared inline? 5. Scope of static variables? 6. Difference between object oriented and object based languages? 7. Multiple inheritance - objects contain howmany multiply inherited ancestor? 8. What are the 4 different types of inheritance relationship? 9. How would you find out the no of instance of a class? 10. Is java a pure object oriented language? Why? 11. Order of constructor and destructor call in case of multiple inheritance? 12. Can u have inline virtual functions in a class? 13. When you inherit a class using private keyword which members of base class are visible to the derived class? 14. What is the output of printf("\nab\bcd\ref"); -> ef 15. #define cat(x,y) x##y concatenates x to y. But cat(cat(1,2),3) does not expand but gives preprocessor warning. Why? 16. Can you have constant volatile variable? Yes, you can have a volatile pointer? 17. ++*ip increments what? it increments what ip points to 18. Operations involving unsigned and signed unsigned will be converted to signed 19. a+++b -> (a++)+b 20. malloc(sizeof(0)) will return valid pointer 21. main() {fork();fork();fork();printf("hello world"); } will print 8 times. 22. Array of pts to functions void (*fptr[10])() 23. Which way of writing infinite loops is more efficient than others? there are 3ways. 24. # error what it does? 25. How is function itoa() written? 26. Who to know wether systemuses big endian or little endian format and how to convert among them? 27. What is interrupt latency? 28. What is forward reference w.r.t. pointers in c? 29. How is generic list manipulation function written which accepts elements of any kind? 30. What is the difference between hard real-time and soft real-time OS? 31. What is interrupt latency? How can you recuce it? 32. What is the differnce between embedded systems and the system in which rtos is running? 33. How can you define a structure with bit field members? 34. What are the features different in pSOS and vxWorks? 35. How do you write a function which takes 2 arguments - a byte and a field in the byte and returns the value of the field in that byte? 36. What are the different storage classes in C?

37. What are the different qualifiers in C? 38. What are the different BSD and SVR4 communication mechanisms

^Back to Top

Computer architecture and design interview questions


1. What is pipelining? 2. What are the five stages in a DLX pipeline? 3. For a pipeline with n stages, whats the ideal throughput? What prevents us from achieving this ideal throughput? 4. What are the different hazards? How do you avoid them? 5. Instead of just 5-8 pipe stages why not have, say, a pipeline with 50 pipe stages? 6. What are Branch Prediction and Branch Target Buffers? 7. How do you handle precise exceptions or interrupts? 8. What is a cache? 9. Whats the difference between Write-Through and Write-Back Caches? Explain advantages and disadvantages of each. 10. Cache Size is 64KB, Block size is 32B and the cache is Two-Way Set Associative. For a 32-bit physical address, give the division between Block Offset, Index and Tag. 11. What is Virtual Memory? 12. What is Cache Coherency? 13. What is MESI? 14. What is a Snooping cache? 15. What are the components in a Microprocessor? 16. What is ACBF(Hex) divided by 16? 17. Convert 65(Hex) to Binary 18. Convert a number to its twos compliment and back 19. The CPU is busy but you want to stop and do some other task. How do you do it?

Hardware design interview questions


1. Give two ways of converting a two input NAND gate to an inverter 2. Given a circuit, draw its exact timing response. (I was given a Pseudo Random Signal Generator; you can expect any sequential ckt) 3. What are set up time & hold time constraints? What do they signify? Which one is critical for estimating maximum clock frequency of a circuit? 4. Give a circuit to divide frequency of clock cycle by two 5. Design a divide-by-3 sequential circuit with 50% duty circle. (Hint: Double the Clock) 6. Suppose you have a combinational circuit between two registers driven by a clock. What will you do if the delay of the combinational circuit is greater than your clock signal? (You cant resize the combinational circuit transistors) 7. The answer to the above question is breaking the combinational circuit and pipelining it. What will be affected if you do this? 8. What are the different Adder circuits you studied? 9. Give the truth table for a Half Adder. Give a gate level implementation of the same. 10. Draw a Transmission Gate-based D-Latch. 11. Design a Transmission Gate based XOR. Now, how do you convert it to XNOR? (Without inverting the output) 12. How do you detect if two 8-bit signals are same? 13. How do you detect a sequence of "1101" arriving serially from a signal line? 14. Design any FSM in VHDL or Verilog. 15. Explain RC circuit.s charging and discharging.

16. Explain the working of a binary counter.

You might also like