Verilog HDL Abstraction Levels //Verilog HDL 抽象层次 Procedural Blocks //过程块 Example - initial //initial块举例Example - always //always 块举例Procedural Assignment Statements //工程的赋值语句 Example - Bad procedural assignment //不好的过程赋值语句举例Example - Good procedural assignment //优雅的过程赋值举例 Procedural Assignment Groups //过程赋值组 Example - "begin-end" // begin-end 块举例Example - "fork-join" //fork-join 块举例 Sequential Statement Groups // 顺序语句块组 Example - sequential Parallel Statement Groups (并行语句块) Example - ParallelExample - Mixing "begin-end" and "fork - join" (begin-end块和fork-join块的混合举例) Blocking and Nonblocking assignment (阻塞赋值和非阻塞赋值) Example - blocking and nonblocking //阻塞与非阻塞的举例Waveform (波形图) assign and deassign (赋值和取消赋值) Example - assign and deassign force and release (force 和release) Example - force and release The Conditional Statement if-else (条件语句, if-else) Example- simple if (简单的if举例)Example- if-else (if-else 举例)Example- nested-if-else-if (嵌套的if-else-if举例)Simulation Log- nested-if-else-if (嵌套的if-else-if的仿真日志)Parallel if-else //并行的if-else The Case Statement //case语句块 Normal Case // 普通的case语句 Example- case // case 举例Example- case without default// 不带default的case语句举例 Example- case with x and z // 带有x,z值的case语句 The casez and casex statement // casez 和casex 语句 Example- casez // casez语句举例Simulation Output - casez // casez 语句的仿真输出 Example- casex // casex 语句举例 Simulation Output - casex // casex 语句的仿真输出Example- Comparing case, casex, casez // 普通的case语句 casex语句 casez语句的比较举例 Looping Statements //循环语句 The forever statement // forever 语句 Example - Free running clock generator // 自由运行的时钟举例 The repeat statement // repeat 语句 Example- repeat // repeat 语句的举例 The while loop statement // while循环语句 Example- while // while举例 The for loop statement // for循环举例 Example - For Continuous Assignment Statements // 连续赋值语句 Example - One bit Adder //一位加法器Example - Tri-state buffer //三态缓冲器 Propagation Delay // 传播时延 Example - Tri-state buffer //三态缓冲器 Procedural Block Control //过程块的控制 Combo Logic using Procedural Coding //使用过程编码的组合逻辑电路 Example - One bit Adder // 一位加法器 举例Example - 4-bit Adder // 4位加法器Example - Ways to avoid Latches - Cover all conditions //避免闭锁的方法:包含所有的条件情形Example - Ways to avoid Latches - Snit the variables to zero //使没用的变量归0 Sequential Logic using Procedural Coding //使用过程块编码的时序逻辑电路 Example - Bad coding - Using two clocks //不好的编码方式:使用2个clock(时钟) Example - D Flip-flop with async reset and async preset //带有异步复位和异步先前置位的D触发器 Example - D Flip-flop with sync reset and sync preset //带有同步复位和同步先前置位的D触发器 A procedure can't trigger itself //一个过程块不能触发它自己Procedural Block Concurrency // 过程块的并发执行Race condition // 竞争条件 Named Blocks //命名过程块 Example - Named Blocks //命名过程块的举例 the above original link:http://www.asic-world.com/verilog/vbehave.html