0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

從有限狀態(tài)機(jī)圖片直接生成SV代碼

sanyue7758 ? 來源: EETOP ? 2023-10-30 11:07 ? 次閱讀

在當(dāng)今快節(jié)奏的世界中,半導(dǎo)體設(shè)計的創(chuàng)新是一項永恒的需求。對更快、更準(zhǔn)確、更創(chuàng)新的解決方案的需求為探索生成式人工智能(#GenerativeAI)在半導(dǎo)體設(shè)計開發(fā)領(lǐng)域的潛力鋪平了道路。能做到嗎?當(dāng)然可以!在本系列文章中,我們將深入探討令人興奮的實驗,展示生成式人工智能如何徹底改變半導(dǎo)體設(shè)計。

實例 1 - 從 FSM 圖到 SV 代碼

第一個實驗通過將有限狀態(tài)機(jī) (FSM) 圖轉(zhuǎn)換為 SystemVerilog (SV) 代碼,展示了生成式人工智能的非凡能力。

在本例中,谷歌的生成式人工智能模型--BARD 被用來生成一個自動售貨機(jī) FSM 的 SystemVerilog 實現(xiàn)。

狀態(tài)機(jī)圖片:

cc8b23ee-76cf-11ee-939d-92fbcf53809c.jpg

cc9667cc-76cf-11ee-939d-92fbcf53809c.png

代碼如下:

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

有限狀態(tài)機(jī)在芯片設(shè)計中得到廣泛應(yīng)用,以下是生成式人工智能如何發(fā)揮關(guān)鍵作用:

提高生產(chǎn)力:有了生成式人工智能,創(chuàng)建和更新圖表變得輕而易舉。設(shè)計人員現(xiàn)在可以專注于高級概念,讓人工智能來做基礎(chǔ)工作。這不僅加快了開發(fā)過程,還能在需要更改設(shè)計時迅速進(jìn)行迭代。

更高的準(zhǔn)確性:FSM 已經(jīng)成為硬件設(shè)計的標(biāo)準(zhǔn)化工具。生成式人工智能模型經(jīng)過大量數(shù)據(jù)集的訓(xùn)練,能夠熟練地將這些圖表轉(zhuǎn)換為準(zhǔn)確的 SV 代碼。減少了人為錯誤,提高了代碼質(zhì)量。

提高創(chuàng)新能力:生成式人工智能的速度和準(zhǔn)確性為快速探索新的設(shè)計理念打開了大門。設(shè)計人員可以利用各種 FSM 圖表進(jìn)行頭腦風(fēng)暴和實驗,從而推動創(chuàng)新。這種靈活性使每一代半導(dǎo)體器件都能更快地集成先進(jìn)功能。 雖然生成式人工智能前景廣闊,但必須謹(jǐn)慎行事。生成的代碼不一定總是完美的。在將人工智能生成的代碼部署到生產(chǎn)環(huán)境之前,設(shè)計人員必須對其進(jìn)行審查和嚴(yán)格測試。徹底的驗證過程對于確保最終半導(dǎo)體設(shè)計的可靠性和功能性至關(guān)重要。

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 半導(dǎo)體
    +關(guān)注

    關(guān)注

    334

    文章

    26873

    瀏覽量

    214393
  • AI
    AI
    +關(guān)注

    關(guān)注

    87

    文章

    29824

    瀏覽量

    268112
  • 人工智能
    +關(guān)注

    關(guān)注

    1790

    文章

    46670

    瀏覽量

    237111
  • 有限狀態(tài)機(jī)

    關(guān)注

    0

    文章

    52

    瀏覽量

    10311

原文標(biāo)題:用生成式AI設(shè)計芯片,實例1:從有限狀態(tài)機(jī)圖片直接生成SV代碼

文章出處:【微信號:處芯積律,微信公眾號:處芯積律】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    FPGA有限狀態(tài)機(jī)

    FPGA有限狀態(tài)機(jī)
    發(fā)表于 09-08 08:45

    有限狀態(tài)機(jī)有什么類型?

    在實際的應(yīng)用中,根據(jù)有限狀態(tài)機(jī)是否使用輸入信號,設(shè)計人員經(jīng)常將其分為Moore型有限狀態(tài)機(jī)和Mealy型有限狀態(tài)機(jī)兩種類型。
    發(fā)表于 04-06 09:00

    什么是有限狀態(tài)機(jī)

    在嵌入式,機(jī)器人領(lǐng)域,由于多的復(fù)雜邏輯狀態(tài),我們編寫程序的時候不得不考慮很多種情況,容易造成功能間的沖突。有限狀態(tài)機(jī)(finite-state machine),簡稱狀態(tài)機(jī),是一種表示有限
    發(fā)表于 12-20 06:51

    狀態(tài)機(jī)代碼生成工具

    狀態(tài)機(jī)代碼生成工具狀態(tài)機(jī)代碼生成工具狀態(tài)機(jī)
    發(fā)表于 11-19 15:12 ?9次下載

    有限狀態(tài)機(jī)_FSM_的實現(xiàn)

    本文主要介紹了IP模塊的有限狀態(tài)機(jī)的實現(xiàn)。
    發(fā)表于 03-22 15:42 ?0次下載

    有限狀態(tài)機(jī)的建模與優(yōu)化設(shè)計

    本文提出一種優(yōu)秀 、高效的 Verilog HDL 描述方式來進(jìn)行有限狀態(tài)機(jī)設(shè)計 介紹了 有限狀態(tài)機(jī)的建模原則 并通過一個可綜合的實例 驗證了 該方法設(shè)計的有限狀態(tài)機(jī)在面積和功耗上的優(yōu)勢。
    發(fā)表于 03-22 15:19 ?1次下載

    VHDL有限狀態(tài)機(jī)設(shè)計-ST

    EDA的有限狀態(tài)機(jī),廣義而言是指只要涉及觸發(fā)器的電路,無論電路大小都可以歸結(jié)為狀態(tài)機(jī)。有限狀態(tài)機(jī)設(shè)計在學(xué)習(xí)EDA時是很重要的一章。
    發(fā)表于 06-08 16:46 ?3次下載

    初學(xué)者對有限狀態(tài)機(jī)(FSM)的設(shè)計的認(rèn)識

    有限狀態(tài)機(jī)(FSM)是一種常見的電路,由時序電路和組合電路組成。設(shè)計有限狀態(tài)機(jī)的第一步是確定采用Moore狀態(tài)機(jī)還是采用Mealy狀態(tài)機(jī)。
    發(fā)表于 02-11 13:51 ?4260次閱讀
    初學(xué)者對<b class='flag-5'>有限狀態(tài)機(jī)</b>(FSM)的設(shè)計的認(rèn)識

    如何使用FPGA實現(xiàn)序列檢測有限狀態(tài)機(jī)

    有限狀態(tài)機(jī)是絕大部分控制電路的核心結(jié)構(gòu), 是表示有限狀態(tài)以及在這些狀態(tài)之間轉(zhuǎn)移和動作等行為的數(shù)學(xué)模型。有限狀態(tài)機(jī)是指輸出取決于過去輸入部分
    發(fā)表于 11-04 17:17 ?12次下載
    如何使用FPGA實現(xiàn)序列檢測<b class='flag-5'>有限狀態(tài)機(jī)</b>

    有限狀態(tài)機(jī)設(shè)計是HDL Designer Series的關(guān)鍵應(yīng)用

    ,導(dǎo)致狀態(tài)機(jī)性能不佳。 關(guān)鍵要素用戶對工具可用于生成HDL設(shè)計工具的成功應(yīng)用充滿信心可預(yù)測的高性能有限狀態(tài)機(jī)HDL代碼。
    發(fā)表于 04-08 10:05 ?6次下載

    基于事件驅(qū)動的有限狀態(tài)機(jī)介紹

    ? 一、介紹 EFSM(event finite state machine,事件驅(qū)動型有限狀態(tài)機(jī)),是一個基于事件驅(qū)動的有限狀態(tài)機(jī),主要應(yīng)用于嵌入式設(shè)備的軟件系統(tǒng)中。 EFSM的設(shè)計原則是:簡單
    的頭像 發(fā)表于 11-16 15:29 ?2298次閱讀

    如何以面向?qū)ο蟮乃枷朐O(shè)計有限狀態(tài)機(jī)

    有限狀態(tài)機(jī)又稱有限狀態(tài)自動機(jī),簡稱狀態(tài)機(jī),是表示有限狀態(tài)以及在這些
    發(fā)表于 02-07 11:23 ?4次下載
    如何以面向?qū)ο蟮乃枷朐O(shè)計<b class='flag-5'>有限狀態(tài)機(jī)</b>

    基于事件驅(qū)動的有限狀態(tài)機(jī)介紹

    EFSM(event finite state machine,事件驅(qū)動型有限狀態(tài)機(jī)),是一個基于事件驅(qū)動的有限狀態(tài)機(jī),主要應(yīng)用于嵌入式設(shè)備的軟件系統(tǒng)中。
    的頭像 發(fā)表于 02-11 10:17 ?1015次閱讀

    一個基于事件驅(qū)動的有限狀態(tài)機(jī)

    EFSM(event finite state machine,事件驅(qū)動型有限狀態(tài)機(jī)),是一個基于事件驅(qū)動的有限狀態(tài)機(jī),主要應(yīng)用于嵌入式設(shè)備的軟件系統(tǒng)中。 EFSM的設(shè)計原則是:簡單!EFSM的使用者只需要關(guān)心:
    的頭像 發(fā)表于 08-30 09:28 ?791次閱讀
    一個基于事件驅(qū)動的<b class='flag-5'>有限狀態(tài)機(jī)</b>

    有限狀態(tài)機(jī)分割設(shè)計

    有限狀態(tài)機(jī)分割設(shè)計,其實質(zhì)就是一個狀態(tài)機(jī)分割成多個狀態(tài)機(jī)
    的頭像 發(fā)表于 10-09 10:47 ?603次閱讀