In today’s fast-paced world, innovation in semiconductor design is a constant demand. The need for quicker, more accurate, and innovative solutions has paved the way for exploring the potential of Generative AI (#GenerativeAI) in the realm of semiconductor design development. Can it be done? Hell yeah! In this article series, we delve into exciting experiments that demonstrates how Generative AI is revolutionizing semiconductor design.
Experiment 1 – FSM Diagram to SV Code
This first experiment showcases the remarkable capabilities of Generative AI by converting a Finite State Machine (FSM) diagram into SystemVerilog (SV) code. In this case, Google’s Generative AI Model – BARD was used to generate a SystemVerilog implementation of a vending machine FSM shown in the cover picture (sourced from https://www.softwareideas.net/fsm-finite-state-machine-diagram)

Generated Code
// Vending machine FSM
// Disclaimer: This code is not tested for correctness
module vending_machine (
input clk,
input reset,
input coin_inserted,
input product_selected,
input product_dispensed,
output reg dispense_product,
output reg return_coin
);
// Define the states
localparam [2:0] IDLE = 3'b000;
localparam [2:0] COIN_INSERTED = 3'b001;
localparam [2:0] PRODUCT_SELECTED = 3'b010;
localparam [2:0] PRODUCT_DISPENSED = 3'b011;
localparam [2:0] OUT_OF_STOCK = 3'b100;
// Define the registers
reg [2:0] current_state;
// Transition logic
always @(posedge clk or posedge reset) begin
if (reset) begin
current_state <= IDLE;
end else begin
case (current_state)
IDLE: begin
if (coin_inserted) begin
current_state <= COIN_INSERTED;
end else begin
current_state <= IDLE;
end
end
COIN_INSERTED: begin
if (product_selected) begin
current_state <= PRODUCT_SELECTED;
end else begin
current_state <= COIN_INSERTED;
end
end
PRODUCT_SELECTED: begin
if (product_dispensed) begin
current_state <= PRODUCT_DISPENSED;
end else if (out_of_stock) begin
current_state <= OUT_OF_STOCK;
end else begin
current_state <= PRODUCT_SELECTED;
end
end
PRODUCT_DISPENSED: begin
current_state <= IDLE;
end
OUT_OF_STOCK: begin
current_state <= IDLE;
end
endcase
end
end
// Output logic
always @(posedge clk) begin
case (current_state)
PRODUCT_DISPENSED: begin
dispense_product <= 1'b1;
end
default: begin
dispense_product <= 1'b0;
end
endcase
end
always @(posedge clk) begin
case (current_state)
OUT_OF_STOCK: begin
return_coin <= 1'b1;
end
default: begin
return_coin <= 1'b0;
end
endcase
end
endmodule
FSM diagrams are widely used in silicon design, and here’s how Generative AI can play a pivotal role:
- Increased Productivity: With Generative AI, creating and updating diagrams becomes a breeze. Designers can now focus on high-level concepts and let the AI do the groundwork. This not only accelerates the development process but also allows for swift iterations when design changes are required.
- Higher Accuracy: FSM diagrams have become standardized tools in hardware design. Generative AI models are trained on a vast dataset, making them proficient in converting these diagrams into accurate SV code. The result is reduced human error and higher code quality.
- Improved Innovation: Generative AI’s speed and accuracy open doors to rapid exploration of new design ideas. Designers can brainstorm and experiment with various FSM diagrams, pushing the boundaries of innovation. This agility allows for quicker integration of advanced features in each generation of semiconductor devices.
Caution – A Reality Check
While Generative AI holds enormous promise, it’s essential to exercise caution. The generated code may not always be perfect. Designers must review and rigorously test the AI-generated code before deploying it in a production environment. A thorough validation process is crucial to ensure the reliability and functionality of the final semiconductor design.
Conclusion
Generative AI is a game-changer in semiconductor design development. Experiment 1 clearly illustrates its potential by simplifying the conversion of FSM diagrams into SV code, offering increased productivity, higher accuracy, and a boost in innovation. However, it’s vital to remember that AI-generated solutions should be used as a tool to enhance the creative process, not replace it entirely. With the right checks and balances, the synergy between human ingenuity and Generative AI can lead to groundbreaking developments in the semiconductor industry.
Also Read:
Generative AI for Silicon Design – Article 2 (Debug My Waveform)
Share this post via:

The AI PC: A New Category Poised to Reignite the PC Market