精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

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

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

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

如何用AI來寫Verilog代碼?

傅里葉的貓 ? 來源:傅里葉的貓 ? 作者:傅里葉的貓 ? 2022-12-09 09:45 ? 次閱讀

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

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

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

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

ca08b8de-7761-11ed-8abf-dac502259ad0.pngimage-20221208210153673

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

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

ca214c5a-7761-11ed-8abf-dac502259ad0.pngimage-20221208210533770

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

ca3e4c42-7761-11ed-8abf-dac502259ad0.pngimage-20221208210631379

完整代碼如下:

//UARTReceiverModule
moduleuart_rx(
inputclk,
inputrx,
outputregrx_done,
outputreg[7:0]rx_data
);

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

//Initializeoutputs
always@*begin
rx_done=0;
rx_data=0;
end

//Statetransitionlogic
always@(posedgeclk)begin
state<=?next_state;
end

//Statetransitionfunction
always@*begin
case(state)
IDLE:begin
if(rx)next_state=START;
elsenext_state=IDLE;
end
START:begin
if(rx)next_state=DATA;
elsenext_state=IDLE;
end
DATA:begin
if(bit_count==0)next_state=STOP;
elseif(rx)next_state=DATA;
elsenext_state=IDLE;
end
STOP:begin
if(rx)next_state=IDLE;
elsenext_state=STOP;
end
endcase
end

//Outputlogic
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àn)證這個功能是否正確,但這個代碼的邏輯看起來應(yīng)該是沒有錯的。

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

ca5a0af4-7761-11ed-8abf-dac502259ad0.png

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

ca7b0cd6-7761-11ed-8abf-dac502259ad0.png

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

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

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

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

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

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

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

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


審核編輯 :李倩


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

    關(guān)注

    28

    文章

    1345

    瀏覽量

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

    關(guān)注

    87

    文章

    30239

    瀏覽量

    268475
  • 語言模型
    +關(guān)注

    關(guān)注

    0

    文章

    508

    瀏覽量

    10247

原文標(biāo)題:如何用AI來寫Verilog代碼?

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

