搜档网
当前位置:搜档网 › 如何搭建SoC项目的基本Testbench(eetop)

如何搭建SoC项目的基本Testbench(eetop)

如何搭建SoC项目的基本Testbench(eetop)
如何搭建SoC项目的基本Testbench(eetop)

先啰嗦几句。其实老早就想写这个帖子,自己犯懒一直木有写。前阵子写了一个初版,然

后发给了几个做验证的朋友看了看,普遍反映没看明白. 说是我写的东西和我搭的

环境结合的太过紧密了,不结合代码,理解的不透彻。可惜代码是公司的,我不能把代码发出来。我后来写了一个带很多代码截屏的版本,但是很抱歉没法发到论坛上来。

我个人觉得下面的文字已经能表达我的想法和思想了,希望能对帖的有一点帮助吧。

---------------------------------------------

写这个文档的目的是让大家对搭建SoC项目的Testbench有一个比较清晰的认识,可以根据这个文档来一步一步的搭建起一个SoC项目的基本的testbench。本文档重点是指导大家搭建基本环境,以及能解决搭建Testbench过程中容易遗漏的问题或者容易遇到的“地雷”。我搭的SoC项目的testbench会有一些相对特殊的点:

1)

要有嵌入式的软件。这里包括两部分,一是初始化的bootloader(一般是固化在rom或者存放在外部的flash里),一是boot起来以后放在外部易失性存储介质上的应用层的程序。2)

正常启动起来(一级boot可以切到应用程序了)以后,为了简化流程,我们要使用ISS的环境。 --- 这是比较特殊的一个点

3)

环境主要脚本的维护和修改。主要是单个仿真和批量仿真(regression)核心脚本

4)

为了优化仿真和编译速度,我们要能把不用的模块dummy掉。

5)

文件列表的处理

6)

SoC软件与Testbench都能访问的“共享空间”的处理

7)

公用函数的准备,比如根据CPU看到的地址空间直接访问外部DRAM的数组,进行初始化写、数据写和数据读操作。

8)

环境变量的维护。

9)

Define文件的维护

10)DDRC的替换(一个是AXI_SLV_VIP的替换,一个是简单AXI_SLV模型的替换)

磨刀不误砍柴工,把需要的东西提前准备好,搭建Testbench就像搭积木一样简单快速了。环境变量维护

使用module工具来维护整个项目的环境变量。目的是为了让项目上的工程师都使用统一的环境(主要是工具版本和环境变量)。

核心脚本的维护

两个脚本:run_sim 和regress。 run_sim负责提交单个仿真任务,regress负责提交批量仿真任务。两个脚本已经使用了很多项目了,脚本的具体说明我以后专门开专题讲。在这里只提醒一下,run_sim脚本通常需要根据不同的项目做微小的改变。

run_sim和regress都是比较大的perl脚本程序,大致描述一下功能。

run_sim脚本功能

1)为每个仿真产生仿真目录。仿真的目录里应该包括文件列表(硬件和软件)、编译和仿真命令(注意包括嵌入式软件的MakeFile)、提前建立需要的子目录、和单个仿真对应的文件链接(比如维护的C的测试主函数、扩展的随机类的SV文件、一级bootloader文件的链接)、define文件、本仿真的重构命令(这是一个容易忽略的,一旦你跑regression的时候某个仿真失败,你又不想在出错的目录下重新仿真,用这个重构命令文件就可以直接提交)。2)各种option的维护。比如不同仿真需要不同的define、编译和运行option、dump波形的scope以及层次

regress脚本功能

regress脚本比较简单,要吃一个由很多run_sim仿真命令组成的命令集文件。用regress 脚本把这些仿真命令提交到工作站上去。需要注意的是:有时候可能会有一些公共的option 或者define,比如打开coverage收集、某个define要应用到整个regression里。所以regress脚本要能支持对所有run_sim命令添加option的功能。

产生dummy文件

使用gen_dummy_file脚本来产生dummy文件。设计工程师可能也要维护一个module_dummy.v的文件用于做integeration,验证工程师产生的dummy文件记得名字不要和设计自己维护的文件重复了。

为什么不使用设计维护的文件?因为一个是设计维护的文件在integration以后很可能就不再维护了;另一个是设计维护的文件可能output全是assign成0的,但是对于模块输出的pready\CEN等信号最好assign成1,否则可能导致问题(例如:sram使能信号CEN赋成0,可能导致后面的sram模型认为有读写行为;pready信号赋成0,可能导致SoC软件跑起来的时候对该模块寄存器操作的时候挂死apb总线)。

这个脚本并不好写。因为verilog语法支持的模块声明实在是太多了,导致脚本很容易顾此失彼。举例来说几个复杂的地方:

module声明后面可以跟parameter的就很复杂

Module test #(parameter a = 1,

Parameter b = 2,

C = 3,

D = 4 );

这些parameter很可能要用在端口位宽的声明里。更为麻烦的是parameter里可能会有function的使用。而function有可能是以define的形式写到代码中。这样就很难用parse RTL的方法来解决。

再比如:端口声明里出现ifdef else endif这种编译宏的处理也比较麻烦。

也可以使用simulator或者debug工具提供的用户接口来编写tcl程序来获取各个端口的name、width信息。但是不同仿真(define不同)可能导致端口宽度和端口不一致,结果要针对不同define来维护不同的dummy也比较麻烦。

总之,产生dummy文件以后一定要记得检查一下。Dummy文件可以有效缩短编译的时间。

文件列表处理的维护

上述几个事情是应该提前准备好的,接下来我们要开始编译RTL了。Integration好的文件列表,首先要先编译该文件列表。有可能遇到的问题是加密文件的种类,有可能文件列表里的加密文件和你用的仿真器不一致。然后结合前面产生好的dummy文件,我们要处理出一个

简化设计的mini-文件列表,一般里面只包括初始化必须的模块(Clkrst、PAD、CPU、总线拓扑、内存控制器),也就是把video系统、外围接口、存储系统这些模块统统dummy掉。产生mini-文件列表

可以用脚本来维护一个配置文件,在该配置文件中指明如何删改原有文件列表。

注意最终使用的文件列表里的文件路径应该是绝对路径。

使用绝对路径的好处在于可以让run_sim脚本指定仿真在任何目录下进行(比如regression 要提交到别的硬盘上去跑,那么就必须使用绝对路径了)。

注意绝对路径里不要用$macro的结构,别人有可能用你的文件列表跑仿真或者debug,而别人的$macro很可能与你的不同,导致出问题。

文件列表的产生有一个地方需要注意:

通常来说一个文件(比如a.v)在一个文件列表里只允许出现一次。否则可能会有重复module 的编译错误。但是有时候集成比较特殊(比如FPGA版本),为了改动的时候少调整code,会使用ifdef-elsif-else-endif这种结构来对同一个文件的module定义不同的module-name。比如文件a.v的内容如下:

`ifdef FPGA1

module v_fpga1 (

`elsif FPGA2

