作者 主题:仿真与综合的未初始化reg (Read 1798 times)

0会员和1位客人正在查看此主题。

离线 TGZZZ.

  • 超级贡献者
  • ***
  • 帖子:13261
  • 国家: GB.
    • 玩得开心更多,更少
Re:仿真与合成中的未初始化reg
« 回复#25 on: 2020年8月10日,10:10:38»
另一个原因是异步复位是,嗯,异步。因此,释放重置赢得了可能性't meet a register's设置和保持时间,可能导致依赖于月亮的设备/温度/阶段的行为。

那里 is a place for asynchronous logic, but those with a solid base in theory will know that it is 非常 难以得到正确 - 甚至那么"correctness"假设只有一个输入的输入更改,除了同步逻辑之外,这是不现实的!)。

问题不是异步重置自身,但需要以同步方式从中脱离...

......正如我所说的那样!

在两个不同的时钟周期上重置重置的集合大块逻辑不是问题,但如果它们被要求精确地重置,则将这种相互依赖性烘焙到您的逻辑的功能非常有用。在这种情况下,您迫使编译器逐个符合您设计的多个大块的时序关闭。

恰恰。

它可能在你逃离的小型设计中相对容易地工作'推动时钟速度,但它不起作用't scale very well.

FPGA.地点和路线工具的问题是详细放置是特定设计的分形函数(并且显然是月亮的阶段!);琐碎的变化可能导致显着的速度变化或定时边距。是的,您可以锁定设计的部件的位置,但是路由变得更加有问题。 np完整问题是母狗 :)
那里 are lies, damned lies, statistics - and ADC/DAC specs.
滑翔机飞行员's aphorism: "跨度没有替代品". Retort: "有一个替代品:技能+想象力。但是你可以 span".
正玩得开心 做更多,少
 

在线的 SI.liconwizard.

  • 超级贡献者
  • ***
  • 帖子:6196
  • 国家: FR.
Re:仿真与合成中的未初始化reg
« 回复#26: PM 8月10日,04:28:45»
那里's至少一个异步重置的案例可以'要避免 - 确保在没有时钟的情况下确保一个明确的状态。

接受,虽然我没有'亲自遇到这种情况。

那'非常可能,但情况实际上可以比我们想象的更频繁发生。

即使没有考虑任何花哨的东西,只是采用任何控制时钟的设计 - 你可能会遇到这个。
另一个范围的示例是当提供时钟的振荡器需要更多时间来开始/稳定,而不是完全配置的FPGA,这可能发生在PLL中。

一个典型的例子,我遇到了几次:用几个时钟域设计,其中至少一个时钟可以在任何时刻停止(并开始),以及您'D需要在没有时钟运行时在此时钟域中放置一些信号。您无法以同步方式执行此操作。我使用的方法是通过从另一个时钟域(其中保证始终运行的时钟)时钟监视所述时钟,然后生成一个'reset'信号如果检测到其他域 - 复位信号中的时钟的缺失,则为该另一个域是异步的。这相当好了。我可以提供一个具体的例子:在同步模式下使用FTDI部分(FT2232H / FT232H)设计。在此模式下,FTDI芯片为FIFO提供时钟 - 但是当IC以同步模式放入软件控制时,该时钟仅从IC中获取。所以从FPGA'S POV,此时钟可以在任何时候都处于任何状态(运行,而不是运行)。如果你不'T实现此重置机制,控制FTDI芯片的FSM可以陷入任何状态,这赢得了't be recoverable.

正如你所说的那样 - 即使这看起来很明显 - 异步重置是异步的。在这种情况下你'D需要一个?显然,在同步重置的情况下't appropriate.

用于FPGA专门为FPGA编写HDL的人往往是偏向于它们 - 这是有道理的。因此,由于大多数FPGA是所结构的,这对于这种异步重置来尤其如此。在为ASICS编写HDL时,它可能是合适的。这就是为什么(除非其他人表示,我运行/期望遇到会议时间)我通常会编写HDL,这些HDL可以在FPGA上或者在硅子上合成,以便稍后在硅上合成  - 除非我有一个非常具体的原因。

