二进制or十六进制

二进制:采用两个计数符号0和1;逢2进1;

十六进制:常用十六进制和八进制来表示二进制吗;采用是16个计数符号;逢16进1

            

以同步二十四二进制计数器cnt24为例子:

1. 采用二进制

module cnt24_1(clk,clr,ten,one,co);

input clk,clr;

output[3:0]ten,one;

output co;

reg co;

reg[3:0]ten,one;

 

 

always@(posedge clk)

begin

         if(clr) begin ten<=0;one<=0;co<=0;end

         else

         begin

            if((one==4'b0011)&&(ten==4'b0010)) begin one<=0;ten<=0;co<=1;#50 co=0;end

            else if(one==4'b1001)begin one<=0;ten<=ten+1;end

           else one<=one+1;

         end

end

    one从4‘b000~4'b1001跳变到0,再从4‘b000~4'b1001跳变到0,再从4‘b000~4'b0010跳变到0;实现了0~23即模24的计数。

2. 采用十六进制

module cnt24_1(clk,clr,ten,one,co);
input clk,clr;
output[3:0]ten,one;
output co;
reg co;
reg[3:0]ten,one;

 

 

 


always@(posedge clk)

begin
 if(clr) begin ten<=0;one<=0;co<=0;end
 else
 begin
    if((one==3)&&(ten==2)) begin one<=0;ten<=0;co<=1;#50 co=0;end
    else if(one==9)begin one<=0;ten<=ten+1;end
   else one<=one+1;
 end
end
endmodule

///

效果与1完全一样

 

3. 更改2中的3为4’h0011;2为4'h0010;9为4'h1001

    程序就出错了。

4‘h0011=1*(16)^0+1*(16)^1=17!

十六进制以16为基数

二进制以2为基数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值