Skip to main content

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...

Modelling of Binary Encoding, Gray Encoding and One-hot encoding FSM using Verilog HDL

Hello Dear Readers, 

Today, I will explain how binary, gray, one-hot encoding FSM design using Verilog HDL.

1). Binary Encoding:

Binary encoding style can be used if the area requirement is a constraint on the design. In this encoding style state parameters for the binary encoding are represented in the binary format.

Two-Bit Binary Up-Counter FSM:

Two-bit binary counter FSM is described below, the number of states is equal to 4 and it needs four state variables ‘s0,’ ‘s1,’ ‘s2,’ and ‘s3.’ The number of flip-flops used to represent the functionality of the counter is equal to 2. The state transition table and the state transition diagram is shown in Fig.1 and Fig.2. The transition from one state to another state occurs on the positive edge of the clock. The default state is ‘s0’ and it is the reset state. So outcome is Moore machine as the output is a function of the current state only.

Fig.1 State Transition Table

Fig.2 State Diagram

Verilog Code:

module binary_count(clk,rst,y_out);

input clk,rst;

output reg [1:0]y_out;

parameter s0=2'b00,s1=2'b01,s2=2'b10,s3=2'b11;

reg [1:0]current_state,next_state;

// state logic definition

always @(posedge clk or negedge rst)

begin

  if(~rst)

     current_state<=s0;

  else

     current_state<=next_state;

end

// next state logic definition

always @(current_state)

case (current_state)

s0:next_state=s1;

s1:next_state=s2;

s2:next_state=s3;

s3:next_state=s0;        

default: next_state=s0;

endcase


//output logic definition

always @(current_state)

case(current_state)

s0:y_out=2'b00;

s1:y_out=2'b01;

s2:y_out=2'b10;

s3:y_out=2'b11;

default: y_out=2'b00;

endcase

endmodule

Simulational Results:

Fig.3 

2). Gray Encoding:

The Gray encoding style can be used if the area requirement is a constraint on the design. In this encoding style, state parameters are represented in the Gray format. 

Two-Bit Gray Counter FSM:

Two-bit Gray counter FSM is described below, the number of states is equal to 4 and it needs four state variables ‘s0,’ ‘s1,’ ‘s2,’ and ‘s3.’ The number of flip-flops used to represent the functionality of the counter is equal to 2. The state transition table and the state transition diagram is shown in Fig.4 and Fig.5. The transition from one state to another state occurs on the positive edge of the clock. The default state is ‘s0’ and it is the reset state. So the outcome is Moore machine as the output is a function of the current state only.

Fig.4 Gray Up-Counter State Table

Fig.5 State Diagram

Verilog Code:

module gray_count(clk,rst,y_out);

input clk,rst;

output reg [1:0]y_out;

parameter s0=2'b00,s1=2'b01,s2=2'b10,s3=2'b11;

reg [1:0]current_state,next_state;

// state logic definition

always @(posedge clk or negedge rst)

begin

  if(~rst)

     current_state<=s0;

  else

     current_state<=next_state;

end

// next state logic definition

always @(current_state)

case (current_state)

s0:next_state=s1;

s1:next_state=s3;

s3:next_state=s2;

s2:next_state=s0;        

default: next_state=s0;

endcase


//output logic definition

always @(current_state)

case(current_state)

s0:y_out=2'b00;

s1:y_out=2'b01;

s3:y_out=2'b11;

s2:y_out=2'b10;

default: y_out=2'b00;

endcase

endmodule

Simulational Results:

Fig.5 

3). One-Hot Encoding:
Two-bit Gray counter FSM is described below, the number of states is equal to 4 and it needs four state variables ‘s0,’ ‘s1,’ ‘s2,’ and ‘s3.’ The number of flip-flops used to represent the functionality of the counter is equal to 4. The state transition table is shown in Fig.6. The transition from one state to another state occurs on the positive edge of the clock. The default state is ‘s0’ and it is the reset state. So the outcome is Moore machine as the output is a function of the current state only.

Fig.6 State table for One-Hot Encoding FSM

Verilog Code:

module onehot_count(clk,rst,y_out);

input clk,rst;

