又要离开了
作者:蓝水映像 日期:2009-01-31
亲眼目睹HD9026
作者:蓝水映像 日期:2009-01-25
早就在网上看到许多关于编号HD90的100元假钞的新闻, 但今天有幸亲眼见到了这种假币, 当然日建立在他人的不幸之上的.
粗略看上去此种假币的仿真度的确很高, 如不拿出真币对比, 很难分辨出真假.
假币有毛主席水印图案, 有金线, 右上角的花纹中也有在一定角度下才能看到的100字样. 甚至有只能在紫光灯下才能看到的发光纤维和100字样的荧光字体.
假币的所用的纸张和真币略有不同, 真币用的纸比较有韧性, 甩起来声音比假币清脆. 假币上的毛主席头像摸起来日光滑的, 而真币上的头像摸起来日凹凸不平的.

山寨票贩子
作者:蓝水映像 日期:2009-01-16
票贩子已经很可恨了, 更让人可气的是遇上了假票贩子. 中午快下班的时候, 一同事在火车票网上刷出了一条转让 T176 硬卧票的信息.(为什么叫刷呢? 上过火车票网的人应该知道, 上面的转让信息基本上是每 3 秒种更新一条.所以一两分钟就要刷新一次页面,才能保证给刚出来的信息可以马上看到. 买不到票, 盯着转让信息的人多着呢!).
同事打电话一问, 硬卧票才加 80 块钱. 消息传出, 办公室立马沸腾了. 毕竟我们手里的票都还是临客呢, 对于 T 字头的快车, 又这便宜, 谁不流口水啊. 当时我也是惊讶了, 自己又拿起电话, 问了票贩子一遍, 果真只加 80. 大家终于按耐不住了, 一下子 5 个人, 假也不请, 就冲票贩子的交易地------罗湖火车站去了. 后来还真是庆幸去的是 5 个人, 而不是 1 个人.
到了火车站, 跟票贩子打电话, 又说要我们去旁边的一个叫罗湖商业城的地方. 然后到了后又说到里面的建设银行的旁边. 票贩子始终没说具体地点. 但是当我们辛苦找到建设银行的时候, 再去打票贩电话的时候, 却再也打不通了. 其实票贩此时就在暗处观察着我们. 当然我们也不是傻子, 一个同事在不停拨打票贩子的电话的时候, 我们其他几个人也在观察周围的人. 发现有两个人比较可疑, 一个短发中年人就站在我们旁边, 什么也不做. 另一个体型有些胖的站在一个小店旁边, 玩着手机, 但时不时的会向我们几个人瞟过来. 记得当时我还跟那个短发中年人对视了几秒钟, 用眼神告诉那家伙"小样, 一看你就知道不是好东西, 不要装了, 你长得太猥琐了!"
等了大概十几分钟后, 胖男人和中年人先后离开, 那短发中年人在走的时候, 还假装和票贩子打电话, 让人以为他也是来买票的, 但是他演技太差了. 两人走后, 那同事的电话也打通了. 票贩子一开口什么也不说, 就直接问我们来了几个人? 同事回答 5 个. 票贩马上说道票不卖了!
此话一出, 我们几个也马上明白了, 这个票贩是骗人的! 他们先用极低的价格在网上发布转让信息, 引诱人们上钩. 然后再通过电话把人引到某处, 票贩在暗中观察, 如果来的人少, 估计他们就会把人带到某地方, 然后任其鱼肉了. 如果人多, 票贩就不出面, 但也不卖票了.
唉! 这个就是中国特有的国情了, 大家也都知道这里面的种种, 也不去多加评论了. 只希望矛盾能早些解决. 毕竟像我们这样一次去 5 个人的情况是少数, 大多都是去一个两个吧.
回个家怎么这么难呢?
作者:蓝水映像 日期:2009-01-13
SystemVerilog学习笔记(7) ------ 结构体(2)
作者:蓝水映像 日期:2009-01-11
SystemVerilog 中的结构体分为压缩和非压缩结构体.
- typedef struct packed {
- bit [7:0] main_ver;
- bit [15:0] sub_ver;
- }version;
计算机在处理一般的结构体时, 对于结构体中的成员处理的方式仍是按一般的数据类型对待的. 如在处理 byte 类型的数据时, 计算机可能按照 32 bit 处理, 因为对于一般的 32 位操作系统来说,处理 32 位数据比 8 位数据可能要简单, 因此, 8 bit 的数据所占的内存空间可能不是 8 bit, 而是 32 bit. 这种情况实际在 C 语言中也有的. C 中也有相应的编译参数来处理这种情况. 这种占用空间可能比变量实际大小要大的情况, 有时对于处理数据会很不方便, 所以在 SystemVerilog 中, 可以用 packed 声名方式来避免这种问题.
对于压缩结构体, 计算机会把其整体看作是一个向量来处理, 结构体中的成员在内存中是连续存放的. 所以压缩结构体的成员必须是整型数据, 不能是 real, shorreal 以及非压缩结构体, 非压缩的联合体, 非压缩数组.
- version ver_0, ver_1;
- ver_0[23:16] = 8'h1; // 用向量的方式来访问压缩结构体.
- ver_0[15:0] = 16'h0a;
- ver_1 = ver_0 << 2; // 把压缩结构体当作整体来参加运算.
因为压缩结构体是被当作向量来处理的, 所以压缩结构体还可以加上 signed, unsigned 标志. 这个符号标志是针对压缩结构体整体的, 不会影响到结构体内部的成员.
- typedef struct packed signed {
- bit [15:0] hi_bit;
- bit [15:0] lo_bit;
- }data;
Tags: SystemVerilog Verilog FPGA
SystemVerilog学习笔记(6) ------ 结构体(1)
作者:蓝水映像 日期:2009-01-09
SystemVerilog的结构体声名和C中的声名类似, 有匿名结构体和自定义结构体. 和C不同的是, SystemVerilog在声名结构体时, 大括号左边不能像C可以有个标识符.
- struct [packed[signing]]{ // 匿名结构体
- struct_members
- }struct_variable_name;
- typedef struct [packed[signing]]{ // 自定义类型结构体
- struct_members
- }struct_type;
- struct_type struct_variable_name; // 声名结构体变量
结构体中的成员变量在定义结构体时就可以一并赋上初值, 也可以在声名变量时赋初值.
- typedef struct{
- int i_a = 0; // 定义结构体时赋初值
- int i_b = 1;
- real r_c;
- }data_t;
- data_t data1 = '{2, 3, 4}; /* 定义变量时赋初值, 值的顺序要得结构体中
- * 定义的顺序一致 */
- data_t data2 = '{i_b:5, i_a:6, r_c:7.0};
- /* 按成员名称来赋值, 用这种方式赋值时,
- * 所有的量都要用成员名来赋值. */
- data_t data3 = '{default:0}; // 所在成员设置成0.
- data_t data4 = '{int:8, real:9.0}; // 按成员类型赋值.
- data_t data5 = '{int:10, default:0, i_b:11};
- /* 混合赋值时, 成员名优先级最高,
- * 数据类型其次, default最低. */
Tags: SystemVerilog Verilog FPGA
SystemVerilog学习笔记(5) ------ 枚举(2)
作者:蓝水映像 日期:2009-01-03
SV 中的枚举类型是一种强类型, 不象 Verilog 中各种类型可以相互随意赋值. 在 SV 中对枚举类型赋值有 3 种方法:
1. 用枚举类型中的标签对枚举变量赋值.
2. 同一枚举类型定义的不同变量间相互赋值.
3. 用强制类型转换.
- typedef enum {red, green, yellow} Colors;
- Colors col_0, col_1, col_2;
- col_0 = red;
- col_0 = green;
- col_0 = yellow; // 用标签对枚举变量赋值.
- col_1 = col_0; // 同类型枚举变量间赋值.
- col_2 = Colors'(0); // 强制类型转换赋值.
- $cast(col_2, 1); // 动态强制类型转换.
枚举类型中的标签可以被直接引用, 用来给其它变量赋值或参与运算.
- typedef enum {red, green, yellow} Colors;
- typedef enum {Mo,Tu,We,Th,Fr,Sa,Su} Week;
- Colors col_0;
- Week week_0, week_1;
- int i, j;
- col_0 = green;
- week_0 = We;
- i = col_0 + week_0; // 枚举类型可以自动转换成 int 类型.
- j = red+ We; // 直接用标签进行赋值.
- week_1 = i; // 错误的, int不能自动转换到枚举类型.
- week_1 = week_0 + 1; // 错误的, 等式右边在做运算时已经转换
- // 成整形, 不能再直接赋值给枚举类型变量.
SV 中为了方便枚举类型的使用, 提供了一些方法.
1. first()
返回枚举类型的第一个值.
2. last()
返回枚举类型的最后一个值.
3. next()
返回枚举类型的下一个值. 如果当前值是最后一个则返回第一个值.
4. prev()
返回枚举类型的前一个值. 如果当前值是第一个则返回最后一个值.
5. num()
返回枚举类型中标签的个数.
6. name()
根据所给的值返回标签名称字符串, 如果值不在枚举类型中,则返回一个空字符串.
Tags: SystemVerilog Verilog FPGA
公元二〇〇九年一月一日
作者:蓝水映像 日期:2009-01-01
早上起来,和妈妈通了电话,妈在接到电话时心里一阵激动,问我是不是到家了.当我说没有时,她说话的语气也低了下来.是我让她误解了吧.以前每次回家一下火车,就会和家里打个电话,而今天刚才是元旦,打电话的时间也差不多是火车到家的时间,所有妈妈误以为我回家了.
其实也挺想回家的,但是想想再过几天就要过年了,忍忍就过去了.只要在过年之前不被派到美国去就好了!
每次回家都是短短几天,回到家里也没有好好的陪下爸妈,总是跑出去和以前的同学朋友聚会去了.记得在那少得可怜的几天里,妈妈总是在我穿好鞋,要出门的时候问我"晚上回来吃饭吗?",而大多时候我的回答是"不了,和同学一起吃.".我知道她很失望,但我也知道她明白,明白我也有我自己的生活圈.
再坚持几天吧,就要过年了,我想过年的时候可以和家人多待几天吧.至少不会有多少机会去搞什么聚会了吧,有谁过年不是和家人在一起呢?













