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 需要注意的点(持续更新)
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...