急求用Verilog语言编程设计一个简单计算器,要求如下:

设计一个简单计算器,输入为8位二进制数,分别用两位数码管显示,输出的计算结果为16位二进制数,并用四位数码管显示,能够实现+、-、*、/四种运算,其中除法的结果显示分为商... 设计一个简单计算器,输入为8位二进制数,分别用两位数码管显示,输出的计算结果为16位二进制数,并用四位数码管显示,能够实现+、-、 *、/ 四种运算,其中除法的结果显示分为商和余数两部分,分别用两位数码管显示。
请高人指点!不胜感激!
展开
 我来答
百度网友2d7d43c
2011-12-28 · TA获得超过864个赞
知道小有建树答主
回答量:582
采纳率:100%
帮助的人:235万
展开全部
module(clk,rst,a,b,out,z);
input clk,rst;
input [7:0]a,b;
output [15:0]out;
output [7:0]z;
reg [15:0]out;
reg [15:0]shifta;
reg [7:0]z;//商
reg [1:0]k;//根据取值不同进行不同的运算
reg [7:0]n;//存放除法中间变量
always@(posedge clk)
if(!rst)
begin
out<=16'h0000;
z<=8'b00000000;
end
else
case(k)
2'b00:out<=a+b;
2'b01:out<=a-b;
2'b10:
begin
shifta [7:0]<=a;
for(width=0;width<8;width=width+1)
begin
if(shifta[width])
begin
shifta<=shifta+b;
b<=b<<1;
out<=shifta;
end
end
end
2'b11:
begin
out<= a/b;
z<=a%b;
end
endcase
endmodule
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式