12201415_lab1
北邮电子院专业实验报告
电子工程学院ASIC专业实验报告班级:姓名:学号:班内序号:第一部分语言级仿真LAB 1:简单的组合逻辑设计一、实验目的掌握基本组合逻辑电路的实现方法;二、实验原理本实验中描述的是一个可综合的二选一开关,它的功能是当sel = 0时,给出out = a,否则给出结果out = b;在Verilog HDL中,描述组合逻辑时常使用assign结构;equal=a==b1:0是一种在组合逻辑实现分支判断时常用的格式;parameter定义的size参数决定位宽;测试模块用于检测模块设计的是否正确,它给出模块的输入信号,观察模块的内部信号和输出信号;三、源代码module scale_muxout,sel,b,a;parameter size=1;outputsize-1:0 out;inputsize-1:0b,a;input sel;assign out = sela:selb:{size{1'bx}};endmodule`define width 8`timescale 1 ns/1 nsmodule mux_test;reg`width:1a,b;wire`width:1out;reg sel;scale_mux`widthm1.outout,.selsel,.bb,.aa;initialbegin$monitor$stime,,"sel=%b a=%b b=%b out=%b",sel,a,b,out;$dumpvars2,mux_test;sel=0;b={`width{1'b0}};a={`width{1'b1}};5sel=0;b={`width{1'b1}};a={`width{1'b0}};5sel=1;b={`width{1'b0}};a={`width{1'b1}};5sel=1;b={`width{1'b1}};a={`width{1'b0}};5 $finish;endendmodule四、仿真结果与波形LAB 2:简单时序逻辑电路的设计一、实验目的掌握基本时序逻辑电路的实现;二、实验原理在Verilog HDL中,相对于组合逻辑电路,时序逻辑电路也有规定的表述方式;在可综合的Verilog HDL模型中,我们常使用always块和posedge clk或negedge clk的结构来表述时序逻辑;在always块中,被赋值的信号都必须定义为reg型,这是由时序逻辑电路的特点所决定的对于reg 型数据,如果未对它进行赋值,仿真工具会认为它是不定态;为了正确地观察到仿真结果,在可综合的模块中我们通常定义一个复位信号rst-,当它为低电平时对电路中的寄存器进行复位;三、源代码`timescale 1 ns/100 psmodule countercnt,clk,data,rst_,load;output4:0cnt ;input 4:0data;input clk;input rst_;input load;reg 4:0cnt;alwaysposedge clk or negedge rst_ifrst_cnt<=0;elseifloadcnt<=3 data;elsecnt<=4 cnt + 1;endmodule`timescale 1 ns/1 nsmodule counter_test;wire4:0cnt;reg 4:0data;reg rst_;reg load;reg clk;counter c1t cnt,.clk clk,.datadata,.rst_rst_,.loadload;initial beginclk=0;forever begin10 clk=1'b1;10 clk=1'b0;endendinitialbegin$timeformat-9,1,"ns",9;$monitor"time=%t,data=%h,clk=%b,rst_=%b,load=%b,cnt=%b", $stime,data,clk,rst_,load,cnt;$dumpvars2,counter_test;endtask expect;input 4:0expects;ifcnt ==expectsbegin$display"At time %t cnt is %b and should be %b", $time,cnt,expects;$display"TEST FAILED";$finish;endendtaskinitialbeginnegedge clk{rst_,load,data}=7'b0_X_XXXXX;negedge clkexpect5'h00;{rst_,load,data}=7'b1_1_11101;negedge clkexpect5'h1D;{rst_,load,data}=7'b1_0_11101;repeat5negedge clk;expect5'h02;{rst_,load,data}=7'b1_1_11111;negedge clkexpect5'h1F;{rst_,load,data}=7'b0_X_XXXXX;negedge clkexpect5'h00;$display"TEST PASSED";$finish;endendmodule四、仿真结果与波形五、思考题该电路中,rst-是同步还是异步清零端在的always块中reset没有等时钟,而是直接清零;所以是异步清零端;LAB 3:简单时序逻辑电路的设计一、实验目的使用预定义的库元件来设计八位寄存器;二、实验原理八位寄存器中,每一位寄存器由一个二选一MUX和一个触发器dffr组成,当load=1,装载数据;当load=0,寄存器保持;对于处理重复的电路,可用数组条用的方式,使电路描述清晰、简洁; 三、源代码`timescale 1 ns /1 nsmodule clockclk;reg clk;output clk;initial beginclk=0;forever begin10 clk=1'b1;10 clk=1'b0;endendendmodulemux及dffr模块调用代码mux mux7.outn17,.selload,;dffr dffr7 .qout7, .dn17, .clkclk, .rst_rst_ ;mux mux6 .outn16, .selload, .bdata6, .aout6;dffr dffr6 .qout6, .dn16, .clkclk, .rst_rst_ ;mux mux5 .outn15, .selload, .bdata5, .aout5;dffr dffr5 .qout5, .dn15, .clkclk, .rst_rst_ ;mux mux4 .outn14, .selload, .bdata4, .aout4;dffr dffr4 .qout4, .dn14, .clkclk, .rst_rst_ ;.selload, .bdata3, .aout3;dffr dffr3 .qout3, .dn13, .clkclk, .rst_rst_ ;mux mux2 .outn12, .selload, .bdata2, .aout2;dffr dffr2 .qout2, .dn12, .clkclk, .rst_rst_ ;mux mux1 .outn11, .selload, .bdata1, .aout1;dffr dffr1 .qout1, .dn11, .clkclk, .rst_rst_ ;mux mux0 .outn10, .selload, .bdata0, .aout0;dffr dffr0 .qout0, .dn10,;例化寄存器register r1.datadata,.outout,.loadload,.clkclk,.rst_rst_;例化时钟clock c1.clkclk;添加检测信号initialbegin$timeformat-9,1,"ns",9;$monitor"time=%t,clk=%b,data=%h,load=%b,out=%h",$stime,clk,data,load,out;$dumpvars2,register_test;end四、仿真结果与波形LAB 4:用always块实现较复杂的组合逻辑电路一、实验目的掌握用always实现组合逻辑电路的方法;了解assign与always两种组合逻辑电路实现方法之间的区别;二、实验原理仅使用assign结构来实现组合逻辑电路,在设计中会发现很多地方显得冗长且效率低下;适当地使用always来设计组合逻辑,会更具实效;本实验描述的是一个简单的ALU指令译码电路的设计示例;它通过对指令的判断,对输入数据执行相应的操作,包括加、减、或和传数据,并且无论是指令作用的数据还是指令本身发生变化,结果都要做出及时的反应;示例中使用了电平敏感的always块,电平敏感的触发条件是指在后括号内电平列表的任何一个电平发生变化就能触发always块的动作,并且运用了case结构来进行分支判断;在always中适当运用default在case结构中和else子if…else结构中,通常可以综合为纯组合逻辑,尽管被赋值的变量一定要定义为reg型;如果不使用default或else对缺省项进行说明,易产生意想不到的锁存器;三、源代码电路描述alwaysopcode or data or accumbeginifaccum==8'b00000000zero=1;elsezero=0;caseopcodePASS0: out =accum;PASS1: out =accum;ADD: out = data + accum;AND: out =data&accum;XOR: out =data^accum;PASSD: out=data;PASS6: out=accum;PASS7: out=accum;default: out=8'bx;endcaseend四、仿真结果与波形LAB 5:存储器电路的设计一、实验目的设计和测试存储器电路;二、实验原理本实验中,设计一个模块名为mem的存储器仿真模型,该存储器具有双线数据总线及异步处理功能;由于数据是双向的,所以要注意,对memory的读写在时序上要错开;三、源代码自行添加的代码assign data= readmemoryaddr:8'hZ;always posedge writebeginmemoryaddr<=data7:0;end四、仿真结果与波形LAB 6:设计时序逻辑时采用阻塞赋值与非阻塞赋值的区别一、实验目的明确掌握阻塞赋值与非阻塞赋值的概念和区别;了解阻塞赋值的使用情况;二、实验原理在always块中,阻塞赋值可以理解为赋值语句是顺序执行的,而非阻塞赋值可以理解为并发执行的;实际时序逻辑设计中,一般情况下非阻塞赋值语句被更多的使用,有时为了在同一周期实现相互关联的操作,也使用阻塞赋值语句;三、源代码`timescale 1 ns/ 100 psmodule blockingclk,a,b,c;output3:0b,c;input 3:0a;input clk;reg 3:0b,c;alwaysposedge clkbeginb =a;c =b;$display"Blocking: a=%d,b=%d,c=%d.",a,b,c;endendmodule`timescale 1 ns/ 100 psmodule non_blockingclk,a,b,c;output3:0 b,c;input3:0 a;input clk;reg 3:0b,c;always posedge clkbeginb<=a;c<=b;$display"Non_blocking:a=%d,b=%d,c=%d",a,b,c;endendmodule`timescale 1 ns/ 100 psmodule compareTop;wire 3:0 b1,c1,b2,c2;reg3:0a;reg clk;initialbeginclk=0;forever 50 clk=~clk;endinitial$dumpvars 2,compareTop;initialbegina=4'h3;$display"_______________________________";100 a =4'h7;$display"_______________________________";100 a =4'hf;$display"_______________________________";100 a =4'ha;$display"_______________________________";100 a =4'h2;$display"_______________________________";100 $display"_______________________________";$finish;endnon_blocking nonblockingclk,a,b2,c2;blocking blockingclk,a,b1,c1;endmodule四、仿真结果与波形LAB 7:利用有限状态机进行复杂时序逻辑的设计一、实验目的掌握利用有限状态机FSM实现复杂时序逻辑的方法;二、实验原理控制器是CPU的控制核心,用于产生一系列的控制信号,启动或停止某些部件;CPU何时进行读指令,何时进行RAM和I/O端口的读写操作等,都由控制器来控制;三、源代码补充代码nexstate<=state+1'h01;casestate1:begin sel=1;rd=0;ld_ir=0;inc_pc=0;halt=0;ld_pc=0;data_e=0;ld_ac=0;wr=0;end2:begin sel=1;rd=1;ld_ir=0;inc_pc=0;halt=0;ld_pc=0;data_e=0;ld_ac=0;wr=0;end3:begin sel=1;rd=1;ld_ir=1;inc_pc=0;halt=0;ld_pc=0;data_e=0;ld_ac=0;wr=0;end4:begin sel=1;rd=1;ld_ir=1;inc_pc=0;halt=0;ld_pc=0;data_e=0;ld_ac=0;wr=0;end 5:begin sel=0;rd=0;ld_ir=0;inc_pc=1;ld_pc=0;data_e=0;ld_ac=0;wr=0;ifopcode==`HLThalt=1;end6:beginsel=0;rd=alu_op;ld_ir=0;inc_pc=0;halt=0;ld_pc=0;data_e=0;ld_ac=0;wr=0;end7:beginsel=0;rd=alu_op;ld_ir=0;halt=0;data_e=alu_op;ld_ac=0;wr=0;ifopcode==`SKZinc_pc<=zero;ifopcode==`JMPld_pc=1;end0:beginsel=0;rd=alu_op;ld_ir=0;halt=0;data_e=alu_op;ld_ac=alu_op;inc_pc=opcode==`SKZ&zero||opcode==`JMP;ifopcode==`JMPld_pc=1;ifopcode==`STOwr=1;endNo.00000000 No.00000000 No.00000101 No.00000001 // 1C TEMP: //1 temporary variable00000001 // 1D time: // 1 constant 144 - max value 00000110 // 1E LIMIT: // 6 constant 1一、仿真结果与波形第二部分电路综合一、实验目的掌握逻辑综合的概念和流程,熟悉采用Design Compiler进行逻辑综合的基本方法;二、实验内容采用SYNOPSYS公司的综合工具Design Compiler对实验7的做综合;三、源代码与实验指导书中相同;四、门级电路仿真结果与波形五、思考题1.文件是verilog语言及的描述还是结构化的描述是结构化的描述;2.文件中,对触发器的延迟包括哪些信息包括对逻辑单元和管脚的上升/下降时延的最大值、最小值和典型值;第三部分版图设计一、实验目的掌握版图设计的基本概念和流程,熟悉采用Sysnopsys ICC工具进行版图设计的方法;二、实验内容对电路综合输出的门级网表进行布局布线;三、源代码与实验指导书中相同;四、仿真结果与波形布局规划后结果未产生core ring和mesh前产生core ring和mesh后电源线和电影PAD连接后filler PAD填充后布局后结果时钟树综合后结果布线后结果寄生参数的导出和后仿五、思考题1.简述ICC在design setup阶段的主要工作;创建设计库,读取网表文件并创建设计单元,提供并检查时间约束,检查时钟;在对之前的数据与信息进行读取与检查后保存设计单元;2.为什么要填充filler padfiller pad把分散的pad单元连接起来,把pad I/O区域供电连成一个整体;使它们得到持续供电并提高ESD保护能力;3.derive_pg_connection的作用是什么描述有关电源连接的信息;4.简述floorplan的主要任务;对芯片大小、输入输出单元、宏模块进行规划,对电源网络进行设计;5.简述place阶段的主要任务;对电路中的延时进行估计与分析,模拟时钟树的影响,按照时序要求,对标准化单元进行布局;6.简述CTS的主要步骤;设置时钟树公共选项;综合时钟树;重新连接扫描链;使能传播时钟;Post-CTS布局优化;优化时钟偏移;优化时序;实验总结经过数周的ASIC专业实验,我对芯片设计流程、Verilog HDL语言、Linux基本指令和Vi文本编辑器有了基本的了解;虽然之前对芯片设计、VHDL一无所知,但通过实验初步熟悉了ASIC的体系结构和VHDL的基本语法,对电路中时钟、寄生参数、元件布局带来的影响也有了了解;我在实验中也遇到了许多问题,但我在老师、助教、同学的帮助下解决了这些问题,也有了更多收获;通过这次ASIC专业实验,我加深了对本专业的认识;我会继续努力成为合格的电子人;。
lab值测试方法
lab值测试方法嘿,咱今儿个就来唠唠这 lab 值测试方法。
你说这 lab 值啊,就像是一个神秘的密码,得用对方法才能解开它的秘密呢!想象一下,这就好比你要打开一个藏着宝贝的箱子,没有正确的钥匙可不行。
那怎么来测试这 lab 值呢?首先啊,咱得有专业的设备,这就像是战士上战场得有称手的兵器一样。
这些设备得够精准,可不能马马虎虎的。
然后呢,就是操作的步骤啦。
咱得小心翼翼地准备样品,就跟对待宝贝似的,可不能有一丁点儿马虎。
把样品处理得妥妥当当的,这才好进行下一步呢。
接下来就是测试啦,这个过程可不能分心,得全神贯注地盯着那些数据的变化,就好像在观察一场精彩的比赛一样。
测试的时候啊,可别小瞧了那些小小的细节。
温度啦、湿度啦,都可能影响到最终的结果呢。
就好像你做饭的时候,火候稍微不对,那味道可就差远了。
而且啊,这测试可不是一次就完事儿了的。
得多测几次,取个平均值啥的,这样结果才更靠谱呢。
不然万一有个失误,那不就前功尽弃啦?你说这 lab 值测试是不是挺有讲究的?要是随随便便搞一下,那能得出准确的结果吗?肯定不能呀!所以啊,咱得认真对待,就像对待自己最心爱的东西一样。
等测试完了,看着那一串串的数据,就像是解开了一道难题一样,特有成就感。
然后根据这些数据,咱就能分析出好多有用的信息呢。
这lab 值测试方法,说简单也不简单,说难也不难。
关键是得用心,得有耐心。
就跟咱过日子一样,得一步一个脚印,踏踏实实地走。
你说是不是这个理儿?反正我觉得是这么回事儿。
总之呢,要想准确地测试出 lab 值,就得按照正确的方法来,可不能瞎糊弄。
只有这样,才能让这些数据发挥出它们最大的作用,为我们的工作和生活提供帮助呀!大家可都得记住咯!。
LAB-2-1:升级到无类路由协议
实验2-1:无类路由协议【实验目的】:在本次实验中,你将安装路由信息协议第二版(RIPV2)。
在完成本次实验之后,你需要完成下列任务:• 连接到网络中所有的设备,并且对使用RIPV2布署完整的网络明确的概念。
• 理解RIPV2的一些特性,如支持缺省路由,可变长度的子网掩码(VLSM )和路由聚合。
•理解VLSM 怎么使网络更有效。
【实验拓扑】:BBR2BBR1PxR1PxR2PxR4F0/0 . 2.1 F0/0F0/0 .2.1 F0/0.3 F0/0F0/0 .4S1/0 .3S1/0 .4S1/1 .1.2 S1/110.x.0.y10.x.2.y10.x.1.y10.254.0.254S1/0 S1/0S1/0S1/0172.31.x.1172.31.xx.1172.31.x.2 172.31.xx.2172.31.x.3172.31.xx.4FR12341 102 – 201 1 103 – 301 1 104 – 401 2 201 – 102 2 203 – 302 2 204 – 402 3 301 – 103 3 302 – 203 3 304 – 403 4 401 – 104 4 402 – 204 4 403 - 30410.x.0.0 /16注意:图中x为所在机架编号,y为路由器编号。
【实验帮助】:如果出现任何问题,可以向在值的辅导老师提出并请求提供帮助。
【命令列表】:【任务一】:探索有类路由选择。
使用TELNET或者其他终端程序建立与路由器建立联接。
记住在本实验中x是你的机架编号,y是你的路由器编号。
实验之前,导入初始的路由器配置。
实验过程:第一步:在所有的路由器上配置使用RIP 版本1,并发布网络(10.0.0.0)和,在帧中继边界路由器上,同时发布B类网络172.31.0.0。
第二步:使用命令version 1明确的指定使用RIPv1。
缺省情况下,路由器发送和接收版本1和版本2的路由,设置路由器使用版本1以防止骨干路由器同时运行两种版本。
ingersoll拧紧机手册
描述 .................................................................................................................................................. 15 被动条码模式.................................................................................................................................... 15 主动条码模式.................................................................................................................................... 15 条码设置 ........................................................................................................................................... 15 条码操作 ........................................................................................................................................... 16 删除条码操作.................................................................................................................................... 16 条码与其它功能的兼容性.................................................................................................................. 16
清华大学操作系统实验lab1实验报告
练习1、理解通过make生成执行文件的过程。
[练习1.1] 操作系统镜像文件ucore.img 是如何一步一步生成的?在proj1执行命令make V=可以得到make指令执行的过程从这几条指令中可以看出需要生成ucore.img首先需要生成bootblock,而生成bootblock需要先生成bootmain.o和bootasm.o还有sign,这三个文件又分别由bootmain.c、bootasm.S、sigh.c来生成。
ld -m elf_i386 -N -e start -Ttext 0x7C00 obj/boot/bootasm.o obj/boot/bootmain.o –o obj/bootblock.o这句话用于生成bootblock,elf_i386表示生成elf头,0x7C00为程序的入口。
'obj/bootblock.out' size: 440 bytes这句话表示生成的bootblock的文件大小,因为大小不到512字节,所以需要给blootblock填充,填充的功能在sign.c中有所体现,最后两字节设置为了0x55,0xAAbuf[510] = 0x55;buf[511] = 0xAA;FILE *ofp = fopen(argv[2], "wb+");size = fwrite(buf, 1, 512, ofp);[练习1.2] 一个被系统认为是符合规范的硬盘主引导扇区的特征是什么?前面已经提到过:引导扇区的大小为512字节,最后两个字节为标志性结束字节0x55,0xAA,做完这样的检查才能认为是符合规范的磁盘主引导扇区。
Sign.c文件中有作检查:if (size != 512) {fprintf(stderr, "write '%s' error, size is %d.\n", argv[2], size);return -1;}练习2:使用qemu执行并调试lab1中的软件。
lab01
实验一、表的应用实验目的1.了解表是安位置存储的值的序列,但不能用下标运算符直接访问表元素;2.熟悉STL list类API;3.学习使用迭代器的概念实现对表对象的操作;4.掌握表容器的插入和删除操作。
实验内容●在F盘下新建一个属于自己的文件夹,并重命名为“姓名学号”,以后每次实验的结果都要保存在该文件夹中。
例如:某同学叫“张三”,学号为“0712345”,则他的文件夹应命名为“张三0712345”。
●在自己的文件夹中,新建一个子文件夹,命名为“lab01”,本次的实验内容都保存在lab01中。
1.表回文(见教材P288-230),请编程实现程序6-1回文字符串。
2. 编程实现函数maxLoc(),它返回指向表中最大元素的iterator.template <typename T>list<T>::iterator maxLoc(list<T>& aList);使用下面的声明编写测试maxLoc()的程序:string strArr[] = {"insert", "erase", "template", "list"};list<string> strList(strArr, strArr+4);程序应重复调用maxLoc(),输出最大值,然后删除这个值,直到表为空。
对应内容参见教材P323页上机题6.27,请将文件pex6_27.cpp中缺失的代码补充完整。
程序正确的运行结果如图1所示。
图13. 使用count()函数,统计数值在表中出现的次数。
函数count()把item 作为参数,返回item在表中出现的次数。
函数通过扫描表并维护item出现次数的记录来实现函数。
template <typename T>int count(const list<T>& aList, const T& item);整个算法产生20个0~4范围内的随机数字。
泰晓科技Linux Lab v1.0 使用手册说明书
Linux Lab v1.0中文手册泰晓科技|June16,2022目录1.Linux Lab概览81.1项目简介 (8)1.2项目主页 (8)1.3演示视频 (9)1.3.1开放教程 (9)1.3.2付费课程 (10)1.4项目功能 (10)1.5项目历史 (11)1.5.1项目起源 (11)1.5.2项目缘由 (11)1.5.3项目诞生 (11)1.6项目变更 (11)1.6.1v0.1@2019.06.28 (11)1.6.2v0.2@2019.10.30 (12)1.6.3v0.3@2020.03.12 (12)1.6.4v0.4@2020.06.01 (13)1.6.5v0.5@2020.09.12 (13)1.6.6v0.6@2021.02.06 (14)1.6.7v0.7@2021.06.03 (14)1.6.8v0.8@2021.10.13 (15)1.6.9v0.9@2022.01.13 (15)1.6.10v1.0@2022.06.16 (16)2.Linux Lab安装172.1软硬件要求 (18)2.2安装Docker (19)2.3选择工作目录 (20)2.4切换到普通用户帐号 (20)2.5下载实验环境 (20)2.6运行并登录Linux Lab (21)2.7更新实验环境并重新运行 (22)2.8快速上手:启动一个开发板 (22)3.Linux Lab入门233.1使用开发板 (23)3.1.1列出支持的开发板 (23)3.1.2选择一个开发板 (25)3.1.3以插件方式使用 (27)3.1.4配置开发板 (27)3.2一键自动编译 (28)3.3详细步骤分解 (28)3.3.1下载 (28)3.3.2检出 (29)3.3.3打补丁 (29)3.3.4配置 (30)3.3.5编译 (31)3.3.6保存 (31)3.3.7启动 (31)4.Linux Lab进阶344.1Linux内核 (34)4.1.1非交互方式配置 (34)4.1.2使用内核模块 (35)4.1.3使用内核特性 (36)4.1.4新建开发分支 (37)4.1.5启用独立内核仓库 (38)4.2Uboot引导程序 (38)4.3Qemu模拟器 (40)4.4Toolchain工具链 (40)4.5Rootfs文件系统 (41)4.6Linux与Uboot调试 (41)4.6.1调试Linux (41)4.6.2调试Uboot (42)4.7自动化测试 (43)4.8文件共享 (45)4.8.1在rootfs中安装文件 (45)4.8.2采用NFS共享文件 (45)4.8.3通过tftp传输文件 (46)4.8.4通过9p virtio共享文件 (46)4.9学习汇编 (47)4.10学习C语言 (48)4.10.1本地编译和运行 (48)4.10.2交叉编译和运行 (48)4.11运行任意的make目标 (49)4.12更多用法 (49)5.Linux Lab开发515.1选择一个qemu支持的开发板 (51)5.2创建开发板的目录 (51)5.3从一个已经支持的开发板中复制一份Makefile (51)5.4从头开始配置变量 (51)5.5同时准备configs文件 (51)5.6选择kernel,rootfs和uboot的版本 (52)5.7配置,编译和启动 (53)5.7.1编译加速并减少磁盘损耗 (53)5.8保存生成的镜像文件和配置文件 (54)5.9上传所有工作 (54)6.常见问题556.1Docker相关 (55)6.1.1docker下载速度慢 (55)6.1.2Docker网络与LAN冲突 (55)6.1.3本地主机不能运行Linux Lab (55)6.1.4非root无法运行tools命令 (55)6.1.5网络不通 (56)6.1.6Client.Timeout exceeded while waiting headers (56)6.1.7关机或重启主机后如何恢复运行Linux Lab (57)6.1.8the following directives are specified both as aflag and in the config-urationfile (57)6.1.9pathspec FETCH_HEAD did not match anyfile known to git (57)6.1.10Docker not work in Ubuntu20.04 (57)6.1.11Error creating aufs mount (58)6.2Qemu相关 (58)6.2.1缺少KVM加速 (58)6.2.2Guest关机或重启后挂住 (58)6.2.3如何退出qemu (59)6.2.4Boot时报缺少sdl2库 (59)6.3环境相关 (59)6.3.1NFS与tftpboot不工作 (59)6.3.2在vim中无法切换窗口 (59)6.3.3长按Backspace不工作 (60)6.3.4如何快速切换中英文输入 (60)6.3.5如何调节Web界面窗口的大小 (60)6.3.6如何进入全屏模式 (61)6.3.7如何录屏 (61)6.3.8Web界面无响应 (62)6.3.9登录WEB界面时超时或报错 (62)6.3.10Ubuntu Snap问题 (63)6.3.11如何退出VNC客户端全屏模式 (63)6.4Linux Lab相关 (63)6.4.1No working init found (63)6.4.2linux/compiler-gcc7.h:No suchfile or directory (63)6.4.3linux-lab/configs:Permission denied (63)6.4.4scripts/Makefile.headersinst:Missing UAPIfile (64)6.4.5unable to createfile:net/netfilter/xt_dscp.c (64)6.4.6如何切到root用户 (64)6.4.7提示指定的版本或者配置不存在 (64)6.4.8is not a valid rootfs directory (65)7.联系并赞助我们66联系方式 (66)关注并参与 (66)付费支持我们 (66)扫码提供赞助 (67)赞助我们 (67)赞助列表 (67)Figure1:Linux Lab Logo订阅公众号,关注项目状态:Figure2:扫码订阅“泰晓科技”公众号1.Linux Lab概览1.1项目简介本项目致力于创建一个基于Docker+QEMU的Linux实验环境,方便大家学习、开发和测试Linux内核。
lab 1双绞线跳线的制作与测试
lab 1双绞线跳线的制作与测试lab1双绞线跳线的制作与测试实验1双绞线跳线的制作与测试【实验目的】理解直通线和交叉线的应用范围,掌握直通线和交叉线的制作方法。
【实验设备和环境】1.rj45水晶头、卡线钳、双绞线、测试仪;2.3~4人一组;【有关概念和原理】所谓跳线,是指两端均有一个水晶头的网线。
网线使用的就是rj-45水晶头。
rj45水晶头由金属片和塑料形成,特别须要特别注意的就是插槽序号,当金属片直面我们的时候从左至右插槽序号就是1-8,这序号搞网络联线时非常关键,无法弄错。
这里,按照t568b(t568a)的标准制作双绞线。
t568b和t568a为美国电子电气工程师协会(eia/tia)两种双绞线制作标准。
其中t568b标准在以太网中应用较广泛。
t568b管脚编号t568a管脚编号按照双绞线两端线序的不同,我们一般划分两类双绞线:①直通线双绞线线缆的两端采用同一种标准,即为同时使用t568b标准或同时使用t568a标准。
②交叉线双绞线在制作时一端采用t568b标准,另一端采用t568a标准。
线序如下:直通线:12345678a端:橙白,橙,绿白,蓝,蓝白,绿,棕白,棕;b端:橙白,橙,绿白,蓝,蓝白,绿,棕白,棕。
交叉线:12345678a端:橙白,橙,绿白,蓝,蓝白,绿,棕白,棕;b端:绿白,绿,橙白,蓝,蓝白,橙,棕白,棕。
在展开设备相连接时,我们须要恰当的挑选线缆。
我们将设备的rj45USB分成mdi和mdix两类。
当同种类型的USB通过双绞线互连时,采用交叉线;当相同类型的USB通过双绞线互连时采用直通线。
通常主机和路由器的USB属mdi,交换机和集线器的USB属mdix。
比如,路由器和主机相连,使用交叉线;交换机和主机相连则使用直通线。
主机路由器主机交叉交叉路由器交叉交叉直通n/a直通交换机mdix交换机mdi直通直通交叉直通交叉n/an/a直通交叉直通集线器直通直通交叉直通交叉交换机mdix直通交换机mdi集线器n/a直通备注:n/a则表示不容相连接。
XR21V1410评估板用户手册说明书
1.0INTRODUCTIONThis user’s manual is for the XR21V1410 evaluation board. It will describe the hardware setup required to operate the part.2.0OVERVIEWThe XR21V1410 evaluation board has one 16-QFN package on it. Figure 1 shows a top view of XR21V1410 evaluation board F IGURE 1. T OP V IEW OF XR21V1410 E VALUATION BOARD L AYOUTlayout.Figure 2 shows a bottom view of XR21V1410 evaluation board layout.F IGURE 2. B OTTOM V IEW OF XR21V1410 E VALUATION B OARD L AYOUT2.1Evaluation Board ComponentsOn the XR21V1410 evaluation board, some componets are required to install. Some are optional and some are not installed. Table 1 shows the components:T ABLE 1: C OMPONENTS O F T HE XR21V1410 E VALUATION B OARDU NIT L OCATION P ART F UNCTIONU1Top SP6669AEK-L/TRR3Exar’s Voltage converter to step down voltage from 5V to 3.3V.U2Bottom SN74LVC2G53DCTR Multiplexer to switch between RS-232 and RS-485 mode.U3U4Top XR21V1410IL16-F Exar’s USB 1 channel UART.U5Bottom NC7SZ14M5X Invert LowPower (suspend) signal.U6Top AT24C02B I2C EEPROM.U7Top SP3245EEY-L Exar’s RS-232 transceiver.U8Bottom SN74LVC2G66DCT Analog switch.U9Top SP3497EEN-L Exar’s RS-485 transceiver.CON1Top PJ-002A External power input.N OTES :1) An external pull-up is required on the LOWPOWER pin for proper functionality. The external pull-up is not shown in the evaluation board schematics, but has been added on the evaluation board. 2) An external pull-up is required on any GPIO pins that is used as an input. In the suspend mode, the internal pull-up resistor is disabled and the input will be floating if there is no external pull-up resistor. The external pull-ups have not been added to the GPIOs used as inputs on this evaluation board.2.2Jumper Settings 2.2.1Common jumpersCommon jumpers are those jumpers which should be set the same for both RS-232 and RS-485 mode. The Table 2 shows the common jumpers setting on the evaluation board:T ABLE 2: C OMMON J UMPERS S ETTINGSJ UMPERS L OCATIONF UNCTIONSC OMMENTSJP1TopPower selectJumper in 1&2 selects power from external power sup-ply of 5VJumper in 2&3 selects power from USB V BUS power JP2Top Selects RS-232 or RS-485 mode Jumper in 1&2 selects RS-485 modeJumper in 2&3 selects RS-232 mode (default)JP3Top External loopback or test header Jumper in 1&2 selects external loopback JP4Top SCL pull-up/pull-down select Jumper in 1&2 selects pull-up resistor Jumper in 2&3 selects pull-down resistor JP5Top SDA pull-up/pull-down select Jumper in 1&2 selects pull-up resistor Jumper in 2&3 selects pull-down resistor JP6Top Power supply for XR21V1410Not installed. Trace between pin 1 & 2JP7TopI2C EEPROM headerJumper in 1&2 connects SCL to I2C EEPROM Jumper in 3&4 connects SDA to I2C EEROM N OTE : I2C EEPROM has not been programmedCON2Top 690-004-621-023USB B-Type connector. Communication with USB host (USBD+, USBD-) and power source for evaluation board (V Bus ). CON3Top 182-009-113R161RS-232 mode DB9 male connector.CON4TopED555/4DSRS-485 mode 4X1 terminal block.T ABLE 1: C OMPONENTS O F T HE XR21V1410 E VALUATION B OARDU NIT L OCATIONP ARTF UNCTION2.2.2Remote wakeup and jumperThe SDA and SCL are used to specify whether Remote Wakeup and/or Bus Powered configurations are to be supported. These pins are sampled at power-up. The following Table 3 describes how Remote Wakeup and Bus Powered support.T ABLE 3: R EMOTE W AKEUP AND P OWER M ODESR EMOTE W AKE-UPSDA SCLP OWER M ODE C OMMENTSS UPPORT11No Self-Powered Default, if no EEPROM is present10No Bus-Powered01Yes Self-Powered00Yes Bus-PoweredThe following Table 4 shows jumpers related to remote wakeup.T ABLE 4: R EMOTE W AKEUP J UMPERS S ETTINGSJ UMPERS L OCATION F UNCTIONS C OMMENTS JP8Top Select remote control wakeup signal Jumper in 1&2 selects RS-232 (RI#) signalJumper in 2&3 selects push-button SW1Top Generate remote wakeup signal Push once to generate one remote wakeup signal2.2.3RS-232 mode jumpers (Default setting is RS-232)The XR21V1410 evaluation board is set as RS-232 mode by default. The following Table 5 shows the jumper settings apply to the RS-232 mode:T ABLE 5: J UMPER S ETTINGS F OR RS-232 M ODEJ UMPERS L OCATION F UNCTIONS C OMMENTS JP9Top Selects power Not installed. Trace between pin 1&2NOTICEEXAR Corporation reserves the right to make changes to the products contained in this publication in order to improve design, performance or reliability. EXAR Corporation assumes no responsibility for the use of any circuits described herein, conveys no license under any patent or other right, and makes no representation that the circuits are free of patent infringement. Charts and schedules contained here in are only for illustration purposes and may vary depending upon a user’s specific application. While the information in this publication has been carefully checked; no responsibility, however, is assumed for inaccuracies.EXAR Corporation does not recommend the use of any of its products in life support applications where the failure or malfunction of the product can reasonably be expected to cause failure of the life support system or to significantly affect its safety or effectiveness. Products are not authorized for use in such applications unless EXAR Corporation receives, in writing, assurances to its satisfaction that: (a) the risk of injury or damage has been minimized; (b) the user assumes all such risks; (c) potential liability of EXAR Corporation is adequately protected under the circumstances. Copyright 2009 EXAR Corporation Datasheet July 2009.Send your UART technical inquiry with technical details to hotline: ************************.Reproduction, in part or whole, without the prior written consent of EXAR Corporation is prohibited.2.2.4RS-485 mode jumpersThe following Table 6 jumper setting applies to the RS-485 mode:T ABLE 6: J UMPER S ETTINGS F OR RS-485 M ODEJ UMPERS L OCATIONF UNCTIONSC OMMENTSJP10TopSelect RTS or DTR direction control for TXJumper in 1&2 selects RTS based direction control for TXJumper in 2&3 selects DTR based direction control for TXJP11TopSelect direction control for RX and TX or always for RX Jumper in 1&2 selects common direction control for RX and TXJumper in 2&3 enables RX always JP12Top Selects power for RS-485 transceiver Not installed. Trace between pin 1 & 2.JP13JP14TopSelects half duplex or full duplex mode.Jumper in 1&2 selects half duplex mode Jumper in 2&3 selects full duplex mode3.0DRIVERS AND SUPPORTFor any questions about this evaluation board, software drivers or technical support, send an e-mail to ************************.。
BUAA_OS_2020_Lab1_Code_Review
BUAA_OS_2020_Lab1_Code_Review最近⼀个⽉已经做过了OS实验的内核启动和内存管理两个lab,也学习了OS理论课的相关知识。
然⽽在⾯对实验课给出的操作系统代码时仍然感到⽐较茫然,对于课下测试的要求也仍有些不知所措。
因此决定在此梳理⼀下操作系统实验的核⼼代码,顺便整理⼀下相关的知识点,以期对操作系统有⼀个更清晰的了解。
⾸先,Lab1的⽂件树如下:1 .2├── boot3│├── Makefile4│└── start.S5├── drivers6│├── gxconsole7││├── console.c8││├── dev_cons.h9││└── Makefile10│└── Makefile11├── gxemul12│├── elfinfo13│├── r300014│├── r3000_test15│└── test16├── include17│├── asm18││├── asm.h19││├── cp0regdef.h20││└── regdef.h21│├── asm-mips3k22││├── asm.h23││├── cp0regdef.h24││└── regdef.h25│├── env.h26│├── error.h27│├── kclock.h28│├── mmu.h29│├── pmap.h30│├── printf.h31│├── print.h32│├── queue.h33│├── sched.h34│├── stackframe.h35│├── trap.h36│└── types.h37├── include.mk38├── init39│├── init.c40│├── main.c41│└── Makefile42├── lib43│├── Makefile44│├── printBackUp45│├── print.c46│└── printf.c47├── Makefile48├── readelf49│├── kerelf.h50│├── main.c51│├── Makefile52│├── readelf.c53│├── testELF54│└── types.h55└── tools56└── scse0_3.ldsLab1⽂件树(已折叠)Makefile与Linker Script顶层就是⼀个Makefile和它引⽤的include⽂件,其定义了vmlinux虚拟机的编译选项和⼀些其他的命令,例如clean等。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验一HTML5
一、实验目的
1、掌握HTML5文件的基本结构;
2、掌握HTML5中新标记的用法;
3、掌握HTML5中的绘图方法。
二、实验要求
制作一个网站的登录页面与注册页面,网站题目自选,但要满足以下要求:
1、使用<audio>标记,使自己的演示页面有背景音乐;
2、使用Web form 2.0控件来制作注册表单;
3、使用CSS来美化页面;
4、使用Canvas来绘制系统标题。
三、实验步骤
1、安装支持HTML5的浏览器(例如chrome等)
2、使用记事本编写相应的HTML5页面;
3、注册页面中的表单使用web form 2.0 中的控件来实现;
4、使用JavaScript编写用于Canvas绘图的客户端脚本;
5、修改页面与JavaScript脚本直至获得正确的结果;
6、记录实验中遇到的各类问题并以及解决办法。
四、参考代码
参考HTML5部分的实例。
<div id="rad">
<span><input type="radio" value="Consumer" id="radio1"
name="radio1" checked/>用户</span>
</div>
<div id="rads">
<span><input type="radio" value="Controller" id="radio1"
name="radio1" />系统管理员</span>
</div>
<input type="text" placeholder="请输入用户名" id="u" name="username"
class="tex" />
<input type="password" placeholder="请输入您的密码" id="p"
name="password" class="pas" />
<div class="but">
<button id="btn" class="sub">登录</button>
</div>
<div class="butt"><input type="reset" class="sub" value="取消"/></div>
<canvas id="system_logo" width="800" height="200"></canvas>
<script>
var c=document.getElementById("system_logo");
var ctx=c.getContext("2d");
ctx.font="50px Verdana";
// 创建渐变
var gradient=ctx.createLinearGradient(0,0,c.width,0);
gradient.addColorStop("0.2","green");
gradient.addColorStop("0.8","yellow");
gradient.addColorStop("1.0","green");
ctx.strokeStyle=gradient;
ctx.lineWidth=3;
ctx.strokeText(" 欢迎使用车站售票系统",100,150);
</script>
五、实验结果
用canvas画的艺术字体MYSHOP做网站的logo
六、实验小结
本次实验的结果很明显与以前学过的知识相比尤其是canvas 的使用以后很有用,我会熟悉这些东西的使用。