小编Eri*_*ric的帖子

索引左转循环 - verilog

我想连接两个模块,以便output_module1 [i] - > input_module2 [circular_shift_left(i)]

例如 :

output_module1[100] --> input_module2[001] // (output no. 5 to input no. 2)

output_module1[011] --> input_module2[110] // (output no. 4 to input no. 7)
Run Code Online (Sandbox Code Playgroud)

两个模块的长度都是通用的.

在verilog中实现它的最有效(也是最简单)方法是什么?

谢谢.

indexing verilog shift

1
推荐指数
1
解决办法
4882
查看次数

如何删除值但将相应的键保存在字典中?

假设我有一本字典:

D1 = {'A1' : [2, 3], 'B1': [3, 3], 'C1' : [4, 5]}
Run Code Online (Sandbox Code Playgroud)

我想删除所有3s,D1以便我得到:

D1 = {'A1' : [2], 'B1': [], 'C1' : [4, 5]}
Run Code Online (Sandbox Code Playgroud)

python

1
推荐指数
1
解决办法
1289
查看次数

将字典值从list转换为float

我有一个名为"location"的字典,如下所示:

{
    'WA': [
        '47.3917',
        '-121.5708'
    ],
    'VA': [
        '37.7680',
        '-78.2057'
    ],
    ...
}
Run Code Online (Sandbox Code Playgroud)

我想转换为值为float的dic,所以它看起来像:

{
    'WA': [
        47.3917,
        -121.5708
    ],
    'VA': [
        37.7680,
        -78.2057
    ],
    ...
}
Run Code Online (Sandbox Code Playgroud)

我试过了

for key in location.keys():
    location[key] = float(location[key][0,1])
print location
Run Code Online (Sandbox Code Playgroud)

它给了我一个恐怖,"float()参数必须是一个字符串或数字"

我该如何解决这个问题?

python

1
推荐指数
1
解决办法
1881
查看次数

关于"case"语法生成的锁存器

我理解在systemverilog中使用case语法时,我们需要完全描述所有组合或添加默认值以避免锁存.