output reg [1:0]y_out;

parameter s0=4'b0001,s1=4'b0010,s2=4'b0100,s3=4'b1000;

reg [3:0]current_state,next_state;

// state logic definition

always @(posedge clk or negedge rst)

begin

  if(~rst)

     current_state<=s0;

  else

     current_state<=next_state;

end

// next state logic definition

always @(current_state)

case (current_state)

s0:next_state=s1;

s1:next_state=s2;

s2:next_state=s3;

s3:next_state=s0;        

default: next_state=s0;

endcase


//output logic definition

always @(current_state)

case(current_state)

s0:y_out=2'b00;

s1:y_out=2'b01;

s3:y_out=2'b11;

s2:y_out=2'b10;

default: y_out=2'b00;

endcase

endmodule

Simulational Results:

Fig.7 






Comments

  1. Now clear doubts regarding modelling of one hot encoding FSM.

    ReplyDelete
  2. perfectly as expected

    ReplyDelete
  3. One of the favourite blog for the students who are doing mini projects.

    ReplyDelete
  4. Such a fabulous work you are doing. Keep posting such kind of tutorial articles so we may be feel confidential on us.

    ReplyDelete
  5. So now one hot FSM modelling doubts cleared thanks for this post.

    ReplyDelete
  6. What a contents, in specifically VlSI field we never expect in free of cost this level of blogs thanks for your entire effort and I see inside you another Sandeep Maheshwari of VLSI field educator. Keep it up

    ReplyDelete

Post a Comment

Popular posts from this blog

Apprenticeship CAI at MediaTek Bangalore

Hello Dear Readers,   Currently at MediaTek Bangalore vacancy for an Apprenticeship CAI role. Job Description: B.Tech degree in Electrical/Electronics Engineering with a strong educational background in Digital circuit design Experience in physical design of high performance design with frequencies > 2 Ghz. Experienced in hierarchical design, budgeting, multiple voltage domains and multiple clock domains. Strong skills with Cadence Encounter. Solid understanding of STA and timing constraints. Experienced in working on advanced process nodes (16nm). Strong expertise in Physical Verification to debug LVS/DRC issues at the block level. Requirement: B.Tech degree in Electrical/Electronics Engineering with strong educational background in Digital circuit design Experience in physical design of high performance design with frequencies > 2 Ghz. Experienced in hierarchical design, budgeting, multiple voltage domains and multiple clock domains. Strong skills with Cadence Enc...

IC Physical Design (PnR) at Ulkasemi

Hello Dear Readers,   Ulkasemi  has a vacancy for an IC Physical Design (PnR) role. Job Overview: As a full-time Trainee Engineer, the individual will be working on IC Physical Design implementation from RTL to GDSII to create design databases ready for manufacturing with a special focus on power, performance & area optimization with next-generation state-of-the-art process technologies. Job Responsibilities: Perform physical design implementation which includes Floor planning, Power Planning, Clock Tree Synthesis, Place and Route, ECO, Logic Equivalence checks Timing analysis, physical & electrical verification, driving the sign-off closure meeting schedule, and design goals Develop flow, methodologies, and automation scripts for various implementation steps Follow the instructions, compile documents, prepare deliverables, and report to the team lead Should remain up to date with the latest technology trends Educational Qualification:   B.Sc/M.Sc   in EEE or...

Best Book for Designing Microarchitecture of Microprocessor Using Verilog HDL

  Hello Dear Readers, Currently, after succeeding in many topics now I starting to provide technical book reviews which were I have completed and still read books always. So let us start today's book review. Book Name:   Computer Principles and Design in Verilog  HDL Description:  Uses Verilog HDL to illustrate computer architecture and microprocessor design, allowing readers to readily simulate and adjust the operation of each design, and thus build industrially relevant skills Introduces the computer principles, computer design, and how to use Verilog HDL (Hardware Description Language) to implement the design Provides the skills for designing processor/arithmetic/cpu chips, including the unique application of Verilog HDL material for CPU (central processing unit) implementation Despite the many books on Verilog and computer architecture and microprocessor design, few, if any, use Verilog as a key tool in helping a student to understand these design techniques...