分类目录归档:学习

基于Spec的AI Coding


灵感的来源

之前尝试用Cursor写Verilog生成一个I2C控制器。可是AI成生的代码看着好看, 实际无法使用。于是我把遇到的错误告诉AI,让它去一步一步迭代。结果代码变得 越来越复杂,但是I2C控制器仍然没有跑起来。

看来,AI对于它比较熟悉,大家用的比较多的编程语言和场景,它处理的很好。但 对于一些小众的场景,和理想还有差距。

不过,在尝试的过程中,我发现AI对于Verilog的语法是掌握得很好,但是设计硬件 逻辑能力欠缺。于是,我尝试了另外一种流程。把整个控制器的状态机逻辑写到一 个MD的Spec中,让AI按照Spec去生成代码。这样,即使我不熟悉Verilog的语法, 只要我...

Read more

用AI来写Verilog


这几天突发奇想,如果不会Verilog,AI可不可以帮助我进行硬件的开发?于是我就尝试利用AI写一个I2C的Master的控制器。

我之前尝试直接让AI写一个I2C的控制器,结果生成的代码根本用不了。后来,我尝试了分步给AI指令,让它一步步去完善代码。 这样得到的结果会好很多,但代码很容易变成屎山。

几次尝试之后,发现比较可行的方案是把整个模块的细节描述清楚,放到一个md文件中,让AI用这个文件做为spec去写verilog。p 这样一来,省去了一步步交互的麻烦,代码质量也更好了。

本文就是我之前用来生成I2C控制器的Prompt.


我需要一个I2C控制器模块,该模块可以在10MHz系...

Read more