月度归档:2016年10月

为什么是“硬件描述语言”而不是“硬件设计语言”

“描述”一词说明电路不是凭空设计出来的,而是在能够实现的基础之上通过某种语言来描述他们的互联关系。早期的数字电路设计采用原理图设计方法,其本质上也是对电路的一种描述。它用原理图的形式将各种逻辑电路互联在一起。但随着电路的发展,采用原理图来设计数字电路已经显得力不从心了,因此便采用所谓的硬件描述语言来描述电路的互联关系。

由此也可以看出,硬件描述语言和计算机编程语言有着本质的差别。HDL必须基于硬件的实现基础之上,也就是说硬件描述语言所描述的电路必须是能够实现的。而计算机编程语言则不在乎电路的实现。因此当编写或阅读硬件描述语言的时候,从硬件结构的角度而不是从顺序算法的角度来考虑的话,将更容易理解。

也因为这个缘故,在编写代码的时候,应以导出电路为目的,而不是描述一个顺序的C语言算法。如果不能做到这一点,则会经常导致代码的不可综合,实现复杂,或仿真和综合之间存在差异。例如,同一个变量在多个always块中被赋值。在verilog语法中是允许这种情况,并且可以仿真。但是却无法综合。

🙂

什么是JTAG

JTAG是IEEE标准(1149.1),开发与1980年代。真早。早期的JTAG用于大批量电路板的检测。TAG通过四个端口来检测电路板中ICs的PIN脚。通过TDI输入与TDO输出,各芯片形成所谓的JTAG-chain。这样一来,通过传输数据,就可以确认芯片各引脚的链接正确与否,此种方法就是传说中的”IC Boundary test”.
但随着技术发展,JTAG也不仅仅只用于IC边界测试。还用于debug、通过JTAG来设置FPGA。JTAG可以通过

  • Parallel (printer) port
  • USB port
  • Ethernet port

来连接PC。最简单的控制是采用·Parallel (printer) port。

一个并行端口可以视为是计算机的一个12位输出以及一个5位输入的端口。当然JTAG只需要3位输出,1位输入即可。

从C语言的角度,控制JTAG很简单。例如控制TCK,代码如下:


#define lpt_addr 0x378

#define TCK 0x01

 

void toggle_TCK()

{

outport(lpt_addr, 0);

outport(lpt_addr, TCK);

outport(lpt_addr, 0);

}

jtag

继续阅读

Matlab中最出名的美女

lena

没错就是Lena Söderberg!这张图来自《1972 Playboy Magazine – The “Lenna” Edition》 It is a picture of Lena Söderberg, a Swedish model, shot by photographer Dwight Hooker.

From wikipedia:

Lenna is the name given to a standard test image which has been in use since 1973. It comprises 512×512 pixels, and was originally cropped from the centerfold of the November 1972 issue of Playboy magazine. It is a picture of Lena Söderberg, a Swedish model, shot by photographer Dwight Hooker. The test image is often used for image processing algorithms (such as compression and denoising) and related scientific publications.

1972年出版playboy,1973年马上就被工程师拿来当测试用。看来作为一名合格的工程师,也要什么都看,包括nudie magazines^_^其中有个小细节,虽然他叫lena,但是playboy却是打印城lenna。我一开始以为是出错了,后来发现原来当年的Playboy真的是这么写的“Lenna”.好在我在一篇文章中找到了解释:

Although her name is spelled “Lena”, Playboy spelled her name as “Lenna” in the magazine. It’s not a typo. It was common practice to anglicize foreign names into something “more English” sounding.

1972 Playboy Magazine – The “Lenna” Edition

此时,就像看到易知难一样,我就想看看现在她是什么样的。比易知难好找多了。The Lenna Story

而且直到1988年,瑞典一家计算机出版社来采访她。她才知道,原来她的照片在计算机领域如此的广泛应用。后来她居住在了瑞典,并且快乐的结婚,生了3个小孩,找了一份工作。

nov72playboy

至于原图,由于担心法律问题。所以请自己看这里。(18禁!)

Windows C盘目录下eula.*.txt install.exe VC_RED.MSI是什么

remove-eula-windows

C盘目录下莫名多了eula.1028.text , install.res.1028.dll, vc_red.msi 这些文件,能不能删除呢?查查Google。What is eula.1028.text on (c:),具体原因在这里详细说明《VCRedist from VC++ 2008 installs temporary files in root directory》

导致会产生这些临时文件的原因是:

These temporary files are erroneously generated by the installer into the root directory of one of your drives, instead of the temp directory.

继续阅读