module v_fpga2 (

`elsif FPGA3

module v_fpga3 (

`else

module v (

`endif

那么在文件列表里就会是下面这种结构:

fpga1_def.v

a.v

fpga1_undef.v

fpga2_def.v

a.v

fpga2_undef.v

……

请注意文件列表处理脚本,有可能会有“去重”的处理。这个时候要去掉文件列表处理脚本的“去重”功能。

编译过mini-文件列表以后就可以开始真正的准备写testbench顶层模块了。

Define文件的维护

我们在搭建testbench过程中的interface、env、svtb等可能需要xmr(cross module reference)访问信号,这时候维护一个公共的define文件很重要。该define文件中应该包括

1)

各个主要模块的xmr路径define ,记得按照ASIC/ FPGA/模块级来分别区分define

2)

地址空间上模型数组的路径。比如dram模型里数组的xmr路径、sram里memory数组的xmr 路径

3)

共享空间的部分地址的define,比如我们的软件打印的实现所用到的共享空间的define 4)

Dram基本define

共享空间

SoC项目Testbench中的“共享空间”,是指的软件(嵌入式C程序)和Testbench(SV程序)都可以看到的空间。一般来说Testbench可以看到所有的内容,而软件只能看到CPU 地址空间(寄存器、SRAM、ROM、Dram、外部IO空间等)。共享空间需要的地址范围不算小(可能需要几十KB,所以一般是放在CPU可见的SRAM和Dram里),对于ISS会有所不同(后面会说明)。

公共函数的维护

项目上大家都可能使用到的函数即为“公共函数”。我个人认为最重要的是对CPU地址空间的访问(我们是xmr_read_mem和xmr_write_mem)。以及基于这几个函数(task)实现的文件存取等函数。

在实现xmr_read_mem和xmr_write_mem task(或function)的时候,主要模型数组的宽度会导致根据模型数组下标访问的地址的不同。比如,加入位宽是128bit,那么一个memory就对应着4个32bit的word。----- 各个项目会有所不同。

另外,对于Dram的处理是最复杂的,尤其是Dram是支持bank地址和Row地址 remap的,所以要特别注意remap时候的地址和bank信号、row地址信号的对应关系。-----这个工作是可以继承前面项目的。

Xmr函数需要考虑“用SRAMC或者AXI_SLV_VIP替换DDRC”情况下的实现。

简单说一下vip_slave_write32函数的实现。这个函数调的底层函数是:

env.axi_slave_subenv.do_write32(addr, data);

但是该函数在tb其他组件可能看不到,但是program可以看到。所以在program里做一个函数来调底层的env.axi_slave_subenv.do_write32

然后把program的这个do_write32用DPI export出去。

在tb上维护一个xmr.c的c程序,里面实现vip_slave_write32。在xmr_wr_mem32里调用的就是这个vip_slave_write32.

使用xmr_wr_mem32 和 xmr_rd_mem32可以比较容易的实现:

1)

装入初始化程序 --- 一级bootloader要装入到rom中,应用程序要装入到dram中。使用xmr_wr_mem32可以直接以访问cpu地址的形式来写入程序。

2)

把激励数据灌入dram中,让被测模块从dram中取激励数据。或者从内存中读取成片的数据用来做比对(比如解码解完了一帧,从内存中一次性把整帧的yuv解压缩完的数据读出来)。这里可以使用上面装程序类似的方法来实现。也可以利用xmr_rd_mem32和xmr_wr_mem32来实现一个通用的task。

把指定文件写入到内存中作为激励数据:

这里有一个小技巧,就是用fscanf来读取文件中的一行数据,然后判断字符串的长度,从而得到输入文件一行几个byte,然后根据一行几个byte来装入到dram中。

Testbench顶层文件

我们基于mini-文件列表来做Testbench顶层文件,是为了加速编译速度。

Testbench顶层最主要的是例化DUT的顶层。Emacs用户做集成很容易;我是VI用户,稍微麻烦一些,使用vi的替换功能也可以比较快的集成起来:

1)

把顶层模块的input output inout端口声明部分copy出来,把input-outpput-inout替换成“wire”,来实现信号的声明。个别信号,系统输入信号、系统reset信号需要改成reg,并产生reg信号的激励。时钟的产生建议使用一个module来产生,目的是为了让代码简洁清晰一些。

2)

Copy一份wire声明的部分,然后处理成DUT的集成。

s/\s*\[\d\+:\d\+\]// 去掉位宽声明

wire [1:0] A; à wire A;

s/wire\s\+// 去掉wire声明

wire A; à A;

s/\(\w\+\)/.\1(\1)/ 产生集成

A; à .A(A);

3)

处理一下模块名声明例化和分号。

.A(A); à .A(A),

给顶层信号加pullup pulldown,一般来说顶层信号都要加pulldown,个别信号需要加pullup.总之是不希望让TB引入X状态。如果不知道哪些加pulldown pullup,至少要对测试模式输入pin(TEST)、CPU Jtag口、初始化要读取的PAD状态或者标识PIN加入合适的pullup或者pulldown。

例化interface和program。

Program通常就是简单例化SV的组件(比如VMM下的env),以及include每个testcase 所不同的处理部分

在每个test.sv里通常是实现随机变量的扩展类。

要注意Program如果结束的话,那么仿真也会结束,所以注意控制program的结束时间。例化基本仿真模型。最主要的是Dram模型了。请注意,Dram模型的例化最好用define处理好,因为Dram有可能要做4bit 8bit 16bit等几种情况,不同大小、不同位宽的dram 的地址信号宽度不同,外挂的片数也不同,这里集成的时候需要特别注意。

Dump波形的实现机制:

Dump波形的原则是“是否dump、修改dump的起始时间、修改dump的层次都不需要重新编译”。前两个要借助仿真的运行参数来控制,后一个使用verdi的pli。

通常Testbench顶层文件都比较复杂,建议多使用Include文件的方式维护,这样代码可读性较强。而且顶层文件里通常有比较多的ifdef-elsif-else-endif的编译结构,代码太复杂的话,可能有一些笔误造成的编译错误。

Include前面准备好的公共函数文件和公共define文件。

程序初始化load代码。SoC项目需要嵌入式软件代码,包括一级boot和Dram里的应用程序。这两段程序代码都需要load到对应的存储介质中去。这个load工作可以使用基于xmr_write_mem函数构造的写文件函数比较简单的实现。------具体实现前面已经贴过了。至此,testbench顶层基本完成。

初步debug设计和环境

顶层testbench写好以后,编译通过后,dump整体波形,可以看一下各个模块端口上是否

有高阻Z,有的话说明可能有漏接的内部信号,尤其是主总线上的各个master口和slave 口的连接。

检查CPU PAD ROM控制器 SRAM控制器等初始化需要的基本模块是否有时钟和reset。如果没有的话,说明根据外部输入系统时钟和系统reset产生的基本模块的时钟和reset有问题。一级Bootloader

一级bootloader是为了做初始化的,系统实际使用的bootloader是比较复杂的,牵扯到外部存储介质上的参数搬运和配置。仿真用的一级bootloader要尽量的简单,因为一级bootloader所有的仿真都要用,这一步要是慢了会浪费时间。------- 当然,使用ISS的话,就不存在这个问题了,但是一样也要求初始化要尽量的快速。

我个人建议仿真bootloader里就只设计如下几个步骤:

1)

系统上电初始配置

2)

初始化pll至目标频率(如果系统pll默认频率就是目标频率,那么这一步就省略)

3)

配置核心模块时钟频率以及切时钟,对必要模块进行软件reset

4)

内存控制器初始化

5)

Remap到内存中准备执行内存中的应用程序。 ------ 一般汇编实现

最基本的函数是对CPU空间的访问处理函数

#define SETREG32(reg,val)

(*((volatile unsigned int *) (reg)) = ((unsigned int) (val)))

#define GETREG32(reg)

(*((volatile unsigned int *) (reg)))

reg是寄存器地址,val是要配置的数值。 Volatile保证直接操作到内存。

应用程序代码

应用程序代码里也要做一些初始化,主要是非核心模块的时钟配置以及非核心模块的软件复位操作。

如果使用ISS的话,由于没有一级bootloader,所以要把一级bootloader的代码功能在应用程序初始化中实现。

需要注意的是,使用ISS的时候,使能cache可能导致ISS行为异常。可以在cache使能的位置使用ifdef ISS。汇编代码中是:

IF

( EF: ARM_ISS)

NOP

NOP

ELSE

Cache-operation

ENDIF

汇编代码中include define文件是:

GET define.s (注意不能顶头写!)

然后构造一个极简单的应用程序。一般就是访问一下ddr、sram、寄存器和打印。

endsim()是结束仿真函数,如果希望让软件控制什么时候结束仿真,那么就可以在软件中的合适位置调用该函数。函数的实现是利用共享空间,软件写入到共享空间指定位置一个标志,然后svtb中while(1)的去采样该标记就可以了。

实现嵌入式代码在仿真平台上的打印

软件代码里相对复杂一些的是“printf”的实现。重点是使用软件和testbench都能看得到的地方来存放要打印的内容。然后testbench里while(1)的根据“打印使能”、“打印开始”、“打印结束”标志来把内容$write出来。

软件和Testbench都可以看到Sram空间(一级bootloader用来做数据存放和堆栈的sram)。注意bootloader的scatter文件里不要让stack-top覆盖了这部分空间。

Printf与实际C的printf的实现机制是一样的,都是利用“不定个数参数的函数”(实现机理:因为参数是从右向左压栈,所以最开始的那个参数在最接近栈顶的位置,这个参数在栈中的位置编译器可以知道)。

Debug整体环境

至此,整个环境已经基本建立起来了。结合一级bootloader和简单的应用程序代码可以debug系统初始化流程和整体环境。通常这里会有一些集成、以及总线访问的小bug。

ISS替换

为了加速编译和仿真速度,我们使用ISS来替换CPU-IP。ISS一些C程序代码。提前把这些代码编译成.so文件,然后编译的时候就不用编译ISS了,链接的时候link进来就可以用了。

使用ISS的优势:

1)

可以dummy掉CPU-IP的代码

2)

不需要一级bootloader

3)

执行软件很快

4)

Testcase依然可以基于嵌入式c程序来写

5)

模块级的testcase也可以用C实现

ISS外面包一个AXI的wrapper,把这个模块例化到testbench顶层。Force到cpu的data 总线的AXI口上(如果是Arm9的话,是AHB总线)。IO访问的task文件要include到testbench 顶层中去。对于寄存器空间的IO访问,需要产生正常的时序;而对于内存空间的访问,可以调用前面介绍的xmr_wr_mem32和xmr_rd_mem32函数来加速。

ISS可能和CPU-IP不是同一个类型的CPU,这里要注意编译软件代码的时候需要加—cpu的区分,甚至可能导致软件代码的编译器都不同。这些不同可以体现在run_sim脚本里。

每个项目的CPU地址可见空间可能不同,需要注意ISS的空间配置文件的内容要根据项目的不同而不同。IO访问的task里的地址访问也会有所不同。

ISS下共享空间与实际CPU_IP不同,像实现打印这种功能,可以不必使用CPU地址空间。这是因为ISS的wrapper是testbench的一部分,可以直接在testbench上实现一个大数组

来作为“共享空间”,这样更简单直观。

DDRC的替换

系统起来以后,我们可能需要替换掉DDRC。一般有两种情况:

1)

使用SLAVE_VIP替换DDRC,目的是为了随机控制slave的latency。实现模块访存的异常情况。------ 一般要结合ISS使用,因为没必要把应用代码初始化到slave-vip中。Slave-vip 的读写可能会比较慢,对于大数据量的写入行为,仿真可以明显感觉到停顿。

把内部端口和slave-vip对应上:建议使用macro,方便阅读和简化代码。

2)

使用一个更为简单的Slave(SRAMC)来替换DDRC。目的是为了快速初始化(不用配寄存器做初始化),加快编译和仿真速度。

SRAMC不是class,而是一个module。把它例化在顶层TB里,与上面的Slave-VIP一样也需要和内部端口对应上。

SLAVE_VIP和SRAMC都是参数化设计,可以方便的修改数据宽度等信息。

Cloudera大数据平台环境搭建(CDH5.13.1)傻瓜式说明书

Cloudera大数据平台环境搭建(CDH5.13.1版)

目录

基础环境 软件环境 本文将介绍Centos7.4离线安装CDH和ClouderaManager过程,软件版本如下: 配置规划 本次安装共5台服务器,服务器配置及用途如下: 所需要的软件资源 1)JDK环境: JDK版本:51 jdk-8u151-linux-x64.rpm 下载地址: 2)CM包: CM版本:5.13.1 下载地址: 3)CDH包 CDH版本:5.13.1, ; .sha1; manifest.json 下载地址: 4)JDBC连接jar包: jar包版本:5.1.43, mysql-connector-java-5.1.43.jar 下载地址: 修改机器名(所有节点) 这种方式,在Centos7中可以永久性改变主机名称。

内容都改为: 设置防火墙(所有节点) 注:为了简便,可以先关闭防所有节点火墙,安装完成后,再按照下面步骤设置。 防火墙常用命令: 便,安装完毕后可以根据需要设置防火墙策略,保证集群安全。 配置免密码登录SSH 将子节点设置为从主节点ssh无密码登陆(主节点访问从节点需要无密码互通,否则后面会出现问题) 一路回车,生成无密码的密钥对。 把公钥拷贝至node169服务器上?: 登录到node169服务器上: 然后在node169服务器上,把公钥的内容追加到authorized_keys文件末尾(这个文件也在隐藏文件夹.ssh下,如果没有可以新建):

在node168节点出现下面表示成功登录node169节点: 以同样的方式将公钥拷贝至其他节点服务器上。 关闭SELINUX(所有节点) 关闭linuxSELINUX安全内核 (在Centos7中遇到SELINUX无法关闭的问题,重新启动机器恢复正常) 修改Linux内核参数(所有节点) 为避免安装过程中出现的异常问题,首先调整Linux内核参数。 1)设置swappiness,控制换出运行时内存的相对权重,Cloudera建议将swappiness设置为 10: 自CentOS6版本开始引入了TransparentHugePages(THP),从CentOS7版本开始,该特性默认就会启用。尽管THP的本意是为提升内存的性能,不过某些数据库厂商还是建议直接关闭THP,否则可能会导致性能出现下降。 表示已禁用:

FPGA学习指南

PS:笔者强烈建议诸位注册一个EETOP的账号,每天签到或者发贴、回贴就有积分了,里面的资源非常丰富,各种软件、资料都能找到。 一、入门首先要掌握HDL(HDL=verilog+VHDL)。 第一句话是:还没学数电的先学数电。然后你可以选择verilog或者VHDL,有C语言基础的,建议选择VHDL。因为verilog太像C了,很容易混淆,最后你会发现,你花了大量时间去区分这两种语言,而不是在学习如何使用它。当然,你思维能转得过来,也可以选verilog,毕竟在国内verilog用得比较多。 接下来,首先找本实例抄代码。抄代码的意义在于熟悉语法规则和编译器(这里的编译器是硅编译器又叫综合器,常用的编译器有:Quartus、ISE、Vivado、Design Compiler、Synopsys的VCS、iverilog、Lattice的Diamond、Microsemi/Actel的Libero、Synplify pro),然后再模仿着写,最后不看书也能写出来。编译完代码,就打开RTL图,看一下综合出来是什么样的电路。 HDL是硬件描述语言,突出硬件这一特点,所以要用数电的思维去思考HDL,而不是用C语言或者其它高级语言,如果不能理解这句话的,可以看《什么是硬件以及什么是软件》。在这一阶段,推荐的教材是《Verilog传奇》、《Verilog HDL高级数字设计》或者是《用于逻辑综合的VHDL》。不看书也能写出个三段式状态机就可以进入下一阶段了。 此外,你手上必须准备Verilog或者VHDL的官方文档,《verilog_IEEE官方标准手册-2005_IEEE_P1364》、《IEEE Standard VHDL Language_2008》,以便遇到一些语法问题的时候能查一下。 二、独立完成中小规模的数字电路设计。 现在,你可以设计一些数字电路了,像交通灯、电子琴、DDS等等,推荐的教材是《Verilog HDL应用程序设计实例精讲》。在这一阶段,你要做到的是:给你一个指标要求或者时序图,你能用HDL设计电路去实现它。这里你需要一块开发板,可以选Altera的cyclone IV系列,或者Xilinx的Spantan 6。还没掌握HDL之前千万不要买开发板,因为你买回来也没用。这里你没必要每次编译通过就下载代码,咱们用modelsim仿真(此外还有QuestaSim、NC verilog、Diamond的Active-HDL、VCS、Debussy/Verdi等仿真工具),如果仿真都不能通过那就不用下载了,肯定不行的。在这里先掌握简单的testbench就可以了。推荐的教材是《WRITING TESTBENCHES Functional Verification of HDL Models》。 三、掌握设计方法和设计原则。 你可能发现你综合出来的电路尽管没错,但有很多警告。这个时候,你得学会同步设计原则、优化电路,是速度优先还是面积优先,时钟树应该怎样设计,怎样同步两个异频时钟 《Altera FPGA/CPLD 等等。推荐的教材是《FPGA权威指南》、《IP核芯志-数字逻辑设计思想》、 设计》第二版的基础篇和高级篇两本。学会加快编译速度(增量式编译、LogicLock),静态时序分析(timequest),嵌入式逻辑分析仪(signaltap)就算是通关了。如果有不懂的地方可以暂时跳过,因为这部分还需要足量的实践,才能有较深刻的理解。 四、学会提高开发效率。 因为Quartus和ISE的编辑器功能太弱,影响了开发效率。所以建议使用Sublime text 编辑器中代码片段的功能,以减少重复性劳动。Modelsim也是常用的仿真工具,学会TCL/TK 以编写适合自己的DO文件,使得仿真变得自动化,推荐的教材是《TCL/TK入门经典》。你可能会手动备份代码,但是专业人士都是用版本控制器的,所以,为了提高工作效率,必须掌握GIT。文件比较器Beyond Compare也是个比较常用的工具。此外,你也可以使用System Verilog来替代testbench,这样效率会更高一些。如果你是做IC验证的,就必须掌

无线论坛档

中国无线论坛中卫出品 MAC绑定IP,DHCP 关闭,MAC过滤,SSID隐藏 解决方案初探 中国无线论坛中卫出品 声明:任何不经别人同意而进入别人网络都是非法和不道 德的行为。 本教程用于学习和交流,如由此产生一切违法行为与本教程 无关。 题记: 本人是中国无线论坛https://www.sodocs.net/doc/209796155.html,/的ID ―中卫‖。本教程是根据网上现有的资料还有我的理解加上 实际操作实践编辑整理而成。 由于本人也是初学者,缺乏专业的理论知识,因此文中 不免存在理解的偏差甚至错误,希望各位朋友指正。 如果对教程有任何意见和建议,欢迎各位https://www.sodocs.net/doc/209796155.html, 论坛提问和交流。 谢谢!! 中国无线论坛中卫出品 本文的书写是基于一个测试环境。由于测试环境限制,并不能真正的体现实 际情况的复杂程度。为了更接近实际情况,我手动设置尽量复杂。希望更多的朋友用此方法进行测试和应用,最后得出真正的解决方法。 很多朋友都遇到这样的问题,自己很辛苦的破解了对方的WEP 甚至WPA 密码,但是对方的AP设置了SSIDSSID隐藏,MAC过滤,关闭了DHCP,甚至MAC绑定IP。让你蹭网的梦想变成打击。 今天我将和大家一起学习和交流有关这几个问题的解决方案。 前提条件,你已经破解了对方的WEP 或WPA密码,网络上必须有合法客户端,并且客户端在进行通信。 我破解的AP的MAC是00:14:6c:3e:f0:ac 客户端MAC是00:16:b6:9d:10:ad 一.MAC地址绑定: 首先MAC地址绑定,如果对方是无客户端的,那你根本破解不了。因为无 客户端的破解一定要注入攻击,要注入攻击就必须建立虚拟连接。你如果不知道对方的合法客户端的MAC地址,你是不能建立虚拟连接的,不能建立虚拟连接就不能注入。所以MAC 地址绑定的WEP 破解是需要有客户端的,在监听的时候能获得合法客户端的MAC,然后把自己的MAC修改为对方的MAC就能实现正常连接。 二.DHCP关闭,MAC绑定IP,子网掩码 DHCP 关闭的AP,你在连接的时候提示受限,不能正常获得有效的IP。网 上已经有朋友出了用科莱网络分析系统软件来抓包的解决方法,这个方法经过我的测试是可以的。我把方法和各位分享。 首先你正常连接AP,会出现对话框让你输入密码,你输入正确的密码,最 后出现受限,这时候你手动随便设定一个IP 地址,我手动设定一个比较复杂的IP地址。27.122.1.100,子网掩码设为255.0.0.0,网关和DNS空着,如下图所示再连接你已破解的WEP。这时候下面的无线网络连接会显示正常连接。 中国无线论坛中卫出品

如何搭建SoC项目的基本Testbench(eetop)

先啰嗦几句。其实老早就想写这个帖子,自己犯懒一直木有写。前阵子写了一个初版,然 后发给了几个做验证的朋友看了看,普遍反映没看明白. 说是我写的东西和我搭的 环境结合的太过紧密了,不结合代码,理解的不透彻。可惜代码是公司的,我不能把代码发出来。我后来写了一个带很多代码截屏的版本,但是很抱歉没法发到论坛上来。 我个人觉得下面的文字已经能表达我的想法和思想了,希望能对帖的有一点帮助吧。 --------------------------------------------- 写这个文档的目的是让大家对搭建SoC项目的Testbench有一个比较清晰的认识,可以根据这个文档来一步一步的搭建起一个SoC项目的基本的testbench。本文档重点是指导大家搭建基本环境,以及能解决搭建Testbench过程中容易遗漏的问题或者容易遇到的“地雷”。我搭的SoC项目的testbench会有一些相对特殊的点: 1) 要有嵌入式的软件。这里包括两部分,一是初始化的bootloader(一般是固化在rom或者存放在外部的flash里),一是boot起来以后放在外部易失性存储介质上的应用层的程序。2) 正常启动起来(一级boot可以切到应用程序了)以后,为了简化流程,我们要使用ISS的环境。 --- 这是比较特殊的一个点 3) 环境主要脚本的维护和修改。主要是单个仿真和批量仿真(regression)核心脚本 4) 为了优化仿真和编译速度,我们要能把不用的模块dummy掉。 5) 文件列表的处理 6) SoC软件与Testbench都能访问的“共享空间”的处理 7) 公用函数的准备,比如根据CPU看到的地址空间直接访问外部DRAM的数组,进行初始化写、数据写和数据读操作。 8) 环境变量的维护。 9) Define文件的维护 10)DDRC的替换(一个是AXI_SLV_VIP的替换,一个是简单AXI_SLV模型的替换) 磨刀不误砍柴工,把需要的东西提前准备好,搭建Testbench就像搭积木一样简单快速了。环境变量维护 使用module工具来维护整个项目的环境变量。目的是为了让项目上的工程师都使用统一的环境(主要是工具版本和环境变量)。 核心脚本的维护 两个脚本:run_sim 和regress。 run_sim负责提交单个仿真任务,regress负责提交批量仿真任务。两个脚本已经使用了很多项目了,脚本的具体说明我以后专门开专题讲。在这里只提醒一下,run_sim脚本通常需要根据不同的项目做微小的改变。 run_sim和regress都是比较大的perl脚本程序,大致描述一下功能。

路由器固件修改教程(个人理解)-无线路由区-中国无线论坛 -

看很多人咨询修改固件问题决定做一个简易教程!使用软件:1.winhex 下载链接:winhex10.rar(493.48 KB, 下载次数: 5) 1.启动界面 启动界面后选择打开你需要的固件文件就可以了 2.固件文件结构简单讲解 编程器固件中包含uboot、fw和art。 uboot就像电脑的bios,是底层的管理系统; fw就像电脑的操作系统,实现路由器的各种功能; art就像电脑的无线驱动程序,是无线校验码;

uboot的长度为128KB(0x20000);art为64KB(0x10000);fw有4M和8M的区别,4M的为3840K (0x3c0000),8M的为7936KB(0x7c0000)。在刷机之前要对要刷入flash的uboot、fw、art的文件长度ultraedit或winhex进行校验。尤其是uboot,如果大小不对,千万不要尝试刷入,那是一定会变砖的。 uboot、fw和art在flash中的位置如下: 4M的FLASH:flash地址从0x000000~0x3FFFFF ttl访问flash的地址从0x9F000000~0x9F3FFFFF flash起始地址 TTL起始地址 flash终止地址 TTL终止地址 uboot 0X000000 0X9F000000 0X01FFFF 0X9F01FFFF fw 0X020000 0X9F020000 0X3DFFFF 0X9F3DFFFF art 0X3F0000 0X9F3F0000 0X3FFFFF 0X9F3FFFFF 8M的FLASH:flash地址从0x000000~0x7FFFFF ttl访问flash的地址从0x9F000000~0x9F3FFFFF flash起始地址 TTL起始地址 flash终止地址 TTL终止地址 uboot 0X000000 0X9F000000 0X01FFFF 0X9F01FFFF fw 0X020000 0X9F020000 0X7DFFFF 0X9F7DFFFF art 0X7F0000 0X9F7F0000 0X7FFFFF 0X9F7FFFFF

彻底掌握Quartus

彻底掌握Quartus 你可以在EETOP的论坛上面搜索到quartus的下载链接,然后在百度能找到破解方法。 不建议用quartus13以前的版本(旧版带的USB blaster驱动可能在WIN8、WIN10上面安装不了),还有quartus13及以后的版本都把IDE和器件包分成两部分,记得下载器件包。此外,quartus13.0sp1是最后一个支持cyclone II的版本。接下来,介绍Quartus 13最基础的日常使用方法。 如何新建工程就不说了,但是要注意,工程目录和工程名不要有中文和空格,还有,要有一个设计文件(如,.v、.vhd、.bsf 文件)的名称要跟工程名一样,不然会有警告。 一、新建工程,New个设计文件,会出现下图所示。上面那么多种文件有什么卵用? 1、AHDL文件,用于编写Altera发明的AHDL语言,此语言已经被淘汰,可以不管它。 2、Block Diagram/Schematic文件,原理图文件,跟AD、PADS、Cadence等电路图设计软件的用法差不多。 3、EDIF文件,网表文件。 4、Qsys system文件,用于设计软核,Qsys前身是NIOS。 5、State Machine文件,状态机文件。 6、System Verilog文件,用于系统级验证。

7、Tcl script文件,TCL脚本文件。 8和9、常用的HDL文件(包括verilog和VHDL) 10是十六进制文件,11是MIF文件,用于ROM或RAM的初始化。 12、Probe文件,用于观察FPGA内部某一信号,一般用Signaltap 13、逻辑分析仪接口文件,暂时不知道有什么用。 14、VWF文件,用于调用quartus自带的仿真工具QSIM 15、AHDL头文件,可以不管它。 16、原理图的Symbol文件,用于编辑原理图Symbol,跟你用电路图设计软件时,画原理图库差不多。 17、JTAG链描述文件,给一个或多个芯片下载代码时用的。 18、Synopsys约束文件,时序约束用的SDC文件。 19、txt文件。 就算quartus支持那么多种文件,但常用的没几个,一般是原理图.bdf文件或者纯文本的.v或.vhd文件,就算后面需要用逻辑分析仪或者时序约束,也是可以用quartus自动给你生成的。 特别要注意一下,不同类型的文件,名字最好不一样。比如,已经有了test.v,就不要用弄test.vwf,不然你双击test的原理图Symbol的时候,会问你要打开test.v还是test.vwf,让你浪费不必要时间。我一般是除了.v或.vhd文件用test之外,

BT3研究学习无线WEP和WPA增加版教程

BT3破解无线WEP/WPA教程

声明:任何不经别人同意而进入别人网络都是非法和不道德的行为。本教程用于学习和交流,如要实验请拿自已的AP开刀!! 题记: 本人是中国无线论坛https://www.sodocs.net/doc/209796155.html,/的ID“中卫”, 无线安全版块是本论坛一个特殊而重要的版块,我们一直非常努力的想把这个板块做好。作为板块现阶段的的一个重点就是无线WEP 和WPA的破解内容。我根据各位坛友的教程和自己的理解整理编辑成这篇《BT3破解无线WEP/WPA教程》。 由于本人也是初学者,缺乏专业的理论知识,因此文中不免存在理解的偏差甚至错误,希望各位朋友指正。 最后希望更多的朋友参与到教程的整理和编辑中,不断把教程修正和完善。 如果对教程有任何意见和建议,欢迎各位到https://www.sodocs.net/doc/209796155.html,论坛提问和交流。 谢谢!! 中卫 08年7月13日

开放式WEP破解 1.装备:IMBX60笔记本(内置Intel3945无线网卡)、BT3的U盘系统(需用syslinux命令来指定启动BT3的盘符) 2.用户名:root密码:toor,进入图形界面:startx。启动BT3后,(启动黑屏:xconf再输入startx) 3.加载3945网卡的驱动。打开一个shell 输入modprobe –r iwl3945卸载原来的网卡驱动 输入modprobe ipwraw 加载可监听的网卡驱动 注:不同的网卡有不同的加载方式 LINUX驱动是通过模块进行加载的,可以用lsmod来查看机器已加载的模块 然后可以通过modinfo ipwraw(模块名)来查看所加载驱动模块的版本信息 最新的ipwraw的版本是ipwraw-ng-2.3.4-04022008.tar.bz2的。

eetop[1].cn_TCAD Sentaurus Tutorial

TCAD Sentaurus Tutorial These modules are intended as an introduction to using the TCAD Sentaurus tool suite. They are designed specifically for new users and provide examples with which to begin using the tools. Module Description Tool Overview An overview of the TCAD Sentaurus tool suite is presented. Module Time: 30 minutes Sentaurus Workbench Sentaurus Workbench is the primary graphical front end that integrates TCAD Sentaurus simulation tools into one environment. It is used to design, organize, and run simulations. Module Time: 2 hours Ligament Ligament is a generic interface for TCAD process simulation. The Ligament environment is designed to set up and perform TCAD simulations at a high level of abstraction. Module Time: 1 hour and 40 minutes Sentaurus Process Sentaurus Process is a complete and highly flexible multidimensional process modeling environment. It constitutes a solid base for process simulation. Module Time: 5 hours and 50 minutes Sentaurus Structure Editor Sentaurus Structure Editor is a 2D and 3D device editor, and 3D process emulator. It is based on CAD technology, features a powerful graphical user interface, and is fully scriptable. Module Time: 4 hours and 10 minutes Sentaurus Mesh Sentaurus Mesh is a modular Delaunay mesh generator of high-quality spatial discretization grids for complex 2D and 3D devices. It integrates two mesh engines: the axis-aligned mesh generator and the tensor-product mesh generator. Module Time: 3 hours 30 minutes Noffset3D Noffset3D is a mesh generator that creates triangles and rectangles in 2D, and tetrahedra in 3D. It is designed for simulators such as Sentaurus Device and Sentaurus Process that use the box method as a discretization method. Module Time: 1 hour and 30 minutes Sentaurus Device Sentaurus Device simulates the electrical, thermal, and optical characteristics of semiconductor devices. It is the leading device simulator and handles 1D, 2D, and 3D geometries, mixed-mode circuit simulation with compact models, and numeric devices. Module Time: 4 hours and 30 minutes Tecplot SV Tecplot SV is a plotting tool with extensive 2D and 3D capabilities for visualizing data from simulations and experiments.

MAC绑定IP,DHCP关闭,MAC过滤解决方案初探

MAC绑定IP,DHCP关闭,MAC过滤,SSID隐藏 解决方案初探

声明:任何不经别人同意而进入别人网络都是非法和不道德的行为。 本教程用于学习和交流,如由此产生一切违法行为与本教程无关。 题记: 本人是中国无线论坛https://www.sodocs.net/doc/209796155.html,/的ID “中卫”。本教程是根据网上现有的资料还有我的理解加上实际操作实践编辑整理而成。 由于本人也是初学者,缺乏专业的理论知识,因此文中不免存在理解的偏差甚至错误,希望各位朋友指正。 如果对教程有任何意见和建议,欢迎各位https://www.sodocs.net/doc/209796155.html, 论坛提问和交流。 谢谢!!

本文的书写是基于一个测试环境。由于测试环境限制,并不能真正的体现实际情况的复杂程度。为了更接近实际情况,我手动设置尽量复杂。希望更多的朋友用此方法进行测试和应用,最后得出真正的解决方法。 很多朋友都遇到这样的问题,自己很辛苦的破解了对方的WEP甚至WPA 密码,但是对方的AP设置了SSIDSSID隐藏,MAC过滤,关闭了DHCP,甚至MAC绑定IP。让你蹭网的梦想变成打击。 今天我将和大家一起学习和交流有关这几个问题的解决方案。 前提条件,你已经破解了对方的WEP或WPA密码,网络上必须有合法客户端,并且客户端在进行通信。 我破解的AP的MAC是00:14:6c:3e:f0:ac 客户端MAC是00:16:b6:9d:10:ad 一.MAC地址绑定: 首先MAC地址绑定,如果对方是无客户端的,那你根本破解不了。因为无客户端的破解一定要注入攻击,要注入攻击就必须建立虚拟连接。你如果不知道对方的合法客户端的MAC地址,你是不能建立虚拟连接的,不能建立虚拟连接就不能注入。所以MAC地址绑定的WEP破解是需要有客户端的,在监听的时候能获得合法客户端的MAC,然后把自己的MAC修改为对方的MAC就能实现正常连接。 二.DHCP关闭,MAC绑定IP,子网掩码 DHCP关闭的AP,你在连接的时候提示受限,不能正常获得有效的IP。网上已经有朋友出了用科莱网络分析系统软件来抓包的解决方法,这个方法经过我的测试是可以的。我把方法和各位分享。 首先你正常连接AP,会出现对话框让你输入密码,你输入正确的密码,最后出现受限,这时候你手动随便设定一个IP地址,我手动设定一个比较复杂的IP地址。27.122.1.100,子网掩码设为255.0.0.0,网关和DNS空着,如下图所示 再连接你已破解的WEP。这时候下面的无线网络连接会显示正常连接。

Cloudera大数据平台环境搭建傻瓜式说明书

Cloudera大数据平台环境搭建 (版)

目 录 Cloudera 大数据平台环境搭建错误! 未定义书签。 版)错误! 未定义书 签。 1. 基础环 境. 错误! 未定义书签。 软件环境错误!未定义书签。 2. 3. 配置规划...... 所需要的软件资源 错误!未定义书签。 错误!未定义书签。 修改机器名(所有节点) 设置防火墙(所有节点) 配置免密码登录 SSH.. 关闭SELINUX(所有节点)…… 修改 Linux 内核参数(所有节 点) 其他安装与配置(所有节点) . 配置NTP服务................. 安装 oracle (所有节点) Mysql 安装(主节点) 安装CM 传包,解包 创建数据库 创建用户 制作本地YUM源 拷贝 修改 启动 访问 安装CDH 错误!未定义书签。 错误!未定义书签。 错误!未定义书签。 错误!未定义书签。 错误!未定义书签。 错误!未定义书签。 错误!未定义书签。 错误!未定义书签。 错误!未定义书签。 错误! 未定义书 签。 错误!未定义书签。 错误!未定义书签。 错误!未定义书签。 错误!未定义书签。 jar 包................. cloudera-scm-agent 配置 CM Server 和 Agent ..... 错误!未定义书签。 错误!未定义书签。 错误!未定义书签。 CM. 错误!未定义书签。 错误! 未定义书 签。 登录后界面错误!未定义书签。 选择CM版本错误!未定义书签。 指定主机错误!未定义书签。 选择CDH版本错误!未定义书签。 出现“主机运行状态不良”错误 检查主机正确性................... 错误!未定义书签。 错误!未定义书签。 选择安装的服务错误!未定义书签。 角色分配 . 数据库设置 错误!未定义书签。 错误!未定义书签。 测试连接报错:错误!未定义书签。 群集设置错误!未定义书签。

Silvaco_TCAD_2012_安装说明

Silvaco TCAD 2012版本安装说明 1、运行安装文件:12110-tcad-2012-00-win.exe,在“Install License Server”前打上勾。点击 Next. 2、安装完毕后,会提示输入服务器密码,此时随便设置一个密码并记住就可以了。此时可能会在浏览器中打开一个网页,不用管它,后面会用到。 3、先停止Standard Floating License Manager (SFLMSERVERD)这个服务。如果不停止,后面的拷贝覆盖操作将无法完成。停止服务的办法:运行桌面上快键方式“S. EDA Tools”,选择“Stop Server”来完成服务停止的操作,同样,开启服务则选择“Start Server”;如果杀毒软件或者360提示操作,一律选择“允许”。 4、把https://www.sodocs.net/doc/209796155.html,_key 文件夹中的rpc.sflmserverd.exe文件复制,然后找到您的安装目录,将该文件拷贝到下面的路径: sedatools\lib\rpc.sflmserverd\8.2.7.R\x86-nt 替换原来的文件。 5、在快捷方式中运行“Start Server”,确保下面的系统服务启动:

Standard Floating License Manager (SFLMSERVERD) 6、服务器的网页在安装结束后会打开,或者运行快捷方式中的“SFLM Admin”打开服务器页面: 输入刚才设置的密码,点击login.并复制记下方框中的“Machine IDs”, 每个电脑的Machine ID都不一样,比如在这个例子中是: “Shane-PC-dcd135d6-50b4108d”。 7、修改https://www.sodocs.net/doc/209796155.html,_key 文件夹中Silvaco.lic中下面的一行(可用记事本打开), 替换为您刚才复制的Machine IDs: LM_HOSTIDS xxxxxxxxxNL_HOSTIDS (如图所示)。 只将“xxxxxxxx”替换为您的Machine IDs即可(后面不用加空格),然后复制粘贴在目录sedatools\etc下。

单片机网址大全

图标/网站名称网址简单介绍 21IC中国电子网https://www.sodocs.net/doc/209796155.html,电子工程师的网站 (嵌入式系统,单片机,DSP,EDA,测试测量,元器件,通信,电源,微电子,半导体)。 430开发网https://www.sodocs.net/doc/209796155.html, 430开发网。 51单片机世界https://www.sodocs.net/doc/209796155.html, 51单片机世界。 单片机世界https://www.sodocs.net/doc/209796155.html,单片机世界欢迎你!学单片机这里是入口。 世纪开发网https://www.sodocs.net/doc/209796155.html,世纪开发网。 单片机爱好者https://www.sodocs.net/doc/209796155.html,单片机爱好者。 超前科技https://www.sodocs.net/doc/209796155.html,超前科技CQKJ单片机仿真器产品专栏 C51仿真器,keil C51仿真机。 平凡单片机工作室https://www.sodocs.net/doc/209796155.html,单片机教学与学习网站。 单片机工作室https://www.sodocs.net/doc/209796155.html,单片机工作室。 51开发网https://www.sodocs.net/doc/209796155.html, 51开发网。 51新手交易网https://www.sodocs.net/doc/209796155.html, 51新手交易网。 孙冠单片机https://www.sodocs.net/doc/209796155.html,孙冠单片机。 嵌入开发网https://www.sodocs.net/doc/209796155.html,嵌入开发网。 老古开发网https://www.sodocs.net/doc/209796155.html,单片机与嵌入式系统专业网站。 晓奇工作室https://www.sodocs.net/doc/209796155.html,老古开发网。 单片机学习网https://www.sodocs.net/doc/209796155.html,晓奇工作室。 利舒技术实验室https://www.sodocs.net/doc/209796155.html,利舒技术实验室。 Xmcu 单片机工作室https://www.sodocs.net/doc/209796155.html,单片机网单片机知识、实验板、编程仿真工。 PIC学习网https://www.sodocs.net/doc/209796155.html,单片机,编程器,仿真器,单片机学习,PIC单片机原理,PIC单片机简介,PIC单片机字习,PIC单片机资料。 小龙微控https://www.sodocs.net/doc/209796155.html,小龙微控--个人网站。 51测试网https://www.sodocs.net/doc/209796155.html, 51测试网。 致祥电子https://www.sodocs.net/doc/209796155.html,致祥电子。 电子制作实验室https://www.sodocs.net/doc/209796155.html,电子制作实验室。 亦峰电子https://www.sodocs.net/doc/209796155.html,亦峰电子。 DevARM 开发网https://www.sodocs.net/doc/209796155.html, DevARM 开发网。 超业电子https://www.sodocs.net/doc/209796155.html,超业电子。 龙人电子https://www.sodocs.net/doc/209796155.html,龙人电子。 中国电子技术信息网https://www.sodocs.net/doc/209796155.html,单片机,嵌入式系统,IC,EDA,元器件,电路,电源,通信,测量,编程,仿真,SMS,GPRS,ISP,电子论坛,软件下载,信息发布。 电子工程师网站https://www.sodocs.net/doc/209796155.html,单片机,FPGA,嵌入式系统,电路板设计。 单片机C语言C51BBS论坛https://www.sodocs.net/doc/209796155.html,单片机C语言C51BBS论坛。中国IC网https://www.sodocs.net/doc/209796155.html, IC信息发布 比高科技https://www.sodocs.net/doc/209796155.html,比高科技。 北京仪器商城https://www.sodocs.net/doc/209796155.html,生产销售仪器,仪器仪表,国内大型仪器企业,仪器仪表商城 www_17web_com 亿涛电子设计工作室https://www.sodocs.net/doc/209796155.html,亿涛电子设计工作室。

Cadence使用

Cadence使用 从现在开始,手把手教使用cadence。这里以实现D触发器(上升沿触发)为例程。 这里用的库是TSMC_0.18UM_PDK,0.18的库。从eetop下载的库。此库只可用于学习用。首先,下载TSMC_0.18UM_PDK到linux下并解压。在用户目录下新建文件夹,这里我用的是lujun命名,然后将TSMC_0.18UM_PDK复制到lujun文件夹目录下。 目录文件如下所示: 目录里面的cds.lib是定义的library的文件。 打开cds.lib,在里面输入以下内容,以定义基本的库。 其中ic5141的目录根据自己安装的目录进行更改。 打开终端,进入到TSMC目录下,然后输入icfb&,打开cadence。

点Tools,选择library manager,进入到库管理界面。 然后就可以看到库了,这些库是在cds.lib里面定义的。

新建library。 输入库的名字,然后OK。在选择第二个attach,关联库。 工艺库选择tsmc18rf。就是我们要用的0.18的库。这样就完成建立库了。

接下来,要建立库中的元件了。D触发器,需要传输门和非门,这里我多用了与非门。 首先先建立非门: 选中刚刚建立的库,然后file->new->cell view。然后输入以下右边内容,就建议一个非门元件了。 然后弹出画原理图的界面了。 接着就调用0.18库中的器件了,使用快捷键i,弹出界面, 选择browse,然后选择tsmc18rf库,再选择nmos3V_mis,再选择symbol,在回车。

件属性界面,改变宽长比,然后再连线,最终图如图: 接下来,就要放置电源和地,这里电源用的vdd。Vdd和gnd在analogLib库中,用同样的方法将两个调用在原理图中。 接着按快捷键p,添加pin管教,添加in和out管教,注意in的方向选择input,out的方向 选择output。

CAIN使用教程(破解路由器密码)

CAIN使用教程

声明:任何不经别人同意而进入别人网络都是非法和不道德的行为。 本教程用于学习和交流,如由此产生一切违法行为与本教程无关。 题记: 本人是中国无线论坛https://www.sodocs.net/doc/209796155.html,/的ID “中卫”。本教程是根据网上现有的资料还有我的理解加上实际操作实践编辑整理而成。 由于本人也是初学者,缺乏专业的理论知识,因此文中不免存在理解的偏差甚至错误,希望各位朋友指正。 如果对教程有任何意见和建议,欢迎各位https://www.sodocs.net/doc/209796155.html, 论坛提问和交流。 谢谢!!

CAIN使用教程 CAIN是一个WINDOWS平台上的破解各种密码,嗅探各种数据信息,实现各种中间人攻击的软件。 首先下载cain软件 找不到下载地址的可到我们共享区https://www.sodocs.net/doc/209796155.html,/wificrack下载,共享区有4.9英文版和汉化补丁。 CAIN下有两个程序,一个是CAIN主程序,一个是Abel服务程序。Abel服务程序需要手动进行安装。正确安装CAIN后从CAIN目录下拷贝Abel.exe和Abel.dll到C:\Windows\System32目录下,运行Abel.exe安装,并在服务里设置为自动启动。 运行CAIN,主界面如图所示 我们先来看看CAIN的几个大类的使用,大类页面如下图 一.解密器: 解密器的作用主要是读取缓存中保存的各种密码。你可以点击左边的各选项然后点击上面的 在右边的窗口你可以看到你曾经正确使用过的无线的密码都保存在这里,如下图所示。大家可以清楚的看到SSID和后面的密码。

二.网络 这个网络主要用来鉴别各域控制器,SQLserver,打印服务,远程拨入,终端服务等。网络的左侧用来浏览网络结构和连接远程主机。连接到主机就可列出用户名,工作者,服务,共享资源等。如下图,我们清楚的看到SMM-DB1开启了IPC$默认共享连接和文件夹共享。 同时也可以搜索到计算机的用户组和组的用户名,虽然NT版本以后不能建立空连接了,但是还是可以通过提取SID来获得Admin的账号,因为管理员的SID总是500。如下图所示

大数据学习环境搭建系列(一)大数据集群平台介绍

大数据集群平台介绍 掌握搭建大数据集群的方法是学习大数据技术的人需要具备的基础技能,因此我会通过接下来的三十余篇文章介绍大数据平台的搭建方法。在本文中我将向小伙伴们介绍一下搭建大数据集群需要哪些知识以及我们接下来搭建的大数据集群平台架构,让大家对平台有个总体的认识并普及一些概念。 首先我们接触的是虚拟机,及在虚拟机中安装Linux操作系统

集群搭建完成后我们总共会有四个虚拟机,其中伪分布集群有一台虚拟机,虚拟机名称为single_node。分布式集群有三个虚拟机名称分别为master、slave1、slave2。各个虚拟机的IP配置及安装软件(含软件运行的模块)如下表所示。 注:hostname:每个节点的主机名称 IP:每个节点的IP地址 NN:NameNode DN:DataNode NM:NodeManager RM:ResourceManager SNN:SecondaryNameNode / :表示不安装 分布式集群的架构如下图所示

slave1 192.168.***.12 slave2 192.168.***.13 Master 192.168.***.11 1、硬件 节点:我们后面会经常提到节点,分布式环境中一个服务器就是一个节点,在我们搭建的集群中服务器指的是通过VMware软件虚拟出来的虚拟机。 操作系统:服务器上运行的操作系统基本上都是Linux操作系统,当然虚拟机中安装的也是Linux系统。 网络:集群中的多个节点之间协同工作需要不断交换数据及状态、命令等信息,因此需要互通的网络环境。我们的集群是通过虚拟机软件虚拟出来的,网络也是由虚拟机软件虚拟出的虚拟网卡来实现数据交换的。 2、软件 集群中的软件主要有hadoop、spark、hive、hbase、zookeeper这几个。Hadoop 虽然大数据集群平台根据具体业务需求不同配置组成不同,但大部分集群都会以hadoop集群为基础。例如大数据仓库Hive及分布式数据库Hbase的存储都会用到hadoop 集群的分布式文件系统HDFS,计算部分默认使用Hadoop原生的MapReduce计算框架。分布式计算框架spark可以使用hadoop内置的通用资源管理模块yarn来提供统一的资源管理和调度。

数字后端FAQ

数字后端FAQ (2013-01-18 13:03:52) 转载▼ 数字后端faq分类:工作札记 在eetop论坛上看到这个东西,感觉很有用,就转过来了,非常感谢原文作者,下面面链接是论坛网址。 转载自:https://www.sodocs.net/doc/209796155.html,/thread-316442-1-1.html 为了方便大家尽快找到需要的话题,经icfb版主建议,编辑这个数字后端的FAQ。 如果您是初学者,建议先搜索相关的资料,读读其他人的帖子,一些基本概念在那里都已经讨论过了。 如果您已经有2年以上的实战经验,下面这些雕虫小技就不太值得您去浪费时间了。 以下是分类 2楼:时序约束,STA 3楼:综合DC/RC 4楼:APR (floorplan, place, CTS,route) 5楼:验证(LEC,DRC,LVS等) 6楼:DFT 7楼:低功耗 8楼:面试 9楼:名词解释 时序约束,STA (1) clock Q1.1 什么是同步时钟? 时钟频率是整倍数,并且相互之间的相位是固定而且相差可预知的,才可以称得上是同步时钟。其他的都算异步时钟。 比如,

5M,10M是同步 2M,3M一般算异步 一个时钟,输出到另一个芯片中,转一圈后,以同样的频率返回到自己的芯片,因为无法确定时钟在另一个芯片里面的latency,所以输出的时钟与输入的时钟算异步 一个时钟进到2个PLL,就算那2个PLL的输出频率相同,一般也算是异步时钟,除非你de-skew Q1.2 如何处理同步时钟? 设计要求严格的公司,就算是同步时钟,数据在同步时钟间传送时,依然要用meta-stability FF,可以set_false_path 如果放松要求,不用meta-stability FF,则同步时钟之间是real path,做CTS时,同步时钟要clock tree balance。 注意不同频率的同步时钟的最小时间间隔被用来检查setup 如果上升下降沿混用的话,setup的时间间隔就只有半个时钟周期了 Q1.3 如何处理异步时钟? 很简单,set_false_path 注意要from A to B,同时要from B to A Q1.4 如何定义时钟? create_clock 如果指定某个pin/port,就是实时钟,如果没有指定pin和port,就是虚拟时钟 巧妙利用waveform选项可以做出不同波形的时钟 被定义成时钟的net,在综合时,自动带有ideal network和dont_touch的属性。但是当它被用作data计算延迟时,ideal net的属性会自动消失 时钟会自动穿过逻辑单元,停在时序单元的时钟端,所以用FF产

相关主题