zoukankan      html  css  js  c++  java
  • blocking PK nonblocking

    记得汉玲大姐提起过 blocking与nonblocking,但当时并没有做好笔记,现在借助真OO无双的笔记重新整理。 由于量子计算机还没有研发到民用的级别,所以我们在做硬件开发的时候不得不考虑simulator是基于当前计算机技术的软件算法,是只能顺序执行的,而硬件是并行执行的。当simulator 模拟并行执行——时间片轮转法,鬼知道它转到哪里去了。所以有时候这个simulator出来的结果不是我们想要的,而且不是我们设计的错。 先来看看 blocking 与nonblocking 运用时的基本规范: 1,有clock的always中通常使用nonblocking。 2,无clock的always中通常使用blocking。 3,assign中使用的 blocking 4,同块中,blocking 与nonblocking不并存。 首先让我们来看看IEEE Verilog 的standard 图片
    (RHS为赋值语句右边的等式,LHS为赋值语句左边的变量。) 问题出现了,standard并没有说明RHS的执行顺序,这个时间片轮转法到底转到哪里去是“随机”的。 还是真OO无双会想办法去验证 图片 blocking 的执行方式类似于C ,一步步执行。可是并不知道先执行的是哪一条。
    再 将所有的 = 转换成<= 图片 先执行的是RHS。再在posedge clk 快要结束的时候去执行赋值过程。所以LHS得到的是RHS 上一个时刻的值。
  • 相关阅读:
    [LeetCode] 5. 最长回文子串
    [LeetCode] 572. 另一个树的子树
    [LeetCode] 983. 最低票价
    [LeetCode] 98. 验证二叉搜索树
    [LeetCode] 3. 无重复字符的最长子串
    [LeetCode] 21. 合并两个有序链表
    [LeetCode] 202. 快乐数
    [LeetCode] 面试题 01.07. 旋转矩阵
    [LeetCode] 面试题56
    个人网站实现支持https
  • 原文地址:https://www.cnblogs.com/sepeng/p/3137967.html
Copyright © 2011-2022 走看看