收藏 人收藏

    評論

    相關(guān)推薦

    如何自動生成verilog代碼

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

    Verilog硬件描述語言參考手冊

    一. 關(guān)于 IEEE 1364 標(biāo)準(zhǔn)二. Verilog簡介三. 語法總結(jié)四. 編寫Verilog HDL源代碼的標(biāo)準(zhǔn)五. 設(shè)計(jì)流程
    發(fā)表于 11-04 10:12 ?0次下載

    Verilog語法中運(yùn)算符的用法

    verilog語法中使用以下兩個運(yùn)算符可以簡化我們的位選擇代碼
    的頭像 發(fā)表于 10-25 15:17 ?332次閱讀
    <b class='flag-5'>Verilog</b>語法中運(yùn)算符的用法

    如何利用Verilog-A開發(fā)器件模型

    何用Verilog-A來開發(fā)器件模型在建模領(lǐng)域?qū)⒂葹橹匾=裉炀蛠硪院唵蔚睦觼斫榻B如何開發(fā)一個Verilog-A Model。
    的頭像 發(fā)表于 10-18 14:16 ?330次閱讀
    如何利用<b class='flag-5'>Verilog</b>-A開發(fā)器件模型

    怎么樣提高verilog代碼編寫水平?

    ,共同進(jìn)步。 歡迎加入FPGA技術(shù)微信交流群14群! 交流問題(一) Q:怎么樣提高verilog代碼編寫水平?Cpu 從事DFT工作。目前僅限于寫一些簡單模塊。自學(xué)的話如何提高verilog編寫水平
    發(fā)表于 09-25 20:05

    FPGA Verilog HDL代碼如何debug?

    ,共同進(jìn)步。 歡迎加入FPGA技術(shù)微信交流群14群! 交流問題(一) Q:Verilog代碼如何debug?最近學(xué)習(xí)fpga,寫了不少verilog,開始思考如何debug的問題!c語言是順序執(zhí)行,而
    發(fā)表于 09-24 19:16

    探討AI編寫代碼技術(shù),以及提高代碼質(zhì)量的關(guān)鍵:靜態(tài)代碼分析工具Perforce Helix QAC &amp; Klocwork

    令軟件開發(fā)人員夜不能寐的事情比比皆是。如今,他們最關(guān)心的問題不再是如何用自己喜歡的語言(C、C++、Erlang、Java 等)表達(dá)最新的算法,而是人工智能(AI)。 本文中,我們將介紹AI編寫
    的頭像 發(fā)表于 06-05 14:10 ?376次閱讀

    扎心靈魂小拷問:有了AI編寫代碼之后,軟件工程師會被AI取代嗎?

    軟件開發(fā)者們有很多讓他們焦慮的事情。他們最擔(dān)心的不再是如何用他們最喜歡的編程語言(C、C++、Erlang、Java等)表達(dá)最新的算法。相反,這種擔(dān)憂正逐漸被人工智能(AI)所取代。 在這里,我們將探討AI編寫
    的頭像 發(fā)表于 05-24 19:17 ?609次閱讀
    扎心靈魂小拷問:有了<b class='flag-5'>AI</b>編寫<b class='flag-5'>代碼</b>之后,軟件工程師會被<b class='flag-5'>AI</b>取代嗎?

    verilog調(diào)用模塊端口對應(yīng)方式

    Verilog中的模塊端口對應(yīng)方式,并提供示例代碼和詳細(xì)解釋,以幫助讀者更好地理解和應(yīng)用。 首先,我們來了解一下Verilog中的模塊和模塊端口。一個Verilog模塊被定義為包含一組
    的頭像 發(fā)表于 02-23 10:20 ?1667次閱讀

    verilog function函數(shù)的用法

    Verilog 是一種硬件描述語言 (HDL),主要用于描述數(shù)字電子電路的行為和結(jié)構(gòu)。在 Verilog 中,函數(shù) (Function) 是一種用于執(zhí)行特定任務(wù)并返回一個值的可重用代碼塊。函數(shù)在
    的頭像 發(fā)表于 02-22 15:49 ?5148次閱讀

    【國產(chǎn)FPGA+OMAPL138開發(fā)板體驗(yàn)】(原創(chuàng))5.FPGA的AI加速源代碼

    FPGA架構(gòu)的優(yōu)化。以下是我寫的一個簡化版的代碼,用來展示FPGA如何加速AI計(jì)算中的某個簡單操作(比如矩陣乘法)。 // Verilog代碼,用于FPGA上的
    發(fā)表于 02-12 16:18

    怎么用emac實(shí)現(xiàn)Verilog自動連線呢?

    我們在編寫一些比較復(fù)雜的Verilog代碼時,通常需要進(jìn)行大量的手動連線工作,這種工作十分容易出錯,并且在代碼模塊的嵌套層級較多時,更改里層的一個代碼
    的頭像 發(fā)表于 01-24 10:03 ?1232次閱讀

    何用AI聊天機(jī)器人寫出萬字長文

    何用AI聊天機(jī)器人寫出萬字長文
    的頭像 發(fā)表于 12-26 16:25 ?1035次閱讀

    verilog bug的利器—notepad++介紹

    相信大家寫verilog代碼的時候,都會用到notepad++,大家也知道notepad++可以和vivado關(guān)聯(lián)使用,這樣寫起工程代碼的時候,調(diào)試很方便。
    的頭像 發(fā)表于 12-21 09:41 ?2074次閱讀
    找<b class='flag-5'>verilog</b> bug的利器—notepad++介紹

    何用Verilog分模塊編寫1A2B猜數(shù)字游戲并且在野火FPGA開發(fā)板上實(shí)現(xiàn)效果?

    何用Verilog分模塊編寫1A2B猜數(shù)字游戲并且在野火FPGA開發(fā)板上實(shí)現(xiàn)效果?
    發(fā)表于 12-01 12:59