Verilog HDL程序基础——计算机组成原理实验
模块的一般语法结构
设计块
module 模块名(端口名1,端口名2,…);
端口类型说明(input,output,inout);
参数定义(可选);
数据类型定义(wire,reg等);
……………………………说明部分…………………………………
实例引用低次层模块和基本门级元件;
连续赋值语句(assign);
过程块结构(initial和always)
行为描述语句;
任务和函数;
endmodule
……………………逻辑功能描述部分,顺序任意………………………
inout:双向端口
凡是在模块名后面圆括号中出现的端口名都必须明确地说明其端口类型
寄存器类型reg 连线类型wire
结构风格或者门级的描述方式——2选1数据选择器
module Mux2tol_structural(a, b, sel, out); //1995年版本
input a, b, sel; //输入端口声明
output out; //输出端口声明
wire nsel, a1, b1; //内部节点声明
//电路逻辑功能描述
not U1(nsel, sel); //调用名U1可省略;调用名(输出端口,输入端口1,输入端口2,…)
and U2(b1, b, nsel);
and U3(a1, a, sel);
or U4(out, a1, b1);
endmodule //无分号
修订后的Verilog HDL标准中,定义模块端口可写成:
module Mux2tol_structural(
input a, b, sel, //输入端口声明,后面是逗号
output out //输出端口声明,无逗号
);
数据流风格描述方式
module Mux2tol_dataflow(a, b, sel, out);
input a, b, sel; //输入端口声明
output out; //输出端口声明
wire out; //变量数据类型声明
//电路功能能描述。变量out的数据类型必须是wire型
assign out = (~sel & b) | (sel & a); //或out = sel?a:b;
endmodule
assign是关键词,是对变量赋值的意思
连续赋值语句的特点:方程式右边的输入变量受到持续监控,任何一个变量发生变化,整个表达式将被重新计算,并将变化值赋给左边的线网变量。
行为风格的描述方式
module Mux2tol_bh1(a, b, sel, out);
input a, b, sel; //输入端口声明
output out; //输出端口声明
reg out; //变量数据类型声明
//电路功能能描述
always @(sel or a or b) //无分号
if(sel == 1)
out = a;
else out = b;
endmodule
//或
module Mux2tol_bh1(a, b, sel, out);
input a, b, sel; //输入端口声明
output out; //输出端口声明
reg out; //变量数据类型声明
//电路功能能描述
always @(sel or a or b) //无分号,修订后的Verilog HDL:always@(sel, a, b) / always@(*)
case(sel)
1’b0:out = b;
1’b1:out = a;
endcase
endmodule
行为描述的标识是always语句,always是循环执行语句,后面跟着条件@(敏感变量) 即括号中的任一输入变量发生变化时,后面的过程赋值语句就会被执行一次,执行完最后一条语句后,执行挂起。
always内部被赋值的变量都要声明为reg类型
仿真激励块
激励模块通常是顶层模块
以module开始和endmodule语句作为结尾的,内部包括模块名、线网/寄存器/变量声明、低层次模块的实例引用和行为语句块(initial 或 always),不需要端口列表和端口声明。
激励信号:reg以便保持激励值不变,直至执行到下一条激励语句为止
输出信号:wire以便能随时跟踪激励信号的变化
$monitor:将信息以指定的格式输出到屏幕上
$time:将返回当前的仿真时间
$stop:停止仿真但不退出仿真环境
- 用ModelSim、Mars和Verilog做计算机组成原理CPU实验注意事项
- 山东大学计算机组成原理实验课程设计-模型机
- 计算机组成原理-存储器实验
- 计算机组成原理实验三:二进制补码加法器
- 计算机组成原理 实验1 Cache模拟器的实现
- 重学计算机组成原理(八)- 程序的装载
- [Other]计算机组成原理分解实验:实验三 二进制补码加法器
- 计算机组成原理实验之CPU组成与指令周期实验
- 计算机组成原理综合实验
- [置顶] 计算机组成原理实验:乘法实现
- 计算机组成原理——cpu的简单模型实验报告
- 计算机组成原理实验之模拟整机实验考核试题
- 计算机组成原理课程设计实验一:验证74LS181运算和逻辑功能
- 计算机组成原理实验2存储器实验
- [Other]计算机组成原理分解实验:实验一 基本逻辑门逻辑实验
- 2010年计算机专业基础综合考试大纲——计算机组成原理
- 计算机基础和组成原理——学习资料(更新.........)
- 山东大学计算机组成原理整机实验
- 计算机组成原理基础知识-输入输出系统
- 中山大学计算机组成原理多周期CPU实验