你們也用C 來輔助verilog撰寫嗎?
时间:10-02
整理:3721RD
点击:
誠如標題,雖然我都是用verilog在寫電路
可是太過龐大的電路我換選擇用C語言來寫腳本,然後輸出成 .v的格式
這樣的好處是可以寫大量的遞迴(for loop)
那麼...寫C,遇到的問題應該去哪個論壇問呢?有沒有人可以推薦
或者我乾脆把問題po在這邊?!(這樣是不是就違規了?)
可是太過龐大的電路我換選擇用C語言來寫腳本,然後輸出成 .v的格式
這樣的好處是可以寫大量的遞迴(for loop)
那麼...寫C,遇到的問題應該去哪個論壇問呢?有沒有人可以推薦
或者我乾脆把問題po在這邊?!(這樣是不是就違規了?)
你不是大陆的啊。繁体字,看着费劲啊。
你是指用C来生成一段逻辑简单但繁琐的代码文本吗?
有时我们确实会这样做,而且不仅用C,有时excel也很好用。
一般来说是行不通的,一种行为的c描述对应着hdl电路的结构有多种形式,也就是说让高级语言编写的代码映射到低级语言,会有很多种,但是可能其中只有几种是你想要的的
除此之外,还有c中没有的时序,并发性等描述,这些问题,到需要认为的制定,机器不好做
据说 Xilinx 最新的 Vivado 支持用c语言综合
我觉得LZ的意思只是用C来产生verilog,实质上还是在写verilog,只是说用C来代替一些verilog比较繁锁的写法,比如always @(posedge clk or negedge reset_n) ,那么我可以在C中写一句"always_s",C输出的.v代码就是always @(posedge clk or negedge reset_n) ,这样做可以简化写Verilog的过程,特别是需要LOOP的地方,这样做可以节约很多写verilog的时间。
4楼提到了C到verilog的映射问题,其实用什么样的关键字会输出什么样的verilog代码都是自己定义好的,一般不会允许C自由发挥(这也许可以说成是你自己开发的一种中间语言,只是为了减轻写代码的工作)
不过我觉得做这样的事情,还是用perl处理会比C方便一些
为什么不用脚本语言?