某物"hidden"在整个讨论中(虽然已经提到了初始化)是,即使你不'T明确地实现了异步重置,大多数FPGA都有一个GSR结构,可确保在配置时确保初始状态。严格来说,这可以看作是异步重置(恰好碰巧采取不同的路径。)
« 最后编辑:8月10日,2020,30:44:36由SiliconWizard下午 »
 

离线 TGZZZ.

  • 超级贡献者
  • ***
  • 帖子:13261
  • 国家: GB.
    • 玩得开心更多,更少
Re:仿真与合成中的未初始化reg
« 回复#27: 2020年8月10日,04:47:15 PM»
同意。

你可以'T完全逃避异步信号,但每一个都需要具体的理由和仔细检查。

我还记得我的大学导师如果设置和持久时会发生什么'遇到了。我记得在Waffly回答中失望了。储蓄恩典是,延期才刚刚在文献中得到认可和量化 :)
那里 are lies, damned lies, statistics - and ADC/DAC specs.
滑翔机飞行员's aphorism: "跨度没有替代品". Retort: "有一个替代品:技能+想象力。但是你可以 span".
正玩得开心 做更多,少
 

在线的 SI.liconwizard.

  • 超级贡献者
  • ***
  • 帖子:6196
  • 国家: FR.
Re:仿真与合成中的未初始化reg
« 回复#28 on: 8月10日,2020年,05:07:54»
你可以'T完全逃避异步信号,但每一个都需要具体的理由和仔细检查。

是的。关于我们所做的大部分,实际上应该说(但我承认我们经常往往使用"recipes" instead.)

我还记得我的大学导师如果设置和持久时会发生什么'遇到了。我记得在Waffly回答中失望了。储蓄恩典是,延期才刚刚在文献中得到认可和量化 :)

从我什么'看到了,这一话题仍然相对较差,除非你在博士级别的高级课程 - 我不在't think I'M在这里估计。它变得更糟。一世'看到了一些年轻的工程师让我们的主人'既然明显体面的HDLS指挥 - 直到你意识到他们不'知道如何处理时钟域交叉。

与FPGA的偏见有关我谈过上面的偏见:我认为很多大学课程唐'真的教导了FPGA的细节,所以学生往往不要真正掌握他们。这反过来又使他们真正了解FPGA的具体特点,而且数字设计更普遍。
« 上次编辑:2020年8月10日,05:12:34由SiliconWizard下午 »
 

离线 ottpe.

  • 贡献者
  • 帖子:6
  • 国家: SE.
Re:仿真与合成中的未初始化reg
« 回复#29开: 2020年8月12日,上午11:04:00»

与FPGA的偏见有关我谈过上面的偏见:我认为很多大学课程唐'真的教导了FPGA的细节,所以学生往往不要真正掌握他们。这反过来又使他们真正了解FPGA的具体特点,而且数字设计更普遍。

我可以说出一些突出的技术大学教学"old school"VHDL知识可以与新技术(或偏离时)基本上抛弃 来自当地的Altera或Xilinx垄断的一些学校)。它仍然往往需要多年的练习,以制作最佳分数硕士学生写稳健的设计。
在我看来,学者应该在开始像VHDL或Verilog这样的东西之前回到旧的74xx面包板练习。然后,下一件事是,学习推断到想要的逻辑中的标准构造。在大多数情况下,这个有点好的,*如果*某些开销不是在路上。
大多数学生似乎与供应商工具的复杂语言和复杂性陷入困境,而不是使用逻辑。

关于Omnipresent重置问题,我发现MyHDL方法非常优雅,它将同步或异步行为属性粘贴到信号声明中。因此,您可以轻松切换设计以进行架构特定推断,例如用于ASIC目标(必须在其中明确地重置所有内容 - 除非在ROM单元格中)。学习阅读Verilog或VHDL仍然很重要,但对于理解逻辑,语言复杂性和创建特殊设计在VHDL中是值得简言的。

 

离线 TGZZZ.

  • 超级贡献者
  • ***
  • 帖子:13261
  • 国家: GB.
    • 玩得开心更多,更少
Re:仿真与合成中的未初始化reg
« 回复#30: 2020年8月12日,02:01:11 PM»
你可以'T完全逃避异步信号,但每一个都需要具体的理由和仔细检查。

