2个回答
展开全部
什么意思?
verilog里面的进制可以随意写啊,比如你的输入是
input [3:0] a;
代码中写a = 4'b0010和写成4‘d2是一样的效果.输出的话也是按照[n-1:0]来算的
既可以表示成n'bxxxxx也可以表示成n'dxx,所以不太明白你的需求,不管你里面怎么转换进制,输出的时候都是二进制输出啊。到底要实现什么功能你可以说清楚点
verilog里面的进制可以随意写啊,比如你的输入是
input [3:0] a;
代码中写a = 4'b0010和写成4‘d2是一样的效果.输出的话也是按照[n-1:0]来算的
既可以表示成n'bxxxxx也可以表示成n'dxx,所以不太明白你的需求,不管你里面怎么转换进制,输出的时候都是二进制输出啊。到底要实现什么功能你可以说清楚点
更多追问追答
追问
。。我想把这8个输入变成integer不是bcd,然后可以在别的模块使用,怎么写
追答
不需要转换,而且其实没必要使用integer,因为integer是一个32bit带有符号位的数据,直接使用输入来进行数据处理就可以了,除非你的输入确实需要处理,否则如果是一般的实数,就直接使用。
如果真要弄成integer才能使用,直接赋值,verilog里面不需要转换函数。
展开全部
module btd(
din,
dout
);
input [7:0] din;
output [7:0] dout;
always @(din)
dout = din[0] + din[1]*2 + din[2]*4 + din[3]*8 +din[4]*16 + din[5]*32 + din[6]*64 + din[7]*128;
endmodule
是这个意思吗?
din,
dout
);
input [7:0] din;
output [7:0] dout;
always @(din)
dout = din[0] + din[1]*2 + din[2]*4 + din[3]*8 +din[4]*16 + din[5]*32 + din[6]*64 + din[7]*128;
endmodule
是这个意思吗?
追问
。就是我想把这8个输入转换成一个integer然后在另外一个模块使用,,怎么写
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询