Skip to main content

Posts

Product Engineer II at Cadence Design Systems

Hello Dear Readers, Cadence Design Systems has a vacancy for a Product Engineer II role. Cadence is a pivotal leader in electronic design, building upon more than 30 years of computational software expertise. The company applies its underlying Intelligent System Design strategy to deliver software, hardware and IP that turn design concepts into reality.  Cadence customers are the world’s most innovative companies, delivering extraordinary electronic products from chips to boards to systems for the most dynamic market applications including consumer, hyperscale computing, 5G communications, automotive, aerospace industrial and health. The Cadence Advantage: The opportunity to work on cutting-edge technology in an environment that encourages you to be creative, innovative, and to make an impact. Cadence’s employee-friendly policies focus on the physical and mental well-being of employees, career development, providing opportunities for learning, and celebrating success in recog...

Carry Lookahead Adder Design And Implementation of Generic Parametrized Adder Using Verilog HDL

  Hello Dear Readers, Today In this post I have designed a carry-lookahead adder design and implemented its parametrized version using Verilog HDL and analysis that design for the desire output. First of all, I have designed CLA based on the theory described in the below video of the Neso Academy.       Verilog Code: module add (a, b, c, g, p, s); // adder and g, p input a, b, c; // inputs: a, b, c; output g, p, s; // outputs: g, p, s; assign s=a ^ b ^ c; // output: sum of inputs assign g = a & b; // output: carry generator assign p = a | b; // output: carry propagator endmodule module gp (g,p,c_in,g_out,p_out,c_out); // carry generator, carry propagator input [1:0] g, p; // lower level 2-set of g, p input c_in; // lower level carry_in output g_out,p_out,c_out; // higher level g, p, carry_out assign g_out = g[1] | p[1] & g[0]; // higher level carry generator assign p_out = p[1] & p[0]; // higher level carry propagator assign c_out = g[0] | p[0] & c_in...

Verilog Code of 4bit BCD Adder Using Full Adder

  Hello Dear Readers, Today in this post I will be providing you a complete Verilog code of 4 Bit BCD Adder using the Full Adder instant model. So before the start, the code keep in mind the algorithms for the BCD adder is if the additional sum is greater than 9 will become up then we add 6 on it to make a valid BCD number so here in my code I have used this algorithm so keep in mind. Verilog Code: module bcd_4bit(input [3:0] x,y,input cy_in,output [3:0] sum,output carry,output [4:0] bcd_sum); add4 a1 (carry,sum,x,y,cy_in); assign bcd_sum=carry==1?{carry,(sum+4'b0110)}:sum; endmodule module add4(cy4,sum,x,y,cy_in     ); input [3:0] x,y; input cy_in; output [3:0] sum; output cy4; wire [2:0] carry_out; add b0(carry_out[0],sum[0],x[0],y[0],cy_in); add b1(carry_out[1],sum[1],x[1],y[1],carry_out[0]); add b2(carry_out[2],sum[2],x[2],y[2],carry_out[1]); add b3(cy4,sum[3],x[3],y[3],carry_out[2]); endmodule module add(carry_out,sum,a,b,cy_in     ); input a,b,cy_in; outpu...

Designing of the 4 Tap FIR Filter Using Verilog HDL

  Hello Dear Readers, Here I have designed a 4 tap FIR filter using Verilog languages and some parts of the Python language to just print the input and output samples that are generating Verilog HDL. So Let's see the Code of the complete system. So first of all FIR filter is a system which transfer function has a finite number of impulsive points corresponding to the type of the filters such as high pass, low pass, bandpass, etc... so it has generally two types of structure as shown in the below, FIR Filter Structures: Here I have used the first structure in which first multiply input samples with impulse responses so without delay products is available now we give delays to that data means here we have implemented shifted adder for MAC operation of the digital filter. Verilog Code: module fir_4tap(input Clk,input signed [7:0] Xin,output reg signed [15:0] Yout);     //Internal variables. wire signed   [7:0] H0,H1,H2,H3; wire signed   [15:0] MCM_bl...

Design of the 3 Stage Pipeline Microprocessor Using Verilog

  Hello Dear Readers, First of all thanks for giving motivation on my first of designing microprocessor.  DESIGN OF THE SINGLE CYCLE MICROPROCESSOR USING VERILOG HDL . So now in this post, i will explain the 3 stages of the pipeline microprocessors namely the Fetch Unit , Decode Unit , and Execute Unit . So Let's start designing based on the specification given below. Stage-1: Fetch Unit Fetch Unit comprises half-word addressable instruction memory. It takes PC as input and gives the instruction as an output. PC is also incremented by PC=PC+1. Stage-2: Decode Unit Decode Unit reads the fetched instruction and decodes the address of two source operands and destination register. Also, it generates the immediate data. Register Bank reads the value of source operands (Rs1 and Rs2) at negative level of the clock, and writes the data in the destination register (Rd) at positive level of clock. Control Unit uses 4-bit opcode bits to determine the type of instruction.  Stage-3: E...