在线咨询 切换到宽版
eetop公众号 创芯大讲堂 创芯人才网

 找回密码
 注册

手机号码,快捷登录

手机号码,快捷登录

搜全文
查看: 2218|回复: 3

[求助] 一段关于一个三位数输入,百位,十分,个位分别输出的代码

[复制链接]
发表于 2015-7-27 10:58:13 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

×
module weifenli(clk,reset,yin,y3,y2,y1);
input clk;
input reset;
input[7:0]yin;
output [7:0]y3;
output [7:0]y2;
output [7:0]y1;


reg[7:0]y3,y2,y1;
reg[7:0]yout1,yout;
always@(posedge clk or posedge reset)
begin
  if(reset)
   begin
     y3=0;
     y2=0;
     y1=0;
   end
  else
if(yin>=100)
begin
if((yin>=300)&&(yin<400))
     begin
      y1=3;
      yout=yin-300;
     end
else if((yin>=200)&&(yin<300))
     begin
      y1=2;
      yout=yin-200;
     end
else if((yin>=100)&&(yin<200))
     begin
      y1=1;
      yout=yin-100;
     end
  end
else if(yin<100)
begin
   begin   
    y1=0;
    yout=yin;
   end
     if((yout>=90)&&(yout<100))
    begin
      y2=9;
      y3=yout-90;
    end
    else  if((yout>=80)&&(yout<90))
    begin
      y2=8;
      y3=yout-80;
    end
    else if((yout>=70)&&(yout<80))
    begin
       y2=7;
       y3=yout-70;
    end
    else if((yout>=60)&&(yout<70))
     begin
       y2=6;
       y3=yout-60;
     end
     else if((yout>=50)&&(yout<60))
     begin
        y2=5;
        y3=yout-50;
     end
     else if((yout>=40)&&(yout<50))
      begin
        y2=4;
        y3=yout-40;
      end
      else if((yout>=30)&&(yout<40))
      begin
        y2=3;
        y3=yout-30;
      end
      else if((yout>=20)&&(yout<30))
      begin
       y2=2;
       y3=yout-20;
     end
      else if((yout>=10)&&(yout<20))
      begin
        y2=1;
        y3=yout-10;
      end
      else if((yout>=0)&&(yout<10))
      begin
        y2=0;
        y3=yout;
      end  
end
end
endmodule
这段代码功能有点问题,麻烦大神看哈,找出问题在哪里,怎么解决,跪谢
发表于 2015-7-28 09:05:15 | 显示全部楼层
当你的yin>=100时,只有y3是正确的,y2,y1是没有执行到的。你把y3,yout放到一个always里面,根据yin的不同给赋值。然后把y2,y1,放到一个always里面,根据yout的值来赋值。
回复 支持 反对

使用道具 举报

发表于 2015-7-29 20:07:14 | 显示全部楼层
把always@(posedge clk or posedge reset)改成always@(*)就可以了,你把verilog当C语言写了。
回复 支持 反对

使用道具 举报

发表于 2015-7-31 11:17:32 | 显示全部楼层
可以对100求模啊,然后然后剩下的对10求模,在剩下的就是个位了啊,你这是在列出所有的可能性啊。。。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /1 下一条


手机版| 小黑屋| 关于我们| 联系我们| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2025-9-14 23:50 , Processed in 0.015917 second(s), 6 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表