caijl 发表于 2015-12-9 17:40:03

verilog 如何实现高低位颠倒

verilog 如何简单的实现高低位颠倒,如 1010 0001转换后 1000 0101。

RAMILE 发表于 2015-12-9 19:09:43

定义两组电线 wire_in,wire_out;
assign wire_out = wire_in;
assign wire_out = wire_in;
assign wire_out = wire_in;
assign wire_out = wire_in;
assign wire_out = wire_in;
assign wire_out = wire_in;
assign wire_out = wire_in;

jm2011 发表于 2015-12-11 18:49:32


定义两组电线 wire_in,wire_out;
assign wire_out = wire_in;

这样也可以把

ziruo2002ab 发表于 2015-12-11 19:55:15

这是软件工程师和硬件工程师的区别

simplorer 发表于 2015-12-11 20:05:19

RAMILE 发表于 2015-12-9 19:09
定义两组电线 wire_in,wire_out;
assign wire_out = wire_in;
assign wire_out = wire_ ...

跟我想到的一样,不知道还有没有什么跟高级的实现方式。

CK345 发表于 2015-12-11 20:06:59

这个比较简单

zhangalex88 发表于 2015-12-12 13:00:24

直接用花括号{},组合输出。
比如 wire_a 的反序输出可以表示为:
{wire_a,wire_a,wire_a,wire_a,wire_a,wire_a,wire_a,wire_a}
把这个当成一个数直接用就好了。

zxq6 发表于 2015-12-12 19:56:20

楼上正解

dr2001 发表于 2015-12-12 20:07:36

只是要求反序,用generate for即可。

类似于
genvar i;
generate for(i = 0; i < 8; i = i + 1) begin
wire_b = wire_a;
end endgenerate


VHDL和Verilog印象中都没直接提供反序的功能,需要用语句生成。

prow 发表于 2015-12-12 20:28:35

各种实现方式综合出来的应该都差不多吧,干嘛非要高级的方法呢。。

jr9910 发表于 2015-12-13 23:51:11

simplorer 发表于 2015-12-11 20:05
跟我想到的一样,不知道还有没有什么跟高级的实现方式。

数字电路看重的是谁的电路跑的快,用的资源少,而不是代码花哨、越短越好!
页: [1]
查看完整版本: verilog 如何实现高低位颠倒