GrokでI2Cのマスター回路を生成し、機能を追加したりして、テストベンチまで作ってみました。
Grokへ合計で3回の質問をしましたがこれを一つずつ新規で質問すると回答の整合性は成立しません。
例えば、最初の質問であるつぎの文章を入力して回路を生成するとI2Cの回路を生成するでしょう。
apbバスから制御できるi2cのmasterの回路をsystemverilogで作成してください
しかし、信号名称などは毎回変わる可能性があります。
処理方法も違う可能性があります。
それに対して、つぎのように機能追加を行うには連続して質問しなければいけません。
作成したsystemverilogにACK/NACKの処理を追加してください
回答の精度を上げるために質問もより具体的に詳細であることが望ましいですがあまり長いとかえって変な情報に見えてしまい余計な回答が増えたりします。
そして、何よりも問題なのは生成されたものが正解なのか不正解なのかを判断するための知識ベースが必要であることです。
この例でいうとI2Cの仕様を知らないのにI2Cの回路を生成させてもその回路が正しいものなのか判別がつかないということです。
テストベンチも作成しましたがこれもテストそのものの内容が合っているのかを確認しなければいけません。
I2Cの回路を生成するためにI2Cを知っていなければいけないということで、現状の生成AIは知識ベースを備えた人が手を抜くために使うツールとしてよいというレベルであると言えるでしょう。