99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

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

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

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

用AI來寫Verilog代碼能行嗎

jf_78858299 ? 來源:傅里葉的貓 ? 作者:張大俠 ? 2023-05-05 16:02 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

最近ChatGPT大火,成功破圈,到底是什么?怎么使用?

簡單說,它是一個模型,一個語言模型!

它是以對話方式與人進行交互的AI語言模型!

但它能做的事情太多了,可以用它來寫一封請假郵件:

圖片

image-20221208210153673

還有人用它來學(xué)英語、向它提各種問題,甚至可以用它來寫程序,很多軟件工程師都嘗試過用它來寫Python、Java編程語言,這里我們就不再嘗試了。

作為FPGA工程師,我們肯定想讓它幫我們寫Verilog!看看效果怎么樣?

,時長00:23

[ ]

圖片

image-20221208210533770

在代碼后面甚至還有解釋:

圖片

image-20221208210631379

完整代碼如下:

// UART Receiver Module
module uart_rx(
  input clk,
  input rx,
  output reg rx_done,
  output reg [7:0] rx_data
);

// FSM states
localparam [1:0]
  IDLE = 2'b00,
  START = 2'b01,
  DATA = 2'b10,
  STOP = 2'b11;

reg [1:0] state, next_state;
reg [3:0] bit_count;
reg [7:0] rx_shift_reg;

// Initialize outputs
always @* begin
  rx_done = 0;
  rx_data = 0;
end

// State transition logic
always @(posedge clk) begin
  state <= next_state;
end

// State transition function
always @* begin
  case (state)
    IDLE: begin
      if (rx) next_state = START;
      else next_state = IDLE;
    end
    START: begin
      if (rx) next_state = DATA;
      else next_state = IDLE;
    end
    DATA: begin
      if (bit_count == 0) next_state = STOP;
      else if (rx) next_state = DATA;
      else next_state = IDLE;
    end
    STOP: begin
      if (rx) next_state = IDLE;
      else next_state = STOP;
    end
  endcase
end

// Output logic
always @* begin
  case (state)
    IDLE: begin
      bit_count = 4;
      rx_shift_reg = 0;
    end
    START: begin
      bit_count = 3;
    end
    DATA: begin
      bit_count = bit_count - 1;
      rx_shift_reg = {rx_shift_reg[6:0], rx};
    end
    STOP: begin
      rx_done = 1;
      rx_data = rx_shift_reg;
    end
  endcase
end

endmodule

雖然沒有驗證這個功能是否正確,但這個代碼的邏輯看起來應(yīng)該是沒有錯的。

于是又嘗試讓它寫一個信號處理方向的:FIR抽取濾波器。

圖片

再寫個稍微復(fù)雜一點但仍然是標(biāo)準(zhǔn)的協(xié)議:apb轉(zhuǎn)axi-lite的bridge。

圖片

完整代碼很長,我也并沒有驗過,但大概看下來,功能基本都有。

對于過于復(fù)雜的,就無能為力了,比如:以太網(wǎng)協(xié)議棧。

但有個更有意思的現(xiàn)象,當(dāng)我第一次讓它寫以太網(wǎng)協(xié)議棧時,它提示太難了,寫不出來。

把對話復(fù)位后,再讓它寫,它就會寫一個大概的module,里面只有些接口,后面又復(fù)位對話后再重新讓它寫了,寫出來的程序就更多了。

說明它的學(xué)習(xí)能力一直在增長。

可能現(xiàn)在它的功能還并不是很完善,但作為工程師,看到這么強大的功能,不禁有些感慨,我們的核心競爭力是什么?如果真的有一天,AI可以幫我們寫代碼了,我們該去做什么?

(抖個機靈:是不是到時候只需要驗證工程師了?)

