1.always块中所有的赋值语句声明都是reg类型的,不然编译器会出错;
2.组合逻辑中的赋值语句用“=”,时序逻辑中的赋值语句用“<=” or ">="进行赋值;
3.不同的always块是并行执行的,当触发条件达到,所有的always块一起执行,没有先后顺序,也就意味着同一个信号不能同时在不同的always块中定义不同的状态!
4.当需要写到begin...end语句时候,注意将begin...end对齐书写,形成良好的习惯,防止编译过程中begin...end的对齐处理不合适,导致逻辑错误,很难检查出来;
5.在组合逻辑的书写过程中,所有的分支语句都应该写完整,比如:有了if就要写else,有了case就要有endcase,即if...else,case...endcase都应该是成对出现,不然写出组合逻辑在编译时候回出现我们不想让出现的锁存器,这会导致写出的功能达不到预期的效果;如果编写的是时序逻辑,如果分支不完整是不会出现锁存器的;
6.如果在一个较复杂的设计中写了分支结构(if...else),且分支结构下面的语句不止一条,一定写完整begin...end,不然编译过程中会持续报错。(写计数器控制数码管灯出现的错误)
7.当always块遇到完整的if...else,case...endcase,这时候就已经默认该always块已经结束,如果使用嵌套语句在已经完整的分支结构后面继续追加语句,编译时候,会报错提示,要把嵌套语句写入这些完整语句的内部,而不能是外面!
Verilog HDL 需要注意的点(持续更新)
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。