是的。关于我们所做的大部分,实际上应该说(但我承认我们经常往往使用"recipes" instead.)

合适的验证"design patterns"彻底善良。他们减少了设计&文档时间,避免愚蠢错误的概率更高。

Stackexchange充满了配方 - 并及时忘记。不,我不是Stackexchange的粉丝。

引用
我还记得我的大学导师如果设置和持久时会发生什么'遇到了。我记得在Waffly回答中失望了。储蓄恩典是,延期才刚刚在文献中得到认可和量化 :)

从我什么'看到,这一话题仍然相对较差,除非你在博士级别提出高级课程

甚至可以有任何博士课程吗?在那个级别,你应该选择和做某事 小说.

引用
- I don't think I'M在这里估计。它变得更糟。一世'看到了一些年轻的工程师让我们的主人'既然明显体面的HDLS指挥 - 直到你意识到他们不'知道如何处理时钟域交叉。

他们应该意识到龙的位置,以及一些经过验证的技术。他们赢了'T必须使用它们。

引用
与FPGA的偏见有关我谈过上面的偏见:我认为很多大学课程唐'真的教导了FPGA的细节,所以学生往往不要真正掌握他们。这反过来又使他们真正了解FPGA的具体特点,而且数字设计更普遍。

那是'如果他们在基础上有一个坚实的接地,请打扰我太多,并可以考虑FPGA或CPLD或ETC如何映射到基础上。亚稳定性是这样一个基本的。

总的来说,如果课程是为一个雇主或工作而设计的,那么这是一个学徒或技术人员课程 - 这很好。一个 工程 课程应该教导基本面,这将是职业生涯和避免 教学 today'S技术/工具。这些细节可以在工作中学到。
那里 are lies, damned lies, statistics - and ADC/DAC specs.
滑翔机飞行员's aphorism: "跨度没有替代品". Retort: "有一个替代品:技能+想象力。但是你可以 span".
正玩得开心 做更多,少
 

在线的 或者chguy.

  • 超级贡献者
  • ***
  • 帖子:2328
  • 国家: 加利福尼亚州
Re:仿真与合成中的未初始化reg
« 回复#31开: 8月12日,2020年,02:05:46»
大多数学生似乎与供应商工具的复杂语言和复杂性陷入困境,而不是使用逻辑。

就像知道本地电力代码的每一件细节的电工一样,但可能不知道欧姆'法律。这样的时间。
 

离线 TGZZZ.

  • 超级贡献者
  • ***
  • 帖子:13261
  • 国家: GB.
    • 玩得开心更多,更少
Re:仿真与合成中的未初始化reg
« 回复#32开启: 8月12日,2020年,02:30:21 PM»
大多数学生似乎与供应商工具的复杂语言和复杂性陷入困境,而不是使用逻辑。

就像知道本地电力代码的每一件细节的电工一样,但可能不知道欧姆'法律。这样的时间。

那's not a bad analogy.

OTOH I.'VE总是喜欢徘徊的印度圣人的故事,拥有三个...:Lunghi,鞋子和扩音器。那些对他的生活方式至关重要。
那里 are lies, damned lies, statistics - and ADC/DAC specs.
滑翔机飞行员's aphorism: "跨度没有替代品". Retort: "有一个替代品:技能+想象力。但是你可以 span".
正玩得开心 做更多,少
 

在线的 SI.liconwizard.

  • 超级贡献者
  • ***
  • 帖子:6196
  • 国家: FR.
Re:仿真与合成中的未初始化reg
« 回复#33开: PM 8月12日,05:35:48»
甚至可以有任何博士课程吗?在那个级别,你应该选择和做某事 小说.

但你仍然有很多学习。
我不'在世界各地的所有博士节目中了解,但作为博士学位研究的一部分,拍摄高级课程并不少见。当然,您的原始研究是它的主导部分,但您通常也必须携带一些特定课程,并且还要做一些教学以完成您的博士学位。
例子: //www.epfl.ch/education/phd/doctoral-studies-structure/

