关于语法、编译器以及设计者的一些看法

我们在进行程序设计的时候,不论是Verilog、C、JAVA还是其他的语言,我们总是需要遵循这种语言的语法,这样才能正确实现正确的功能。

但我们遵循语法规则的根本原因是什么呢?

在我们进行设计的时候,我们需要在某个特定环境下(软件),进行代码编写,然后编译器或者综合器,将代码转换成某种特定的语言,最终实现设计。

从这里看,我们遵循语法规则,不是说语法规则怎么样,而是我们要完成设计,就必须符合编译器的要求,假如不符合要求,你想怎么写就怎么写,编译器也可以不进行编译等(你任性,它更任性,看谁耗得过谁),最终肯定是设计者屈服于编译器。

而语法,是编译器(不特指某个编译器,而是统称)的基础,比如说Quartus软件,设计者要符合Verilog语言语法或者VHDL,然后Quartus才能实现设计。

但是,假设Quartus 的编译规则改变,还是对Verilog有效,但是出现以下改变:
1、原来的Verilog 语法,initial的意思是初始化, 不可综合,要写到非仿真文件里面也能生成电路。
2、但是当Quartus 认为initial不再是初始化的意思了,而是认为initial是parameter的意思,parameter是initial的意思,那这时候,我们还会按照语法来写程序吗,肯定不会,我们要完成设计,就必须按照编译器的规则来(要吃饭的嘛)

现在的国产FPGA的开发环境才起步,有些使用者觉得还有些BUG,尽管设计者完全掌握了语法,又怎样,开发软件出BUG,认为你语法不对,那你也没办法。(不是说国产不好,这只是发展的必经之路,你能说一个软件刚开发出来就能没有任何BUG,连quartus、vivado刚出来的时候肯定也BUG很多)

但是编译器肯定是按照语法设计的,不是说编译器想怎么弄就怎么弄,而是想说明我们设计的时候需要关注的是什么,是讨好编译器,按照编译器的要求来。

其实,我们需要讨好的不是语法,而是编译器

个人理解,不喜勿喷(别大喷),理性讨论。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值