原来这些坑,前人都踩过了,也好像填过了。。。

不知道多少次了,看FPGA的数据手册,经常遇到assert这个单词以及其变形,各种词典的翻译都是什么不说人话的断言,今天看FPGA配置模式的手册时同样遇到assert和deassert,这两个词说实话很是困惑人,我早就看它不爽了,今天一探究竟,于是字典,百度,发现都是软件当中的宏什么鬼?就要放弃之时,何不加上硬件两个字来搜搜,一搜大为惊喜,正是我的想法。



参考:集成电路中的assert和deassert应该如何翻译?

例如:某数据手册中写道The address line ADD is asserted at time t1 and is deasserteed at time t2.接下来给出的时序图中可以看出,ADD信号在t1时变成高电平,t2时变为低电平.我们可以译为:"地址线ADD在t1时有效,在t2时无效."

    也有人说可以把assert译为"置位",deassert译为"清零",但是我认为这样不妥.因为对于低电平有效的信号,assert代表的是清零,而不是置位.例如PXA270的数据资料中有一段话:The external power-control subsystem de-asserts nBATT_FAULT to signal that the main

battery is connected and not discharged.这句话的大意是:nBATT_FAULT引脚是高电平时,表示主电池正常.显然,些处把de-assert译为清零是不对的,而应该译是"无效".

今天在看PXA270数据手册时发现了INTEL对assert和deassert的解释(第40页).解释如下:

assert: Drive a signal to its active voltage level, either high or low.

deassert: Drive a signal to its inactive voltage level, either high or low.

其实这种说法就很好,assert译作有效,反之deassert为无效。


例如:

RDWR_B should be asserted before CSI_B to avoid causing an abort.

对应的时序:

硬件手册里经常出现的assert以及deassert_置位

翻译成有效恰好符合!