多台笔记本如何共享上网

1

Category : 资源共享

对于大多数人来说,网费总是不少的开销。特别是拥有多台笔记本的用户,不希望也不愿意为每台机子拉线上网。那么我们可以购买路由器,实现多台机子共享上网。当然这不是本文的主题。

这里要说的是多台笔记本之间无需借助第三方硬件设备如何实现共享上网。也就是说,我们只需要笔记本就可实现共享上网,这连路由器的钱都省了。这看来非常适合我们大学生,如果在带宽足够的情况下,大家共享网络是个非常不错的选择,我想这尤其适合女生们!毕竟这样可以省了不少的网费呢!

请看详细的操作步骤(以WIN7为例):
1.选择一台笔记本当主机A,用主机A接入网络。注意:很多上网助手有两种版本检测多IP与非检测多IP。那大家一定要选择后一种版本的。

2.打开主机A的无线网卡。

3.如图1所示打开【打开网络和共享中心】弹出图2。
共享上网1

4.打开图2中的【设置新的连接或网络】弹出图3。
共享上网2

5.选中图3中的【设置无线临时(计算机到计算机)网络】,单击【下一步】弹出图4。
共享上网3


6.单击图4中的【下一步】弹出图5。

共享上网4


7.在图5中输入对应内容,再单击【下一步】弹出图6.

共享上网5


8.在图6中,提示我们建立的网络已经可以使用,我单击【启用Internet连接共享】弹出图7.

共享上网6


9.单击图7中的【关闭】,到此为止,主机A的设置完毕。

共享上网7


10.其它笔记本只要打开无线搜索到前面建立的网络并输入密钥,即可实现共享上网。

这么简单的事情!大家何乐而不为呢?祝各位共享愉快!

Verilog基础知识(四)

0

Category : FPGA

这是关于Verilog HDL操作符的复习与总结的小短文:

Verilog HDL中的操作符总共有9大类:

1.算术操作符
+,-,*,/,%,**
其中的取模操作符(%)求出的余数的符号与第一个操作符符号相同。

2.关系操作符
>,<,>=,<=

3.相等操作符
==,!=,===,!==
若把x和z值当作数值(而不考虑其物理含义)严格地按字符值进行比较,后两个全等比较的结果不是1就是0,不可能出现未知值。而在前两个逻辑比较中,x和z具有通常的物理含义,其结果可能出现不定值。也就是说,在逻辑比较中若有操作数包含x或z,则结果必定为未知值x。

4.逻辑操作符
&&,||,!

5.按位操作符
~,&,|,^,~^(^~)

6.缩减操作符
&,~&,|,~|,^,~^
缩减操作符与前面的按位操作符有很大的区别,它是对单一操作数上的所有位进行操作,产生一为的操作结果。如&,只要操作数中只要有任一位的值为0,则结果为0,若操作数中只要有任一位为x或z,则结果为x,否则为1.其他的缩减操作符类似。

7.移位操作符
<<,>>,<<<,>>>
前两个为逻辑移位,其移位而腾出的位总是填0。后两个为算术移位,若操作数为无符号数,腾出的位填0,若是有符号数,腾出的位填符号位。

8.条件操作符
?:
在所有操作符中,除了该操作符是从右向左处理外,其余的操作符都是自左向右处理。

9.拼接和复制操作符
{},{{}}
这两个是非常实用的操作符,不过得注意在拼接操作符中不允许只用未指定位宽的常数,因为未定位宽的常数其位数是未知的。

最后给出在操作数中最为重要的一点就是操作符的优先级,如下表所示:
操作符优先级

Verilog基础知识(三)

1

Category : FPGA

接着上回的分解,即在上一文的《Verilog基础知识(二)》里,已经对Verilog的两大类数据类型的线网类型进行了总结,这回主要讲解变量类型。

变量类型(Variable Type)表示一个抽象的数据存储单元,它只能在always语句和initial语句中被赋值。从一次赋值到下一次赋值之前,变量的值保持一个值不变。注意变量类型的缺省值为x,线网类型的缺省值是z。

变量类型有5种不同的类型。它们分别是reg、integer、time、real、realtime。

  1. reg变量类型
    这是最常用到的数据类型。她使用保留关键字reg给予声明变量,语法形式如下:
    reg [signed] [[msb:lsb]] reg1,reg2,…,regN;
    这个语句中的各个内容含义跟线网类型声明中各部分含义几乎一样。若没有signed的声明,reg变量中值被解释为无符号数。下面举几个例子:
    reg [7:0] abus;    //abus为8位的变量
    reg t_count;       //t_count为一位变量
    reg signed [3:0] u_test;      //u_test为有符号4位变量
  2. 整型变量(integer)类型
    该类型的声明语法格式如下:
    integer integer1,integer2,…,integerN [[msb:lsb]];
    注意这里的
    [[msb:lsb]]跟前面的不同,这是数组范围的定义,是可选的,不定义的整型数组的范围是允许的。一个整型数至少有32位。举例如下:
    integer a,b,c;           //3个整型变量
    integer foot_io [1:4];       //由4个整型数组成的数组

    整型变量可存储有符号数。整型数能被当作位向量存取。整型变量被当作有符号的reg变量,其最小位的索引为0。如,对上面的b变量,b[3]和b[20:10]是合法的。又如下面的例子:
    reg [31:0] a_reg;
    integer a_int;
    a_reg=a_int;

  3. 时间(time)变量
    时间变量用于存储和处理时间值。其声明格式如下:
    time time_id1,
    time_id1,…,time_idN [msb:lsb];
    若没有定义数的位宽,则每个标识符存储的时间值至少为64位。时间变量只能存储无符号数。
  4. 实型(real)和实型时间(realtime)变量
    它们的声明格式如下:
    real(realtime)real_1(realtime_1),
    real_2(realtime_2),…,real_N(realtime_N);
    实型变量不允许对位宽做任何指定。若将x和z赋予实型变量,这些值将被当作0来处理。

本次总结到此为止。