电子工程学院 AS IC 专业实验报告 班级: 姓名: 学号: 班内序号: 第一部分 语言级仿真 LAB 1:简单的组合逻辑设计 一、 实验目的 掌握基本组合逻辑电路的实现方法
二、 实验原理 本实验中描述的是一个可综合的二选一开关,它的功能是当 sel = 0 时,给出 out = a,否则给出结果 out = b
在 Verilog HDL 中,描述组合逻辑时常使用 assign 结构
equal=(a==b)
1:0 是一种在组合逻辑实现分支判断时常用的格式
parameter 定义的size参数决定位宽
测试模块用于检测模块设计的是否正确,它给出模块的输入信号,观察模块的内部信号和输出信号
三、 源代码 mux
v module scale_mux(out,sel,b,a); parameter size=1; output[size-1:0] out; input[size-1:0]b,a; input sel; assign out = (
a: (sel)
b: {size{1'bx}}; endmodule mux_test
v `define width 8 `timescale 1 ns/1 ns module mux_test; reg[`width:1]a,b; wire[`width:1]out; reg sel; scale_mux#(`width)m1(
out(out),
sel(sel),
a(a)); initial begin $monitor($stime,,"sel=%b a=%b b=%b out=%b",sel,a,b,out); $dumpvars(2,mux_test); sel=0;b={`width{1'b0}};a={`width{1'b1}}; #5sel=0;