这是我的示例代码,没有生成锁存器:

 module test(
input logic[2:0] op,
output logic a,b,c
);

    always_comb
    begin

    case(op)

     0: {a,b,c} = {1'b1,1'b1,1'b0};
     1: {a,b,c} = {1'b1,1'b0,1'b0};
     2: {a,b,c} = {1'b0,1'b1,1'b0};
     default: {a,b,c} = {1'b0,1'b0,1'b0};
     endcase
     end
     endmodule
Run Code Online (Sandbox Code Playgroud)

正如我在开头所说,如果添加默认值,则不会生成锁存器.请查看第二个代码,这是一个ALU设计:

module ALU(
output logic[31:0] Result,
output logic Zero, Overflow, Negative, Carryout,

input logic [5:0]ALUOp_i,
input logic [31:0] ALU_A_i, ALU_B_i,
input logic [4:0] Shamt
);

logic [31:0] adder_b;

always_comb
begin


  casez(ALUOp_i)

 /*Add_trap*/   0,1: {Carryout,Result} = {ALU_A_i[31],ALU_A_i} + {ALU_B_i[31],ALU_B_i};
 /*Add_notrap*/ 
 /*Subtrap*/    2,3: 
 /*Sub_notrap*/    begin
             adder_b = ALU_B_i ^ …
Run Code Online (Sandbox Code Playgroud)

verilog mips system-verilog

1
推荐指数
1
解决办法
689
查看次数

C中的"拆包"

我正在改写剧本从蟒蛇Ç.我对C.比较新.

我在PYTHON中有一个包含这个值的变量:

x = [chr(113),chr(80),chr(191),chr(70)]

y = "".join(x)
Run Code Online (Sandbox Code Playgroud)

这将返回y的这个值:

y = qP¿F           #this is string
Run Code Online (Sandbox Code Playgroud)

现在我要解压缩这个变量,将它存储到变量z以获得我想要的结果.像这样:

z = struct.unpack("<f",y)
print z[0]  #unpack returns a tuple of size 1
Run Code Online (Sandbox Code Playgroud)

我得到的价值是:

x = 24488.2207
Run Code Online (Sandbox Code Playgroud)

这对我来说是正确的.

我想知道C中是否有相同的功能可用于此?

c python unpack iterable-unpacking

1
推荐指数
1
解决办法
240
查看次数

将 (M, N, 3) numpy 数组重塑为 (M*N, 3)

假设我有一个由 (M, N, 3) numpy 数组表示的 RGB(或 HSV)图像,其中每个维度([x, y, 0][x, y, 1])表示特定像素处的颜色通道值。我想将数组重塑为 (M*N, 3),其中颜色通道组合 ( [R1, G1, B1], [R2, G2, B2]...) 为平面列表(在这种情况下这是正确的术语吗?)。我知道必须使用 reshape 函数,但我很难理解如何使用该函数。任何帮助表示赞赏。

编辑:这是我希望发生的事情的一个例子。

输入:代表图像的 (640 x 640 x 3) 数组,其中[40, 40, 1]是特定像素的 G 值。我想获取所有 3 个颜色通道并将它们组合到以下输出中。

输出:([R, G, B], [R, G, B], [R, G, B]...)

python arrays numpy

1
推荐指数
1
解决办法
3053
查看次数

使用numpy并排打印两个数组

我正在尝试使用python中的numpy创建一个余弦表.我想在角度的余弦旁边有角度,所以它看起来像这样:

0.0    1.000  5.0    0.996  10.0    0.985  15.0 0.966
20.0   0.940  25.0   0.906 and so on. 
Run Code Online (Sandbox Code Playgroud)

我正在尝试使用for循环,但我不知道如何让它工作.目前,我有.

有什么建议?

python numpy

1
推荐指数
3
解决办法
8010
查看次数

使用坐标列表切割numpy数组

考虑M形状的numpy ndarray (比如说)(a,b,c)和坐标列表[(b0,c0),(b1,c1),...,(bn,cn)].

我想要以下矢量集合:[M[:,b0,c0],M[:,b1,c1],...,M[:,bn,cn]].如何通过列表理解实现这一目标?

编辑:我需要一个适用于任意数量维度的解决方案,即在案例(例如)中返回类似上面列表的列表M.shape = (a,b,c,d) and coordinates = [(b0,c0,d0),...,(bn,cn,dn)],以及更高维度的案例.

python numpy multidimensional-array

1
推荐指数
2
解决办法
1642
查看次数

使用两个先前列表中的值创建新列表

给定列表list1和list2具有相同的长度,创建一个新列表,其中包含list1的最后一个元素,后跟list2的最后一个元素,后跟list1的倒数第二个元素,后跟第二个到最后一个元素list2,依此类推(换句话说,新列表应包含list1和list2反向的交替元素).例如,如果list1包含[1,2,3]并且list2包含[4,5,6],则新列表应包含[3,6,2,5,1,4].将新列表与变量list3相关联.

我的代码:

def new(list1,list2):
    i = 0
    j = 0
    new_list = []
    for j in list1:
        new_list[i-1] = list2[j-1]
        i+= 1
        j += 1
        new_list[i-1] = list2 [j-1]
        i+= 1
        j += 1
    return new_list
Run Code Online (Sandbox Code Playgroud)

我知道,它很乱= _ =,有帮助吗?

python list

0
推荐指数
1
解决办法
6002
查看次数

Python"魔术方法",用于自定义in运算符的行为

我知道python中有许多魔术方法会影响对象在某些情况下的行为方式(比如定义__cmp__(self, other)改变它与其他实例相比时的工作方式),但我想知道,有没有办法让改变在'in'运算符中如何调用对象的行为?

if thing in custom_object:
    call_the_object_in_a_customized_way()
Run Code Online (Sandbox Code Playgroud)

有没有办法做到这一点?

python methods

0
推荐指数
1
解决办法
225
查看次数