Skip to main content

Posts

Showing posts from June, 2021

Physical Design Methodology Engineer at Texas Instruments

  Hello Dear Readers, Texas Instruments Bangalore has a vacancy for the Physical Design Engineer role. We need an Physical Design Methodology Engineer to join our ATD team. The candidate should have a strong background in back-end design of ASIC/SoC chips. The ideal candidate will have a bachelor’s or master’s degree in Electrical Engineering or a related field. Requirements: 1 - 2 Years of experience in physical design Bachelor’s or master’s degree in Electrical/Electronics Engineering or a related field Strong understanding of physical design principles Must know the basics of floorplan, placement, CTS, routing, ECO, Physical Verification Proficiency in back-end design tools, such as Cadence Genus/Innovus/Tempus/Voltus Excellent problem-solving skills and attention to detail Effective communication and collaboration skills Responsibilities: Synthesis to GDSII Perform full Physical design flow and its verification Work closely with Digital Design and DFT engineers Ensure...

Evolution of Logic Design and Its Abstractions

  Hello Dear Readers, Today, I have summarized the evolution of logic design and two abstractions of the system design flow that has been discussed. During the year 1958, Jack Kilby, a young electrical engineer at Texas Instrument figured out how to place the circuit elements, transistors, resistors, and capacitors, on a small piece of Germanium. But prior to the year 1958, many more revolutionized ideas were published and conceptualized. Gottfried Leibniz was a famous mathematician and philosopher from Germany and he redefined the binary number system during the year 1676–1679. After the successful redefinition of number systems, the famous mathematician George Boole during the year 1854 invented the Boolean algebra and the revolution of the digital logic design set into motion. The actual invention of the prototype transistor model during the year 1946–1947 at Bell Labs by Shockley, Bardeen, Brattain had revolutionized the use of semiconductor in switching theory and for design o...

The Design For Testability (DFT) and its necessity

  Hello Dear Readers, Today In this post I will explain DFT and its necessity in VLSI. In the practical ASIC design, the DFT is used to find out various kinds of faults in the design. For FPGA designs this step is excluded. The necessity of DFT is for early detection of the faults in the design using scan chain insertions. The functional abstraction of defects is called a fault and the abstraction of the fault is the system-level error. Physical testing is carried out after manufacturing of chip to understand the fabrication-related issues or faults. The defects in the design can be physical or electrical. Physical defects are due to silicon or defective oxide. Electrical defects are short, open, transistor defects and changes in the threshold voltage. A few of the faults in the design are following  1. Stuck at faults: Stuck at one or Stuck at zero  2. Memory faults or pattern-sensitive faults  3. Bridging faults  4. Crosspoint faults  5. Delay faults...

Verilog : always@ Blocks

  Hello Dear Readers, Today In this post I will explain various flavors of the always@ blocks. There are normally two ways that we normally noticed in different Verilog codes that always@( * ) and always@(posedge Clock) block. always@ blocks are used to describe events that should happen under certain conditions. always@ blocks are always followed by a set of parentheses, a begin , some code, and an end . Program 1 shows a skeleton always@ block.  In Program 1 , The contents of the always@ block, namely elements describe elements that should be set when the sensitivity list is “satisfied.” For now, just know that when the sensitivity list is “satisfied,” the elements inside the always@ block are set/updated. They are not otherwise. Elements in an always@ block are set/updated sequentially and in parallel, depending on the type of assignment used. There are two types of assignments: <= (non-blocking) and = (blocking) . Non-blocking assignments happen in parallel. ...

Restoring And Non Restoring Division Algorithms Using Verilog HDL

  Hello Dear Readers, Today In this post I have implemented Restoring Division Algorithm Using Verilog HDL. So I have followed this   One video from Tutorial Point Youtube Channel   So go through it before Verilog code. start means the start of the division; busy indicates that the divider is busy (cannot start a new division); ready indicates that the quotient and remainder are available, and the  count is the output of a counter that is used to control the iterations of the division. Verilog Code(Restoring): module divider_32(a,b,start,clk,reset,q,r,busy,ready,count); input [31:0] a; // dividend input [15:0] b; // divisor input start; // start input clk,reset; // clk,reset output [31:0] q; // quotient output [15:0] r; // remainder output reg busy; // busy output reg ready; // ready output [4:0] count; // counter reg [31:0] reg_q; reg [15:0] reg_r; reg [15:0] reg_b; reg [4:0] count; wire [16:0] sub_out = {reg_r,reg_q[31]} - {1'b0,reg_...