gpt4 book ai didi

reset - 异步 negedge 重置的可能解决方法?

转载 作者:行者123 更新时间:2023-12-05 02:56:39 25 4
gpt4 key购买 nike

我想要一个带有异步复位信号的寄存器,如下所示:

always @(posedge clk or negedge rst_n)
begin
if(!rst_n)
out <= 1'b0
else
out <= in
end

我试过 AsyncReset()withReset() 类。但是,生成的代码使用了 posedge 重置并且 AsyncReset() 的变量不接受 !

有什么解决方法吗?

最佳答案

虽然您不能直接反转 AsyncReset 类型(通常将逻辑应用于 AsyncReset 是不好的,因为它可能会出现故障),但您可以转换为 Bool 并返回:

  val reset_n = (!reset.asBool).asAsyncReset
val reg = withReset(reset_n)(RegInit(0.U(8.W)))

可运行示例:https://scastie.scala-lang.org/ERy0qHt2Q3OvWIsp9qiiNg

关于reset - 异步 negedge 重置的可能解决方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60229422/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com