搜索
bottom↓
回复: 5

新手遇到了困难,求解答:指令译码电路的设计实例

[复制链接]

出0入0汤圆

发表于 2011-10-21 21:27:21 | 显示全部楼层 |阅读模式
程序如下
指令译码电路的设计实例
(利用电平敏感的always块来设计组合逻辑)
//操作码的宏定义
`define plus   3'd0
`define minus    3'd1
`define band   3'd2
`define bor   3'd3
`define unegate 3'd4

module alu(out,opcode,a,b);
output [7:0] out;
input [2:0] opcode;
input [7:0] a,b;
reg   [7:0] out;

always @(opcode or a or b)
//用电平敏感的always块描述组合逻辑
begin
case(opcode)
//算术运算
`plus: out=a+b;
`minus: out=a-b;
//位运算
`band: out=a&b;
`bor:  out=a|b;
//单目运算
`unegate: out=~a;
default:out=8'hx;
endcase
end
endmodule

期中
case(opcode)
//算术运算
`plus: out=a+b;
`minus: out=a-b;
//位运算
`band: out=a&b;
`bor:  out=a|b;
//单目运算
`unegate: out=~a;

能不能解答下是什么意思   
case(opcode)   什么作用
`plus          有什么作用

希望大神解答  小弟感激不尽

阿莫论坛20周年了!感谢大家的支持与爱护!!

知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)

出0入0汤圆

发表于 2011-10-21 21:47:26 | 显示全部楼层
我也是新手哦,来说下吧,不过不一定对,仅供参考:
因为你要进行的是加减乘除运算,但加减乘除没法直接识别,就必须给他们都赋一个值,以供判定。
所以在开始你已经定义了  //`define plus   3'd0,在之后调用的`plus就是3'd0。
case(opcode)就是对括号内的opcode进行判定,就和if语句的原理一样,当opcode==0时,为了方便起见就不写“0”,写成`plus,
这样就能进行你想要的运算了。。

讲的可能有点晕,不好意思啦

出0入0汤圆

发表于 2011-10-21 22:00:33 | 显示全部楼层
MARK

出0入0汤圆

发表于 2011-10-22 07:46:59 | 显示全部楼层
case(opcode) 就像c中的switch(opcode)
`plus  就像c中的case `plus ,用前面define
的内容(`define plus   3'd0)替换掉就是
switch(opcode){
    case 3'd0 :
        out=a+b;  
    ..........
}

出0入0汤圆

发表于 2011-10-22 14:29:54 | 显示全部楼层
。。。
楼主先学一下verilog的简单语法吧,真的,老是纠结于这些基础性的东西很难提高的。
另:代码要自己写的,不能随便复制黏贴了事

出0入0汤圆

发表于 2011-10-22 16:30:31 | 显示全部楼层
回复【4楼】pontiff
。。。
楼主先学一下verilog的简单语法吧,真的,老是纠结于这些基础性的东西很难提高的。
另:代码要自己写的,不能随便复制黏贴了事
-----------------------------------------------------------------------

是啊,简单代码都不知,还是闭门炼修吧!

我也是新手,正在苦读verilog
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-7-24 13:22

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表