引用
与FPGA的偏见有关我谈过上面的偏见:我认为很多大学课程唐'真的教导了FPGA的细节,所以学生往往不要真正掌握他们。这反过来又使他们真正了解FPGA的具体特点,而且数字设计更普遍。
那是'如果他们在基础上有一个坚实的接地,请打扰我太多,并可以考虑FPGA或CPLD或ETC如何映射到基础上。亚稳定性是这样一个基本的。

我不'在这里相当同意。在此线程中的讨论非常讨论(此处在许多其他线程中)显示了问题。就我而言,这些主题仍然非常糟糕。'见过。 IME,大多数学生都不'T掌握稳定性问题或知道如何处理它们。

至于FPGA的特定,这里的话题是一个例子,了解为什么有些供应商建议反对异步重置,而其他供应商则为其他供应商 '例如,t。还关于信号初始化。然而,他们将在大多数FPGA上正常工作这些天,而且它们肯定不会直接在硅片上综合,因此您通常可以正确地获得一系列不同的问题,以便正确启动信号。

对我来说,这是基础知识。
 

离线 TGZZZ.

  • 超级贡献者
  • ***
  • 帖子:13261
  • 国家: GB.
    • 玩得开心更多,更少
Re:仿真与合成中的未初始化reg
« 回复#34开: 2020年8月12日,06:12:22 PM»
我不'T不同意,特别是关于PHDS的可变性和一般知识。

尽管如此,延期性是非常基本的。
那里 are lies, damned lies, statistics - and ADC/DAC specs.
滑翔机飞行员's aphorism: "跨度没有替代品". Retort: "有一个替代品:技能+想象力。但是你可以 span".
正玩得开心 做更多,少
 

离线 为了fathom.

  • 频繁的贡献者
  • **
  • 帖子:566
  • 国家: 我们
Re:仿真与合成中的未初始化reg
« 回复#35开启: 2020年8月12日,06:20:12 PM»
我不'在这里相当同意。在此线程中的讨论非常讨论(此处在许多其他线程中)显示了问题。就我而言,这些主题仍然非常糟糕。'见过。 IME,大多数学生都不'T掌握稳定性问题或知道如何处理它们。

至于FPGA的特定,这里的话题是一个例子,了解为什么有些供应商建议反对异步重置,而其他供应商则为其他供应商 '例如,t。还关于信号初始化。然而,他们将在大多数FPGA上正常工作这些天,而且它们肯定不会直接在硅片上综合,因此您通常可以正确地获得一系列不同的问题,以便正确启动信号。

对我来说,这是基础知识。

我认为这大部分可能被视为特定于域的知识,但是,亚稳定性是应该在一般数字设计工程课程中教授的一个领域。

但我可能是错的 - 我'M自学(无论是无论何种学位),并开始在RTL逻辑的日子里返回此东西,并使用塑料跟踪模板绘制我的原理图。 我在具有多个异步时钟和信号(从DC到10 GHz)的电信系统上削减了我的数字齿,并结束了我的职业生涯的设计部分与Verilog和门阵列。 所以我不知道现在在学校教授这个东西。
 

离线 伯尼

  • 超级贡献者
  • ***
  • 帖子:3437
  • 国家: SI.
Re:仿真与合成中的未初始化reg
« 回复#36开启: 8月13日,2020年,05:49:51»
我作为我电子工程学位的一部分,我有一个FPGA课程。避风港'它真的得到了很多有用的知识。

它主要是喜欢。这是FPGA是什么以及它所做的。以下是Xilinx工具的样子(并告诉下下载并安装它,因为它是常见的巨大的下载)。以下是您如何设置测试台并模拟它。然后,其余的变成了数字逻辑类的...这是你如何构建一个加法器,这就是你的构建mux,这就是你的构建RAM,这就是你的建立状态机(我认为没有提到状态编码类型)。然后,您也可以在Dev Board上运行一些设计,以查看该过程,就是这样。

亚稳定性?我们甚至没有听说过时交叉甚至时钟分析。
 
以下用户感谢此帖子: SI.liconwizard.

离线 TGZZZ.

  • 超级贡献者
  • ***
  • 帖子:13261
  • 国家: GB.
    • 玩得开心更多,更少
Re:仿真与合成中的未初始化reg
« 回复#37 on: 8月13日,2020年,07:11:14»
我作为我电子工程学位的一部分,我有一个FPGA课程。避风港'它真的得到了很多有用的知识。

