assign和always的用法
assign的用法:
assign一般是显式的连续赋值。
assign是把输出结果放在前面,就是把输入值赋给输出。警惕:很容易把输入写在前面。
assign y=sel?a:b;//当sel是1时,y=a,否则y=b
assign是在endmodule之前,括号之外的,示例:
module top_module (input [15:0] in,output [7:0] out_hi,output [7:0] out_lo
); assign out_hi = in[15:8];
endmodule
注意:endmodule之前要有“;”
always的用法
always意思就是一直执行命令
always里面一定要用reg型变量
always里面有沿触发和电平触发
语法:
1、 基础用法
always@()
[]
只有一个过程,可以不需要begin end
2、 搭配begin end使用
always@()
begin[]
end
需要begin end的情况:有多个过程
always经常搭配时钟信号
3、搭配case使用
always@(posedge clk)
begincase(status)
endcase
case中嵌套begin end
always@(*)case(sel)2'b00:begind=4'd10;end2'b01:begind=4'd01;endendcase
always@(*)是包含了沿触发和电平触发
4、always和if搭配使用:
always@()
beginif()xxelse beginif()xxelse xxend
end//注意不能缺少end,end要begin对应
endmodule
assign和always的用法相关推荐
- R 语言assign 和get 函数用法
assign函数在循环时候,给变量赋值,算是比较方便 1.给变量赋值 for (i in 1:(length(rowSeq)-1)){assign(paste("nginx_server_f ...
- FreeMarker中assign指令的用法
assign assign指令在前面已经使用了多次,它用于为该模板页面创建或替换一个顶层变量, assign指令的用法有多种,包含创建或替换一个顶层变量,或者创建或替换多个变量等, 它的最简单的语法如 ...
- JavaScript 复制对象与Object.assign方法无法实现深复制
在JavaScript这门语言中,数据类型分为两大类:基本数据类型和复杂数据类型.基本数据类型包括Number.Boolean.String.Null.String.Symbol(ES6 新增),而复 ...
- freemaker介绍及常见的用法解析
1.简介 freemaker(FTL)是一个模板引擎,即一种基于模板和要改变的数据, 并用来生成输出文本(HTML网页.电子邮件.配置文件.源代码等)的通用工具. 它不是面向最终用户的,而是一个Jav ...
- FreeMarker四种变量的用法
原文:http://www.656463.com/article/286 摘要: freemarker的变量可以分为四种,分别是数据模型的变量[root中的变量],模板中的变量使用[<#assi ...
- ES6之object.assign()是深拷贝还是浅拷贝
ES6之object.assign()是深拷贝还是浅拷贝 1.概念 浅拷贝--只复制指向某个对象的指针,而不复制对象本身,新旧对象还是共享同一块内存. 深拷贝--会另外创造一个一模一样的对象,新对象跟 ...
- Freemarker标签assign
assign assign指令在前面已经使用了多次,它用于为该模板页面创建或替换一个顶层变量, assign指令的用法有多种,包含创建或替换一个顶层变量,或者创建或替换多个变量等, 它的最简单的语法如 ...
- FreeMarker简介及其语法
1.Freemarker简介 FreeMarker允许Java servlet保持图形设计同应用程序逻辑的分离,这是通过在模板中密封HTML完成的.模板用servlet提供的数据动态地生 ...
- FreeMarker使用记录
为什么80%的码农都做不了架构师?>>> gt是大于 lt是小于 FreeMarker的模板文件并不比HTML页面复杂多少,FreeMarker模板文件主要由如下4个部分组成: ...
最新文章
- 软件开发人员维护代码指南
- [EnterpriseServices]利用assembly定义我们的组件在COM+中的注册方式
- AngularJS:SQL
- 什么是SAP Intelligent Robitic Process Automation - iRPA
- struts2 零配置
- 带头结点的单链表的初始化,建立,插入,查找,删除
- 实现下拉菜单的宽度与登录人ID长度的匹配
- 芯片介绍:CC2530
- 利用BP神经网络求解非线性方程组
- JAVA一个汉字占多少字节,一个字母占多少字节
- 浏览器清理缓存的几种方法
- SPIR-V 研究:编译器基本原理(一)
- 看完这一篇,智能家居的坑你至少避开80%(上)
- c语言检测u盘插入拔出,Qt检测U盘插入拔出Demo
- python职场应用英语作文_职场英语作文万能句子
- css overflow
- 使用virt-manager创建虚拟机
- csrutil是什么_CSR、SSR、NSR、ESR傻傻分不清楚,一文帮你理清前端渲染方案!
- 计算机世界第一人—艾兰·图灵
- 基于JAVA搬家预约系统计算机毕业设计源码+系统+lw文档+部署
热门文章
- 大数据分析工程师入门8--Spark基础
- 城市防洪排涝工程与管理
- 矩阵的转置用C语言怎么实现
- 访问交流 | 成都经开区区长一行走访零数科技
- 对于多复杂数据的插值最优方法---拉格朗日插值法。
- Quzh[python]统计元音字母——输入一个字符串,统计处其中元音字母的数量。
- User Story 如何写
- php 删除session_php清除所有session的方法
- php邮件代码c语言,C++_C语言实现电子邮件地址验证程序,我们最经常遇到的验证,就是 - phpStudy...
- ios 开源的电子书阅读器项目