微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > verilog 不定长 位拼接

verilog 不定长 位拼接

时间:10-02 整理:3721RD 点击:


bit_0[15:0],bit_length_0[3:0],
bit_1[15:0],bit_length_1[3:0],
bit_2[15:0],bit_length_2[3:0],
bit_3[15:0],bit_length_3[3:0],
bit_4[15:0],bit_length_4[3:0],
bit_5[15:0],bit_length_5[3:0]
bit_length为bit的从[0]到高位的比特长度,怎样将6个不定长的比特拼接起来呢?

{{bit_0[15:0],bit_length_0[3:0]},
{bit_1[15:0],bit_length_1[3:0]},
{bit_2[15:0],bit_length_2[3:0]},
{bit_3[15:0],bit_length_3[3:0]},
{bit_4[15:0],bit_length_4[3:0]},
{bit_5[15:0],bit_length_5[3:0]}},这样就将6个不定长的比特拼接起来了啊,很简单的

assing bit0_1_2[47:0] = {bit_0[bit_length_0:0], bit_1[bit_length_1:0], bit_2[bit_length_2:0]};



    bit_length表示bit中实际的有效比特。要拼接的是bit

   我开始也是这么写的,但是公司的同事说不可以。这样不定长度拼接,是不可以直接写出来的。刚才跟同事讨论的方案是使用fifo,mux(csae)、shifter(移位)三种方式。你再想想有没有更好的方式呢,多谢

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top