它主要是喜欢。这是FPGA是什么以及它所做的。以下是Xilinx工具的样子(并告诉下下载并安装它,因为它是常见的巨大的下载)。以下是您如何设置测试台并模拟它。然后,其余的变成了数字逻辑类的...这是你如何构建一个加法器,这就是你的构建mux,这就是你的构建RAM,这就是你的建立状态机(我认为没有提到状态编码类型)。然后,您也可以在Dev Board上运行一些设计,以查看该过程,就是这样。

亚稳定性?我们甚至没有听说过时交叉甚至时钟分析。

这听起来对。有一种可怕的数量"push this button"与FPGA工具组相关联 - 这变得非常迅速。

当我第一次想到没有观察到时s/ T.h (导致我理解的亚稳定性),FPGA将来是十年。所有基本的工作都是如此。大型机计算机和长距离PlsioCherous电信系统。

可以说,PlesioSous系统是一个特别令人讨厌的用例。
那里 are lies, damned lies, statistics - and ADC/DAC specs.
滑翔机飞行员's aphorism: "跨度没有替代品". Retort: "有一个替代品:技能+想象力。但是你可以 span".
正玩得开心 做更多,少
 

离线 MFRO.

  • 常规贡献者
  • *
  • 帖子:89
  • 国家: 德
Re:仿真与合成中的未初始化reg
« 回复#38 on: 8月13日,2020年,07:21:55»
恕我直言,虽然它没有'伤害,您无需了解常规性以使您的时间正确。

It just needs the common sense 数据必须在时钟之前在那里. Just as you can'读你没有的信't receive yet.

亚稳性是比那样更复杂的话题。
 

离线 TGZZZ.

  • 超级贡献者
  • ***
  • 帖子:13261
  • 国家: GB.
    • 玩得开心更多,更少
Re:仿真与合成中的未初始化reg
« 回复#39开: 2012年8月13日,07:59:16 AM»
恕我直言,虽然它没有'伤害,您无需了解常规性以使您的时间正确。

It just needs the common sense 数据必须在时钟之前在那里. Just as you can'读你没有的信't receive yet.

确切地 你怎么 保证 那是一个有三个的系统 无关 时钟? (甚至两个,但三个使得不可挽回的问题明确)

考虑到的影响 将要 在PleSioIocous系统中可见,您可以从几个无关系统到达的数据。

那里 are computing equivalents that most people choose not to think about; they too cause "interesting" system failures.

背景:
这是着名的<2 page letter: http://ibm-1401.info/AnomalousSynchronizer_ChaneyMolnar_IEEE1973.pdf
以下是作者之一'最近的想法,几乎肯定"TL;DR" :) //www.arl.wustl.edu/~jst/cse/260/glitchChaney.pdf
« 上次编辑:2020年8月13日,08:28:14 AM由TGZZZ »
那里 are lies, damned lies, statistics - and ADC/DAC specs.
滑翔机飞行员's aphorism: "跨度没有替代品". Retort: "有一个替代品:技能+想象力。但是你可以 span".
正玩得开心 做更多,少
 
以下用户感谢此帖子: 福登, 为了fathom.

离线 MFRO.

  • 常规贡献者
  • *
  • 帖子:89
  • 国家: 德
Re:仿真与合成中的未初始化reg
« 回复#40开启: 2020年8月13日,08:38:51»
恕我直言,虽然它没有'伤害,您无需了解常规性以使您的时间正确。

It just needs the common sense 数据必须在时钟之前在那里. Just as you can'读你没有的信't receive yet.

确切地 你怎么 保证 在一个有两个的系统中 无关 clocks?

有了唯一有帮助的东西:适当同步。

