第一范文网 - 专业文章范例文档资料分享平台

北邮电子院专业实验报告

来源:用户分享 时间:2025/5/17 23:16:36 本文由醉歌离人 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

.b(data[2]), .a(out[2]) );

dffr dffr2 (.q(out[2]), .d(n1[2]), .clk(clk), .rst_(rst_) );

mux mux1 (.out(n1[1]), .sel(load), .b(data[1]), .a(out[1]) );

dffr dffr1 (.q(out[1]), .d(n1[1]), .clk(clk), .rst_(rst_) );

mux mux0 (.out(n1[0]), .sel(load), .b(data[0]), .a(out[0]) );

dffr dffr0 (.q(out[0]), .d(n1[0]), .clk(clk), .rst_(rst_) );

例化寄存器

register r1 (

.data(data), .out(out), .load(load), .clk(clk), .rst_(rst_) );

例化时钟

clock c1 (

.clk(clk) );

添加检测信号 initial begin

$timeformat(-9,1,\

$monitor(\$stime,clk,data,load,out); $dumpvars(2,register_test); end

四、 仿真结果与波形

LAB 4:用always块实现较复杂的组合逻辑电路

一、

实验目的

掌握用always实现组合逻辑电路的方法;

了解assign与always两种组合逻辑电路实现方法之间的区别。

二、 实验原理

仅使用assign结构来实现组合逻辑电路,在设计中会发现很多地方显得冗长且效率低下。适当地使用always来设计组合逻辑,会更具实效。

本实验描述的是一个简单的ALU指令译码电路的设计示例。它通过对指令的判断,对输入数据执行相应的操作,包括加、减、或和传数据,并且无论是指令作用的数据还是指令本身发生变化,结果都要做出及时的反应。

示例中使用了电平敏感的always块,电平敏感的触发条件是指在@后括号内电平列表的任何一个电平发生变化就能触发always块的动作,并且运用了case结构来进行分支判断。

在always中适当运用default(在case结构中)和else(子if…else结构中),通常可以综合为纯组合逻辑,尽管被赋值的变量一定要定义为reg型。如果不使用default或else对缺省项进行说明,易产生意想不到的锁存器。

三、 源代码

电路描述

always@(opcode or data or accum) begin

if(accum==8'b00000000) #1.2 zero=1; else

#1.2 zero=0;

case(opcode)

PASS0: #3.5 out =accum; PASS1: #3.5 out =accum;

ADD: #3.5 out = data + accum; AND: #3.5 out =data&accum; XOR: #3.5 out =data^accum; PASSD: #3.5 out=data; PASS6:#3.5 out=accum; PASS7:#3.5 out=accum; default:#3.5 out=8'bx; endcase end

四、 仿真结果与波形

搜索更多关于: 北邮电子院专业实验报告 的文档
北邮电子院专业实验报告.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c9gb7m3vkzb79c974hv1j_3.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top