花的翅膀在死亡後才懂得飛翔
林夕
March 18, 2009美國的一家公司Terrafugia發表了一部「飛車」同樣命名為Terrafugia。這次是真的做出一台真正可以飛的「汽車」了。跟日本經常舉辦的鳥人大賽是不同的東西,這次設計的是真正可以飛的汽車!




//+FHDR------------------------------------------------
// (C) Copyright Company NTHU.EE VLSI Comm Lab.2009
// All Right Reserved
//-----------------------------------------------------
// FILE NAME: cmplx_fix.h
// AUTHOR: stanlly9
// CONTACT INFORMATION: stanlly9.blogspot.com
//-----------------------------------------------------
// RELEASE VERSION: V 1.0
// VERSION DESCRIPTION:
// 1.0 First release
//-----------------------------------------------------
// RELEASE DATE: Mar-25-2009
//-----------------------------------------------------
// PURPOSE: Complex fixed point
//-FHDR------------------------------------------------
#ifndef _CMPLX_FX_HDR
#define _CMPLX_FX_HDR
#define IWL 7//integer word-length
#define DWL 9 //decimal fraction word-length
//IWL+DWL=sizeof(short int)*2=16
typedef struct {
short int re;
short int im;
} cmplx_fix;
//check negaitve
int is_neg(short int);
//cmplx_fix fcns
void cf_print(cmplx_fix);//printer
void cf_seti_re(cmplx_fix*, int);//set rel part by integer values
void cf_seti_im(cmplx_fix*, int);//set img part by integer values
void cf_setf_re(cmplx_fix*, float);//set rel part by float values
void cf_setf_im(cmplx_fix*, float);//set img part by float values
//--cmplx_fix operator fcns--
//----cmplx_fix to cmplx_fix----
cmplx_fix cf_add(cmplx_fix, cmplx_fix);// +
cmplx_fix cf_sub(cmplx_fix, cmplx_fix);// -
cmplx_fix cf_mul(cmplx_fix, cmplx_fix);// *
cmplx_fix cf_div(cmplx_fix, cmplx_fix);// /
//----cmplx_fix to integer values----
cmplx_fix cf_add_re(cmplx_fix, int); // + real
cmplx_fix cf_add_im(cmplx_fix, int); // + imag
//cmplx_fix cf_sub_re(cmplx_fix, int); // - real as _add_re(-int)
//cmplx_fix cf_sub_im(cmplx_fix, int); // - imag as _add_im(-int)
cmplx_fix cf_mul_re(cmplx_fix, int); // * real
cmplx_fix cf_mul_im(cmplx_fix, int); // * imag
cmplx_fix cf_div_re(cmplx_fix, int); // / real
cmplx_fix cf_div_im(cmplx_fix, int); // / imag
#endif
In ANSI C, we don't have much useful programming shortcuts,//cmplx_fix + cmplx_fix
cmplx_fix cf_add(cmplx_fix a, cmplx_fix b)
{
short int real = a.re + b.re;
short int imag = a.im + b.im;
a.re = (short int) real;
a.im = (short int) imag;
return a;
}
自從2008年9月初,Google號召的Android平台手機產品正式露面,也正式宣告Google跟Apple兩個大型風雲企業最近終於在手機市場上碰頭。一個是強調設計時尚感的iPhone,而另外一邊則是強調使用便利性的GPhone。雖然同樣都是在搶占手機市場,但其實他們的行銷策略其實是很不一樣的。從目標消費者到主要獲利的方式等等的差異性主要可以區分如下表:| \ | iPhone | GPhone |
| 目標消費者 | 一般大眾 | 重手機功能者 |
| 策略 | 改變使用者行為 | 改變產業模式 |
| 獨到強項 | 使用介面 | 網路技術 |
| 平台特色 | 封閉 | 開放 |
| 重要協力 | 手機營運商 | 手機製造商 |
| 獲利方式 | 硬體與軟體銷售 | 網路廣告 |
Recently, I have tried to using SystemC to perform a fixed-point simulation for my DSP program. There are lots of built-in C++ classes [datatypes] for fixed-point representations, which are also very useful. For examples, the support of operator overridding were compeletly done by OSCI. Program designers can multiply the real values they want without considering the representations for integer part and the decimal part. All the rest jobs like scalling, signed extension, rounding are automatically performed by default.
#define SC_INCLUDE_FX
sc_fixed_fast<8,3> x;