在最简单的情况下,时钟换档寄存器。在更困难的情况下,具有异步FIFO(录取,写一个异步FIFO *是*困难,但我不'无论如何,都知道任何人都做不到的是纯粹的学术目的)。

您无需完全了解常规性的所有细节来使用这些,这一切都归结为在捕获时钟之前到达的数据的要求。

 

离线 TGZZZ.

  • 超级贡献者
  • ***
  • 帖子:13261
  • 国家: GB.
    • 玩得开心更多,更少
Re:仿真与合成中的未初始化reg
« 回复#41开启: 2020年8月13日,08:56:42»
恕我直言,虽然它没有'伤害,您无需了解常规性以使您的时间正确。

It just needs the common sense 数据必须在时钟之前在那里. Just as you can'读你没有的信't receive yet.

确切地 你怎么 保证 在一个有两个的系统中 无关 clocks?

有了唯一有帮助的东西:适当同步。

在最简单的情况下,时钟换档寄存器。在更困难的情况下,具有异步FIFO(录取,写一个异步FIFO *是*困难,但我不'无论如何,都知道任何人都做不到的是纯粹的学术目的)。

您无需完全了解常规性的所有细节来使用这些,这一切都归结为在捕获时钟之前到达的数据的要求。

当然,但是那些只是解决方法,因为你永远无法确保,使用你的短语,"数据必须在时钟之前在那里".

至于异步FIFO,您的经验是有限的:他们是 远的 不仅仅是学术兴趣。他们对Mouser列表102不同 离散IC. 异步FIFO和Digikey列表816.你不't制作并销售仅是学术兴趣的离散IC :)

如今,它们通常被埋在FPGA内,不同的时钟域相遇。
« 上次编辑:2020年8月13日,09:04:54 AM通过TGZZZ »
那里 are lies, damned lies, statistics - and ADC/DAC specs.
滑翔机飞行员's aphorism: "跨度没有替代品". Retort: "有一个替代品:技能+想象力。但是你可以 span".
正玩得开心 做更多,少
 

离线 MFRO.

  • 常规贡献者
  • *
  • 帖子:89
  • 国家: 德
Re:仿真与合成中的未初始化reg
« 回复#42开启: 8月13日,2020年,01:24:01 PM»
至于异步FIFO,您的经验是有限的:他们是 远的 不仅仅是学术兴趣。他们对Mouser列表102不同 离散IC. 异步FIFO和Digikey列表816.你不't制作并销售仅是学术兴趣的离散IC :)

你最有可能唐'T在Mouser购买Async FIFOS,并将其克拉进入VHDL设计,你呢?
我没有'T Say Sync FIFO并不重要(当然是他们),我说没有人会从头开始写入它们,但可能会使用FPGA供应商供应的内容。
 

离线 TGZZZ.

  • 超级贡献者
  • ***
  • 帖子:13261
  • 国家: GB.
    • 玩得开心更多,更少
Re:仿真与合成中的未初始化reg
« 回复#43开: PM 8月13日,01:48:44»
至于异步FIFO,您的经验是有限的:他们是 远的 不仅仅是学术兴趣。他们对Mouser列表102不同 离散IC. 异步FIFO和Digikey列表816.你不't制作并销售仅是学术兴趣的离散IC :)

你最有可能唐'T在Mouser购买Async FIFOS,并将其克拉进入VHDL设计,你呢?

请不要'T通过故意削减相关段落来创建草兵论据。这只是惹恼了人们,让你看起来很愚蠢。在这种情况下,这是哪一点't you understand?

如今,它们通常被埋在FPGA内,不同的时钟域相遇。

然后你声称:

引用
我没有'T Say Sync FIFO并不重要(当然是他们),我说没有人会从头开始写入它们,但可能会使用FPGA供应商供应的内容。

当你写的时候,你觉得你有什么想法:

(录取,写一个异步FIFO *是*困难,但我不'无论如何,都知道任何人都做不到的是纯粹的学术目的)。
« 上次编辑:2020年8月13日,01:57:25 PM由TGZZZ »
那里 are lies, damned lies, statistics - and ADC/DAC specs.
滑翔机飞行员's aphorism: "跨度没有替代品". Retort: "有一个替代品:技能+想象力。但是你可以 span".
正玩得开心 做更多,少
 

在线的 或者chguy.

  • 超级贡献者
  • ***
  • 帖子:2328
  • 国家: 加利福尼亚州
Re:仿真与合成中的未初始化reg
« 回复#44 on: 8月13日,2020年,01:52:34»
It just needs the common sense 数据必须在时钟之前在那里. Just as you can'读你没有的信't receive yet.

之后。你需要 抓住 你的来信是读书。

当然,您可以弄清楚如何使用常识进行定时分析。你只需要思考几个小时(或几天)。

问题是人们试图消除结构的东西(如门和拖鞋),并尝试专注于行为的东西 - 找到良好的语言构造(VHDL有这么多......)。然后它'S很难将其设计链接到触发器的时序要求。牛顿'S法律也是常识,但他们还没有'已经发现了数千年的历史 - 人们没有't思想在正确的方向。
 

离线 MFRO.

  • 常规贡献者
  • *
  • 帖子:89
  • 国家: 德
Re:仿真与合成中的未初始化reg
« 回复#45: 8月13日,2020年,03:17:56 PM»
引用
我没有'T Say Sync FIFO并不重要(当然是他们),我说没有人会从头开始写入它们,但可能会使用FPGA供应商供应的内容。

当你写的时候,你觉得你有什么想法:

(录取,写一个异步FIFO *是*困难,但我不'无论如何,都知道任何人都做不到的是纯粹的学术目的)。

如果我的陈述不是'T足够清楚。我以为我陈述没人了很明显 写道 我没有的异步FIFO't mean nobody 用途 异步FIFO(当我在你面前说话时,更不用说 需要 他们为更复杂的同步仪)?
« 上次编辑:2020年8月13日,03:22:17 PM由MFRO »
 

离线 Bassman59.

  • 超级贡献者
  • ***
  • 帖子:1685
  • 国家: 我们
  • 是的,我这样做是为了生活
Re:仿真与合成中的未初始化reg
« 回复#46开: 8月13日,2020年,06:41:49 PM»
It just needs the common sense 数据必须在时钟之前在那里. Just as you can'读你没有的信't receive yet.

之后。你需要 抓住 你的来信是读书。

确切地。

考虑:您有一个具有数据有效标志的数据总线,在一个时钟生成。数据总线以新值驱动,同时标志被置位。

在其他时钟域中,您可以使用该目标时钟时钟时钟的两个触发器同步标志,或许使用两个触发器。该目标域中的逻辑识别同步标志的断言并锁存数据总线。同时,一个"clear flag"信号返回到源域以确切地完成 - 清除数据有效标志。

我不相信数据总线需要与目标域同步'S时钟。只有旗帜需要这样的旗帜。

必须考虑定时分析,路径约束。上面的假设是数据总线在识别标志之前在目的地锁存处沉降。

你甚至可能甚至不需要握手。如果目标域比源域快,则只需同步标志,检测其断言'真的,你锁定了你的数据总线。如果目标域比源域慢,则源需要将标志保持为TRUE,足以在目标域中识别。因此,如果您的源时钟为100 MHz,并且您的目标时钟为25 MHz,请断言8个时钟的标志(源域中)。

那里 are many ways to handle this.
 

离线 伯尼

  • 超级贡献者
  • ***
  • 帖子:3437
  • 国家: SI.
Re:仿真与合成中的未初始化reg
« 回复#47开启: 8月13日,2020年,07:13:18 PM»
是的那个'既成持有数据的全部点。

它必须保持足够长的公共汽车,另一端看它并使用它。这也会带来为什么可以在可能的情况下进行设计。如果另一边确切知道何时查看数据,那么数据只需要在总线上放置新数据之前有1个时钟周期(或者在DDR中的一半时钟周期)。

但通常,当我需要做时钟交叉时,我只需坚持一个小的FIFO,所以它不再是我的问题。
 

离线 MFRO.

  • 常规贡献者
  • *
  • 帖子:89
  • 国家: 德
Re:仿真与合成中的未初始化reg
« 回复#48开启: 2020年8月14日,06:00:01 »
...因此,如果您的源时钟为100 MHz并且您的目标时钟为25 MHz,请断言8个时钟的标志(源域中)...

在该示例中(两个时钟精确倍数),你经常不'T.完全需要同步器(提供两个时钟保持同步,即由同一PLL驱动)。

您只需要确保在快速时钟域中保持较长的信号,以便您的慢域可以看到它们。
 


分享我

掘客  Facebook  诽谤  美味的  Technorati.  推特  谷歌  雅虎
SMF.