小编tol*_*ose的帖子

什么是PCIe中的基址寄存器(BAR)?

经过我理解的一些基础文档后,基地址寄存器是可以通过PCIe IP访问的地址空间.PCIe IP既可以在基地址寄存器中传输数据,也可以将接收到的数据写入其中.

我对吗?或遗漏任何东西?

base-address pci pci-e

15
推荐指数
4
解决办法
3万
查看次数

为什么我们在Verilog/Systemverilog中使用Always Block设计的Combinatorial Circuits中使用Blocking语句?为什么不Nonblocking?

它在任何地方都被提到这个作为指导,但经过多次思考后我想知道如果我们在Always Block for Combinatorial中使用Nonblocking语句会造成什么伤害.我不会将两者混合在一起.但我觉得当我们在Always Block中使用Nonblocking for Combinatorial语句时,它更准确地代表了硬件.不是吗?

例如,如果我们采取以下电路: 小样本电路图

在此图中,当输入a,b,c被提供时,输出x1和x将不会立即可用.将有门延迟.第一个x1将可用,然后x将可用.如果我们使用阻止语句,它们都可以立即使用 如果我们使用非阻塞,它更准确地类似于硬件.

例如,如果我们根据上图获取以下代码

module block_nonblock(output logic x,x1,y,y1,input logic a,b,c);

always@* begin : BLOCKING
    x1 = a & b;
    x  = x1 & c; 
end

always@* begin : NONBLOCKING
    y1 <= a & b;
    y  <= y1 & c; 
end

endmodule
Run Code Online (Sandbox Code Playgroud)

这综合为: 非阻塞和阻塞代码的RTL图

两者都被合成为和门,并给出相同的模拟结果,但是当我们检查增量时间输出的变化时,我觉得与阻塞相比,非阻塞更准确地匹配硬件.

我还经历了:IEEE P1364.1/D1.6Verilog®寄存器传输级综合标准草案,它规定了使用非阻塞进行顺序建模,但没有具体使用阻塞来使用Always Block进行组合建模.它说不要在组合语句中混合使用两者(阻塞和非阻塞).

因此,我们不应该在处理纯组合逻辑的总块中使用非阻塞用于组合语句(非顺序/不涉及时钟)

verilog synthesis fpga register-transfer-level system-verilog

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

如何在VHDL中声明输出数组?

在VHDL中我们如何声明输出数组.我知道如何将信号声明为数组,首先声明类型,然后将信号定义为此类型.是否有可能在输出上做同样的事情?

arrays syntax vhdl

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

用VHDL代码查找数字的平方根?

是否有任何内置函数或任何库可以包含在设计中以查找数字的平方根?

vhdl

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