写在前面
大家都知道FPGA这玩意是老美搞出来的,所以很多术语都是翻译自英语。接下来就看几个在日常的技术文档中常见的拼写错误吧。
本文部分翻译自Cliff Cummings的系列文章中的一个小短文《Common Mistakes In Technical Texts》,需要英语原文的朋友可以评论留邮箱或私信。
1、Testbench / Test bench
百度百科:testbench是一种验证的手段。首先,任何设计都是会有输入输出的。但是在软环境中没有激励输入,也不会对你设计的输出正确性进行评估。那么此时便有一种,模拟实际环境的输入激励和输出校验的一种“虚拟平台”的产生。在这个平台上你可以对你的设计从软件层面上进行分析和校验,这个就是testbench的含义。
实际上这个词是人工造出来的,英语中有test,也有bench,但是之前没有Testbench这个词,但是有workbench(工作台)这个词,是工匠用的工作台,老外(不一定是美国人)根据workbench生造出了Testbench这个词,可以意译为测试台。这么看来老外也有咱工人阶级的觉悟啊!
但是平常我们一般直接使用Testbench,而不是对应的中文。实际上个人认为在需要翻译Testbench的场合,直接使用测试脚本或者会比较恰当。
根据workbench的复数形式workbenches,可得testbench的复数形式testbenches。
2、Nonblocking Assignment / Non-blocking Assignment
中文翻译为非阻塞赋值----这算是个比较有争议的词了,争议的点在于究竟是Nonblocking还是Non-blocking(是否有连字符)。我们可以百度搜素一下,可以发现两种写法都有:
这种情况我们直接看Verilog标准---《IEEE.1364-verilog 2005》 ,9.2.2节对非阻塞赋值的定义做了说明,如下:
所以正确的使用方法(或者说尽量使用)应该是Nonblocking Assignment。
3、Flip-flop / Flip flop
上面说了不该用连字符却用了的情况,接下来看看该用连字符却没用的情况:Flip-Flop和Flip Flop----中文译为触发器。老实说这两种写法我基本上见过的次数是一半一半,所以一直都没管哪个是正确的写法,实际上标准的写法应该是Flip-flop。
我们打开TI的官网搜索一下Flip flop(错误的),结果如下:
搜索结果都是Flip-flop,验证了正确的写法为Flip-flop。
4、Multiplexer / Multiplexor
Multiplexer和Multiplexor中文译文都为多路复用器,实际上在日常使用中我还从没见过有人使用Multiplexor这个单次,基本都是 Multiplexer,所以也是争议比较小的,可能对于英语母语人群来说,两个单词太容易混淆,对于我们非英语母语人群来说没这个问题。
Multiplexer在TI官网的搜索结果:
Multiplexor在TI官网的搜索结果:可以看到没有相关内容
所以还是使用Multiplexer的用法吧
5、 Combinational / Combinatorial
Combinational 和 Combinatorial中文译文均为:组合的。实际上Combinatorial我基本没见有人用过,都是用Combinational来形容组合电路或者组合逻辑。可能也是英语母语者才容易搞错,问题同4。
6、"a" / "an" Usage
a 和 an的用法你真的清楚吗?这还不简单,后面跟元音(a、e、i、u、o)字母开头的就用an,跟辅音字母开头的就用a咯。比如:an apple;a car。
这个说法措是没错,但是不完整。an不光用跟元音开头的单次,还用在读起来用元音开头的单次。比如an HDL(发音an aach-dee-ell),这里的HDL是以愿意a发音开头的,所以前面也要用an来表示。
这一条倒是挺容易弄错的。