1.过程中的两类赋值语句

1. 阻塞式赋值和非阻塞式赋值的区别

阻塞式赋值语句(目标变量名=驱动表达式) 的执行过程分为三步:

计算出“驱动表达式”的值;

向目标变量进行赋值操作;

完成赋值。

这三步是并成一步完成的,即一旦执行,目标 变量被立即更新,而在此过程中其他同类赋值 语句必须停止工作!

非阻塞式赋值的三个步骤不是一步完成的

非阻塞式赋值在赋值的第一个阶段(计 算“驱动表达式”的值)理论上是可以 立即完成的,但第二个阶段(向目标变 量进行赋值操作),需要由一个δ延时段。 也就是δ延时后,赋值才被更新。在这个 延迟时间段,允许其他同类赋值语句的 执行或者说赋值操作。

2. 未指定延时的阻塞式赋值语句

        目标变量名=驱动表达式

3. 指定了延时的阻塞式赋值

左边例子表示,当第一条语句执行完之后需要延时6个时间单位在执行第二条语句;右边例子表示,当第一条语句执行完后,立刻执行等式右边表达式的值,等待6个时间单位后再赋值给左边

4. 未指定延时的非阻塞式赋值

非阻塞赋值允许对同一目标多次赋值或驱动,并且最终获得赋值(更新)的目标 变量是最后一个,即最接近过程结束的那一语句的目标变量。

左:程序是不被允许的,由于连续赋值语句的并行性,使得综合器无法确定Q1获得什么值,除非这三条语句被执行后,Q1能获得高阻态z的赋值。

中:阻塞式赋值,Q1经历了2b'11和2b'01的赋值

对于非阻塞赋值,Q1从来未经历过2’b11和2‘b01数据的更新。

5. 指定了延时的非阻塞式赋值

赋值号左侧的[延时]是指对整条语句执行的延时,即相隔与上一条 语句的延时量。

赋值号右侧的[延时]是指在赋值语句的右侧表达式得出运算结果后, 延时一段指定的时间再将运算结果赋值给赋值号左边的变量

6. 深入认识阻塞与非阻塞式赋值的特点

7. 不同的赋初值方式导致不同综合结果的示例

2.过程语句归纳

1. 过程语句应用总结

(1)和软件语言不同,过程语句always的执行依赖于敏感信号的变化。

(2)在一个模块中可以包含任意个过程语句结构,所有的过程语句结构本身都属于并行运行语句, 而由任一过程引导的各类语句结构都属于顺序语句。

(3)与引导行为语句(顺序执行的语句)的always语句相对应,assign引导的语句属于并行语句。 always语句本身也属于并行语句,所以在许多情况下这两类语句是可以互相转换表达的。

2. 深入认识不完整条件语句与时序电路的关系

(1)不完整的条件语句的描述,是Verilog描述时序电路的途径之一(通常用于描述电平触发类锁存 器电路)。

(2)在利用条件语句进行纯组合电路设计时,如果没有充分考虑电路中所有可能出现的问题(条 件),即没有列全所有的条件及其对应的处理方法,将导致不完整的条件语句的出现,从而综合出了 设计者不希望的组合与时序电路的混合体。

完整的条件语句构成组合电路,不完整的条件语句构成时序电路

3.if语句归纳

1. if语句的一般表述形式

第(3)种if语句是一种多重if语句嵌套式条件句,其重要特点为,其任一分支 顺序语句的执行条件是以上各分支所确定条件的相与,即相关条件同时成立。 即语句中顺序语句的执行条件具有向上相与的功能,而有的逻辑设计恰好需要 这种功能,如优先编码器。

设计一个11分频的分频器,要 求输出占空比为50%

module div11x(input clk,input reset_n,output q);reg [3:0] cnt;reg x_p,x_n;
always @(posedge clk,negedge reset_n)
if(!reset_n)cnt <= 0;
else if(cnt < 11-1)cnt <= cnt + 1'b1;
elsecnt <= 0
always @(posedge clk,negedge reset_n)
if(!reset_n)x_p <= 0;
else if(cnt < 11/2)x_p <= 1;
elsex_p <= 0;
always @(negedge clk,negedge reset_n)
if(!reset_n)x_n <= 0;
elsex_n <= x_p;assign q = x_p | x_n;
endmodule

4.三态Verilog的描述

 (1)当使能控制信号ENA为1时,4位数据输出;为0时输出呈高阻态。

(2)Z和普通数值不同,它只能在端口赋值,不能在电路模块中被信号所传递;而且由于Z在 综合中是一个不确定的值,有的情况下不同的综合器可能会给出不同的结果,因而对于 Verilog综合前的行为仿真与综合后的功能仿真结果也可能是不同的。

2. 双向端口设计

由于双向端口在完成输入功能时,必须使 原来呈输出模式的端口呈高阻态,否则待 输入的外部数据势必会与端口处原有电平 发生“线与”,导致无法将外部数据正确 地读入,也就无法实现双向功能

3. 三态总线控制电路设计

要设计出能产生独立控制的多通道的三态总线电路结构,必须使用并行语句

例题:根据RTL图写程序、

5.双向端口设计

