有没有办法确定(在modelsim中)信号需要从低 - 高(上升)/高 - 低(下降)边沿的时间。 例如,为了模拟更高级,我想在单个信号clk(例如1ns)上定义从低到高的时间。
有办法吗?
答案 0 :(得分:0)
不确定这对时钟有多好。
但是你可以分配像
这样的信号Sig_A <= 'X', '1' after 1 ns;
然后,now
和now + 1 ns
之间的任何信号采样都将返回'X'
,以便您在模拟中捕获错误。
综合应该简单地将此分配视为
Sig_A <= '1';
虽然可能会发出警告,但您可以放心地忽略。
但是请注意,如果您使用上面的Sig_A
作为时钟,那么时钟边缘将在其第二个转换(即now + 1 ns
)处看到,而不是引入任何时序不确定性,因此我的小心。
如果需要使用可变时钟时序模拟性能,您可能需要做的是在包中引入泛型或常量,例如
entity TB is
generic (T_clkH : time := 1 ns)
end TB;
...
Clk <= '1' after T_clkH;
并运行模拟两次,为通用提供最小值和最大值。
答案 1 :(得分:0)
我通常在模拟中使用它。
try {
$conn = new PDO("mysql:host=$servername;dbname=$dbname;charset=utf8", $username, $password);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sql = "SELECT * FROM users";
$conn->exec($sql);
$results = $conn->fetchAll();
print_r($results);
}
catch(PDOException $e)
{
echo $sql . "<br>" . $e->getMessage();
}
请记住初始化您的信号。
clk <= not clk after 1 ns;