[转]Verilog 对assign和always的一点理解_qp314的博客-程序员秘密

技术标签: join  Verilog/FPGA  

assign 用于描述组合逻辑

[email protected](敏感事件列表) 用于描述时序逻辑

敏感事件 上升沿 posedge,下降沿 negedge,或电平

敏感事件列表中可以包含多个敏感事件,但不可以同时包括电平敏感事件和边沿敏感事件,也不可以同时包括同一个信号的上升沿和下降沿,这两个事件可以合并为一个电平敏感事件。

在新的verilog2001中“,”和“or”都可以用来分割敏感事件了,可以用“*”代表所有输入信号,这可以防止遗漏。

合法的写法:

[email protected] *

[email protected] (posedge clk1,negedge clk2)

[email protected] (a or b)

`timescale 100ns/100ns //定义仿真基本周期为100ns

always #1 clk=~clk //#1代表一个仿真周期即100ns

 

所有的assign 和 always 块都是并行发生的!

并行块、顺序块

将要并行执行的语句写在

fork

//语句并行执行

join

将要顺序执行的语句写在

begin

//语句顺序执行

end

并行块和顺序块都可以写在

initial 或 [email protected] 之后,也就是说写在块中的语句是时序逻辑的

对assign之后不能加块,实现组合逻辑只能用逐句的使用assign

组合逻辑如果不考虑门的延时的话当然可以理解为瞬时执行的,因此没有并行和顺序之分,并行和顺序是针对时序逻辑来说的。值得注意的是所有的时序块都是并行执行的。initial块只在信号进入模块后执行1次而always块是由敏感事件作为中断来触发执行的。

 


本文来自程序员秘密,转载请标明出处:http://blog.csdn.net/iamoyjj/archive/2008/12/08/3478321.aspx

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qp314/article/details/5089269

智能推荐

史上最全python面试题详解(一)(附带详细答案(持续更新))_weixin_34044273的博客-程序员秘密

1、简述解释型和编译型编程语言?概念:编译型语言:把做好的源程序全部编译成二进制代码的可运行程序。然后,可直接运行这个程序。解释型语言:把做好的源程序翻译一句,然后执行一句,直至结束!区别:编译型语言,执行速度快、效率高;依赖编译器、跨平台性差些。如C、C++、Delphi、Pascal,Fortran。解释型语言,执行速度慢...

python filter函数_wateryouyouyou的博客-程序员秘密

python中常用的内置函数,主要用来过滤元素列表。filter(function or None, sequence),其中sequence 可以是list ,tuple,string。这个函数的功能是过滤出sequence 中调用function函数结果为False的元素,仅输出符合条件的元素列表。应用举例:1.过滤掉列表中的0元素,或False值。2.调用

「Python数据分析系列」20. 聚类分析_数据与智能的博客-程序员秘密

来源 | Data Science from Scratch, Second Edition作者 |Joel Grus译者 | cloverErna校对 | gongyouliu编辑 ...

IOS 数组分组 Grouped NSArray_weixin_30737433的博客-程序员秘密

NSMutableSet *set=[NSMutableSet set]; [_list enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) { [set addObject:obj[@"MeasureType"]];//利用set不重复的特性,得到有多少组,根据数组中的Measure...

oracle 10.2.0.5补丁,Oracle 10g(10.2.0.4)升级到10.2.0.5.19_AI Box专栏小助手的博客-程序员秘密

一、将Oracle数据库版本从10.2.0.4 升级到 10.2.0.5,再升级到10.2.0.5.19(1) 备份等过程略过,一个老库的升级过程,记录之。(2) 一致性关闭数据库及监听sqlplus / as sysdba;shutdown immediatelsnrctl stop二、升级数据库软件1,解压p8202632_10205_Linux-x86-64.zip2,直接采用安装方式安装,...

汇编语言:改变动态显示字母的颜色_汇编改字体颜色_GJG666的博客-程序员秘密

动态显示字母a~z,按下 Esc 键后改变显示的颜色。assume cs:code, ds:data, ss:stackstack segment db 128 dup (0)stack endsdata segment dw 0,0data endscode segmentstart: mov ax,stack mo...

随便推点

Mycat1.6启动报NumberFormatException解决方案_lijieshare的博客-程序员秘密

2016-11-12 18:28:27,094 [INFO ][main] sysconfig params:SystemConfig [processorBufferLocalPercent=100, frontSocketSoRcvbuf=1048576, frontSocketSoSndbuf=4194304, backSocketSoRcvbuf=4194304, backSocket...

Android6.0权限管理_省吧开启通迅录权限危险吗_姚瑶大坏蛋2007的博客-程序员秘密

Android6.0权限管理Android6.0棉花糖发布也快一年了,一直没有时间去做相应的权限处理,最近有点时间,系统的研究了一下,并在自己的app中增加了权限管理。(虽然老大觉得然并卵) 从此app再也不能在安装时,就获取想要的权限了,系统安全更进一步,这个绝对是个喜讯啊~~~ 虽然这样会给开发增加很多工作量,但是作为一个有节操、有理想的程序员,我们是要鼎力配合的普通权限—不需做特殊处理An

好程序员大数据笔记之:Hadoop集群搭建_cique2620的博客-程序员秘密

在学大数据的过程中,我们接触了很多关于Hadoop的理论和操作性的知识点,尤其在近期学习的Hadoop集群的搭建问题上,小细节,小难点拼频频出现,所以,今天集中总结以下笔记,...

C#双向链表double linkedlist_SiaXiang的博客-程序员秘密

C#双向链表double linkedlistusing System;namespace DLL{ class Node { public Node prev; public Node next; public object obj; } public class doubleLinkedList {...

k8s pod cpu限制limit过小导致的问题_宴宴于飞的博客-程序员秘密

笔者负责的一个很重量级的服务,并发量大且处理逻辑复杂。之前pod的资源限制设置如下:、cpu limit 设置为3000m的时候,系统P99、P999耗时都比较低。直到有一天,笔者突发心血来潮,想着3000m可能太高了点就把资源限制改为如下:cpu limit由3000m降为2000m , 改完之后那一周,系统P99、P999耗时明显比之前高出一些,遂再次将资源设...

Windows核心编程 (4)_渔樵码农的博客-程序员秘密

线程池1.线程池包括四种组件:定时器,等待,I/O,非I/O2.异步调用函数:BOOL QueueUserWorkItem(PTHREAD_START_ROUTINE pfnCallback,PVOID pvContext,ULONG dwFlags);该函数将一个工作项目排队放入线程池种的一个线程中并立即返回。所谓工作项目是指pfnCallback函数,它被调用并传递单个参数

推荐文章

热门文章

相关标签