最后補充一點,這個網(wǎng)站的注冊是需要一個國外的手機號,可能很多人弄不到,所以,如果你有什么有趣的功能想嘗試,可以跟我聯(lián)系,我來幫你試。

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

    關(guān)注

    29

    文章

    1367

    瀏覽量

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

    關(guān)注

    88

    文章

    35065

    瀏覽量

    279329
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4900

    瀏覽量

    70669
  • ChatGPT
    +關(guān)注

    關(guān)注

    29

    文章

    1589

    瀏覽量

    9073
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    普通運放+晶體管實現(xiàn)100V,4M的信號輸出能行嗎?

    請問普通運放+晶體管實現(xiàn)100V,4M的信號輸出能行嗎?
    發(fā)表于 09-04 06:17

    CC2530與5V供電超聲波測距,能行嗎

    我想用CC2530與5V供電的超聲波模塊相連來測距,能行嗎?2530芯片不會燒掉吧?
    發(fā)表于 03-15 16:46

    在家里自學(xué)單片機硬件設(shè)計能行嗎

    本帖最后由 dsl7410 于 2016-9-18 21:00 編輯 沒有工具可以把設(shè)計好的PCB圖做成實體的PCB,能行嗎
    發(fā)表于 09-18 20:22

    28069時鐘內(nèi)部的晶振能行嗎

    在使用到DSP的CAN時,有些文檔提到,最好使用外接精確的晶振,最好不要使用內(nèi)部晶振,在28069上存在這個問題嗎,如果使用28069的can模塊,內(nèi)部的晶振能行嗎
    發(fā)表于 11-27 14:44

    LH560A“你能行嗎?祝你成功”語言集成電路圖

    LH560A“你能行嗎?祝你成功”語言集成電路圖
    發(fā)表于 03-31 17:06 ?1259次閱讀
    LH560A“你<b class='flag-5'>能行嗎</b>?祝你成功”語言集成電路圖

    verilog_代碼資料

    verilog_代碼資料,非常實用的代碼示例。
    發(fā)表于 02-18 15:00 ?37次下載

    verilog代碼規(guī)范

    verilog代碼規(guī)范,學(xué)會寫代碼還不行,我們需要更加的規(guī)范。
    發(fā)表于 03-25 14:43 ?24次下載

    8051 verilog代碼

    8051 verilog代碼分享,有需要的下來看看。
    發(fā)表于 05-24 09:45 ?0次下載

    Verilog 入門的實例代碼

    Verilog 入門的實例代碼,有需要的下來看看
    發(fā)表于 05-24 10:03 ?20次下載

    verilog_代碼

    verilog_代碼分享,有需要的朋友下來看看。
    發(fā)表于 05-24 10:03 ?12次下載

    Python國產(chǎn)庫推薦之musicpy:讓你代碼來寫音樂

    你想過代碼來寫音樂嗎?這里給大家介紹一個國人寫的庫 musicpy,讓你簡潔的語法通過樂理邏輯寫出優(yōu)美的音樂。 這個庫可以讓你非常簡潔
    的頭像 發(fā)表于 12-16 11:26 ?1904次閱讀

    什么樣的Verilog代碼風(fēng)格是好的風(fēng)格?

    代碼是給別人和多年后的自己看的。 關(guān)于Verilog代碼設(shè)計的一些風(fēng)格和方法之前也寫過一些Verilog有什么奇技淫巧?
    的頭像 發(fā)表于 10-24 15:23 ?1953次閱讀

    如何用AI來寫Verilog代碼?

    可能現(xiàn)在它的功能還并不是很完善,但作為工程師,看到這么強大的功能,不禁有些感慨,我們的核心競爭力是什么?如果真的有一天,AI可以幫我們寫代碼了,我們該去做什么?
    的頭像 發(fā)表于 12-09 09:45 ?2611次閱讀

    如何在VScode中用AI補全V/SV代碼呢?

    昨天群里小伙伴說在VScode中用AIverilog效果很好。小編以前編輯代碼都是gvim。抱著學(xué)習(xí)的心態(tài),我在linux下嘗試了下V
    的頭像 發(fā)表于 08-03 10:24 ?4254次閱讀
    如何在VScode中用<b class='flag-5'>AI</b>補全V/SV<b class='flag-5'>代碼</b>呢?

    如何自動生成verilog代碼

    介紹幾種自動生成verilog代碼的方法。
    的頭像 發(fā)表于 11-05 11:45 ?1025次閱讀
    如何自動生成<b class='flag-5'>verilog</b><b class='flag-5'>代碼</b>