小编MI8*_*I89的帖子

VHDL中可变数量的输入和输出

我应该在VHDL中创建一个具有可变数量的输入和输出的实体.这个引脚数应该从GENERIC结构中给出.我们假设有这样的代码:

entity HELLO is
    GENERIC(NUM_INPUT: integer:=4;
            NUM_OUTPUT: integer:=2
     );

    port(
         input1 : in std_logic_vector(31 downto 0);
         input2 : in std_logic_vector(31 downto 0);
         input3 : in std_logic_vector(31 downto 0);
         input4 : in std_logic_vector(31 downto 0);
         out1   : out std_logic_vector(31 downto 0); 
         out2   : out std_logic_vector(31 downto 0) 

     );
end entity HELLO; 
Run Code Online (Sandbox Code Playgroud)

显然,手动编写它们(如上例所示)会使GENERIC构造无效.

我希望这4个输入和2个输出根据GENERIC信息自动生成.怎么做?

generics vhdl

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

信号量和条件之间的区别(ReentrantLock)

有谁知道这些方法之间的差异acquire ()和release ()(java.util.concurrent.Semaphore)和await ()和signal (new ReentrantLock().newCondition() ).

你能为这些方法公开一个伪代码吗?

java concurrency semaphore locking

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

使用信号量保护阵列

假设有许多线程调用该方法m(int i)并将数组的值更改为位置i.以下代码是否正确,或者是否存在竞争条件?

public class A{
    private int []a =new int[N];
    private Semaphore[] s=new Semaphore[N];

    public A(){
        for(int i =0 ; i<N ; i++)
           s[i]=new Semaphore(1);
    }

    public void m(int i){
        s[i].acquire();
        a[i]++;
        s[i].release();
    }
}
Run Code Online (Sandbox Code Playgroud)

java multithreading semaphore

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

标签 统计

java ×2

semaphore ×2

concurrency ×1

generics ×1

locking ×1

multithreading ×1

vhdl ×1