由于双向端口在完成输入功能时,必须使原来呈输出 模式的端口呈高阻态,否则待输入的外部数据势必会 与端口处原有电平发生“线与”,导致无法将外部数 据正确地读入,也就无法实现双向功能。

右边例子的情况就不同了,其中在else之前的块语句中仅增加了语句 Q<=4’HZ就解决了两个重要的问题: (1)使Q在if语句中有了完整的条件描述,从而克服了时序元件的引入。 (2)在Q履行输入功能时,将其设定为高阻态输出,使Q成为真正的双向 端口

9 EDA实用技术与教程【Verilog深入】相关推荐

  1. 立创eda学习笔记二十六:手把手教你使用立创eda的官方教程

    可以通过以下办法找到教程: 1,在软件界面点帮助-使用教程 2,在网站首页-帮助-教程进入 如何使用教程: 这里是一级目录,其实对新手最有用的是前面3个部分,后面的仿真先不看. 常见问题里面不光是讲的 ...

  2. EDA技术使用教程实验

    转载于:https://www.cnblogs.com/bgd140206128/p/6537203.html

  3. EDA时序电路的Verilog设计

    时序电路通常都是由过程语句来描述的 时钟边沿敏感型(posedge,negedge).电平敏感型 触发器:时钟端要加上posedge,表示需要产生时序电路 用UDP也能描述时序电路,(01)表示信号是 ...

  4. 基于VHDL的全自动洗衣机控制器设计

    全自动洗衣机控制器设计 <数字电子技术>课程设计报告 <数字电子技术>课程设计任务书 设计内容与要求 1.概述 1.1EDA简介 1.2开发软件quartus简介 2.基本原理 ...

  5. 拼题A (PTA) 公共题集题解收录

    仓库地址:PTA: 拼题A(PTA)公共题集的题解 (github.com) 该仓库收录 拼题A 公共习题的题解,绝大部分习题都是本人自己的原创代码,如有错误的代码可提交 Issue 推荐使用我开发的 ...

  6. 第一章 信息源泉——推介资料出处

    一.推介图书 初学者建议看基本中文的教材,这样方便上手 (1)<EDA技术使用教程-Verilog(第四版)>潘松 黄继业,科学出版社 国内Verilog经典教材,杭电人民首批试用,由杭电 ...

  7. 基于FPGA的VGA显示设计(一)

    前言 FPGA主要运用于芯片验证.通信.图像处理.显示VGA接口的显示器是最基本的要求了. 原理 首先需要了解 : (1)VGA接口协议:VGA端子_维基百科 .VGA视频传输标准_百度 引脚1 RE ...

  8. 基于FPGA的VGA时序分析

    前言 FPGA主要运用于芯片验证.通信.图像处理.显示VGA接口的显示器是最基本的要求了. 原理 首先需要了解 : (1)VGA接口协议:VGA端子_维基百科 .VGA视频传输标准_百度 引脚1 RE ...

  9. 如何学习FPGA,好书推荐

    <深入浅出玩转FPGA>有书,有视频,有开发板,非常适合自学. 而且作者根据自己的实践经验写出来的书,很实在. 转载某人推荐的:http://archive.cnblogs.com/a/2 ...

最新文章

  1. it行业php,什么是IT行业
  2. Bzoj2555 SubString
  3. __declspec(dllexport)的作用
  4. 爬虫学习round02
  5. 卷积滤波 英文_图像处理必备英文词汇
  6. JavaWeb国际化
  7. 2021第十二届蓝桥杯省赛B组原题答案及总结
  8. 极光推送源码api封装改造
  9. oracle静默安装集群,Oracle RAC 静默安装实践
  10. IMPROVING ADVERSARIAL ROBUSTNESS REQUIRES REVISITING MISCLASSIFIED EXAMPLES
  11. 【私有,不喜勿入】健康
  12. 督查督办工作基本程序
  13. 小尺寸 GPS 北斗 GNSS 全向内置天线方案 CA-G01 CrossAir贴片天线
  14. 正式服务器有信号枪吗,吃鸡信号枪正式实装!我朝天开一枪引来了十个挂
  15. c#中实现Word、Excel、Pdf预览及音频和视频播放
  16. 梯度下降法,二维空间三维空间 代码实现
  17. Android Studio的报错提示:SSL peer shut down incorrectly
  18. html5 video 隐藏全屏按钮,如何隐藏HTML5视频标签的全屏按钮?
  19. 危楼还望,叹此意、今古几人曾会? — 夜读南宋词人陈亮《念奴娇·登多景楼》感怀
  20. 金字塔的思维---先总后分与结论先行

热门文章

  1. 3dsMAX中R键的用法
  2. 学术必备!35个国内外社会科学数据网站资源汇总(附链接)
  3. 关于解决主机和虚拟机ping不通的问题
  4. 矿小助 全局主题 | 一个插件实现网易云音乐主题效果 | Flutter
  5. 切断电源之后计算机丢失的,电脑断电重启找不到硬盘该咋办?
  6. kali编译aosp和xposed
  7. sql语句的各种模糊查询
  8. 防止PCB会过期,以及过期后的处理办法
  9. windows下Python安装pymysql
  10. ThinkPHP6 验证码(点击刷新)