verilog - 如果你有一个长签名数组,你能用电线把它分解吗?
问题描述
为简单起见,想象一下我的模块中有一个 50 位输入。这个 50 位输入被分成 10 个 5 位有符号字。这是您如何使输入的每个部分签名的方式吗?
module(in, out)
input signed [49:0] in;
wire signed [4:0] in_temp [0:9];
genvar i;
for(i = 0; i < 128; i = i+1)
assign in_temp[i] = in[5*(i+1)-1 -: 5];
....
解决方案
是否使结果签名或未签名都没有关系。一旦你分裂了一根电线,它就失去了意义。
例如:如果您将带符号的 8'b00011111 分成两个相等的部分,您将得到 4'b0001 和 4'b1111。这 4 位数字中的每一个的“价值”是什么?只有当您稍后以正确的顺序再次连接它们时,您才能获得原始编号。
回答您的问题:
这并不重要,但我会将所有单独的部分设为无符号作为除一个之外的所有最高位,不再是符号位,因此类型可能会令人困惑。你可能很迂腐,制作一个有符号向量和九个无符号向量。
更有用的是使用类似这样的名称in_split
来表示这是已拆分的向量的一部分。
推荐阅读
- parameters - KNIME:根据参数最大化加权平均值
- tensorflow - 在 TimeDistributed 层内正确使用 keras SpatialDropout2D - CNN LSTM 网络
- mysql - MySQL如何查找带后缀的行
- vue.js - Common.js、Vendor.js 和 App.js 在 Build (Nuxt) 上太大
- java - 当我尝试下载时,使用 HttpClient 从 java 将文件上传到 Sharepoint 会损坏文件
- c++ - 使用 std::ref 传递共享指针是否安全?
- python - 如何使用另一个标签属性映射 XML 标签?
- python - PyQt QLineEdit 文本选择并使用它的另一个功能
- javascript - 使用分页时 BigQuery 找不到工作
- android - 每个单独的 Fragment 都有一个 NavController 还是只有 NavHostFragment 有?