FPGA_HDLBits:2.2Vectors&2.3ModulesHierarchy
说明
:仅对自己做的HDL Bits中的2.2-2.3章节题目的错误部分做的记录,正确的也就没有记录,可以理解为个人的错题本
-
对于reg [15:0]input input[0:7]是调用低位而不是取最高位,而且调的是最低7位的倒序
-
按位异或(XOR) ^
-
assign {out[7:0], out[15:8]} = in; 也是对的
-
2.2.6 module top_module (
input [4:0] a, b, c, d, e, f,
output [7:0] w, x, y, z );assign { w, x, y, z } = {a[4:0], b[4:0], c[4:0], d[4:0], e[4:0], f[4:0],2’b11};
-
输入高低位反转
// assign out = in[0:7];assign out = {in[0], in[1], in[2], in[3], in[4], in[5], in[6], in[7]};
verilog中没有in[0:7]的赋值,要把每一位单独拿出来取反
- 关于位拼接
// assign out = { 24{in[7]},in };assign out = { {24{in[7]}},in };> 拼接24{in[7]}的外面仍然要再加一层{}
- 关于多位宽的变量定义
// wire [7:0]q0,[7:0]q1,[7:0]q2;wire [7:0]q0,q1,q2;
定义连续三个宽度都是8的变量只需要在第一个变量的名称前写对用的[7:0]