【HDLBits 刷题 12】Circuits(8)Finite State Manchines 27-34

2023-11-02

目录

写在前面

Finite State Manchines

2014 q3c

m2014 q6b

m2014 q6c

m2014 q6

2012 q2fsm

2012 q2b

2013 q2afsm

2013 q2bfsm


写在前面

HDLBits 刷题来到了最为重要的一部分---有限状态机,都说 Verilog 设计的精髓就是状态机的设计,可见状态机设计的重要性,通过三十多道的状态机的练习,可以更加熟悉状态机设计的要点,通常都设计为三段式,这样设计的状态机层次清晰且易于设计,时序上更为易懂。以下的解题方法不一定为最佳解决方案,有更好的方法欢迎提出,共同学习,共同进步!

Finite State Manchines

2014 q3c

给定如下所示的状态分配表,实现逻辑函数 Y[0] 和 z。

module top_module (
    input        clk,
    input [2:0]  y,
    input        x,
    output       Y0,
    output       z
);

//状态申明
parameter  A  =  3'b000;
parameter  B  =  3'b001;
parameter  C  =  3'b010;
parameter  D  =  3'b011;
parameter  E  =  3'b100;

reg  [2:0]   state;


always @(*) begin
	case(y)
		A: begin
			if (x) begin
				state = B;
			end
			else begin
				state = A;
			end
		end
		B: begin
			if (x) begin
				state = E;
			end
			else begin
				state = B;
			end
		end
		C: begin
			if (x) begin
				state = B;
			end
			else begin
				state = C;
			end
		end
		D: begin
			if (x) begin
				state = C;
			end
			else begin
				state = B;
			end
		end
		E: begin
			if (x) begin
				state = E;
			end
			else begin
				state = D;
			end
		end
		default: begin
			state = A;
		end
	endcase
end

//状态机第三段,结果输出,组合逻辑
assign Y0 = state[0];
assign z = (y==D) || (y==E);

endmodule

m2014 q6b

考虑下面显示的状态机,它有一个输入 w 和一个输出 z

希望使用三个触发器和状态代码 y[3:1] = 000, 001, ..., 101 分别用于状态 A、B、...、F 来实现 FSM。显示此 FSM 的状态分配表。推导触发器 y[2] 的下一个状态表达式。只实现 y[2] 的下一个状态逻辑。

module top_module (
    input  [3:1]   y,
    input          w,
    output         Y2
);

//状态定义
parameter   A  =  3'b000;
parameter   B  =  3'b001;
parameter   C  =  3'b010;
parameter   D  =  3'b011;
parameter   E  =  3'b100;
parameter   F  =  3'b101;

reg  [3:1]   next_state;

always @(*) begin
	case(y[3:1])
		A: begin
			if (w) begin
				next_state = A;
			end
			else begin
				next_state = B;
			end
		end
		B: begin
			if (w) begin
				next_state = D;
			end
			else begin
				next_state = C;
			end
		end
		C: begin
			if (w) begin
				next_state = D;
			end
			else begin
				next_state = E;
			end
		end
		D: begin
			if (w) begin
				next_state = A;
			end
			else begin
				next_state = F;
			end
		end
		E: begin
			if (w) begin
				next_state = D;
			end
			else begin
				next_state = E;
			end
		end
		F: begin
			if (w) begin
				next_state = D;
			end
			else begin
				next_state = C;
			end
		end
		default: begin
			next_state = A;
		end
	endcase
end

assign Y2 = next_state[2];

endmodule

m2014 q6c

考虑下面显示的状态机,它有一个输入 w 和一个输出 z

对于此部分,假设一个单热代码分别与状态赋值 'y[6:1] = 000001, 000010, 000100, 001000, 010000, 100000,...,, 100000 一起使用。

为下一状态信号 Y2 和 Y4 编写逻辑表达式。(通过假设独热编码的检查来推导逻辑方程。测试平台将使用非独热输入进行测试,以确保您不会尝试执行更复杂的操作)。

module top_module (
    input  [6:1]    y,
    input           w,
    output          Y2,
    output          Y4
);

assign Y2 = ~w & y[1];
assign Y4 = (w&y[2]) | (w&y[3]) | (w&y[5]) | (w&y[6]); 

endmodule

m2014 q6

考虑下面显示的状态机,它有一个输入 w 和一个输出 z

module top_module (
    input      clk,
    input      reset,     // synchronous reset
    input      w,
    output     z
);

//状态申明
parameter  A  =  6'b000001;
parameter  B  =  6'b000010;
parameter  C  =  6'b000100;
parameter  D  =  6'b001000;
parameter  E  =  6'b010000;
parameter  F  =  6'b100000;

//定义现态和次态
reg  [5:0]    state;
reg  [5:0]    next_state;

//状态机第一段,状态初始化,时序逻辑非阻塞赋值
always @(posedge clk) begin
	if (reset) begin
		state <= A;
	end
	else begin
		state <= next_state;
	end
end

//状态机第二段,状态跳转,阻塞赋值
always @(*) begin
	next_state = state;
	case(state)
		A: begin
			if (w) begin
				next_state = A;
			end
			else begin
				next_state = B;
			end
		end
		B: begin
			if (w) begin
				next_state = D;
			end
			else begin
				next_state = C;
			end
		end
		C: begin
			if (w) begin
				next_state = D;
			end
			else begin
				next_state = E;
			end
		end
		D: begin
			if (w) begin
				next_state = A;
			end
			else begin
				next_state = F;
			end
		end
		E: begin
			if (w) begin
				next_state = D;
			end
			else begin
				next_state = E;
			end
		end
		F: begin
			if (w) begin
				next_state = D;
			end
			else begin
				next_state = C;
			end
		end
	endcase
end

//状态机第三段,结果输出,组合逻辑
assign z = (state==E | state==F);

endmodule

2012 q2fsm

编写表示此 FSM 的完整 Verilog 代码。对状态表和状态触发器使用单独的 always 块。描述 FSM 输出,称为 z,使用连续赋值语句或 always 块。

module top_module (
    input      clk,
    input      reset,   // Synchronous active-high reset
    input      w,
    output     z
);

//状态申明
parameter  A  =  6'b000001;
parameter  B  =  6'b000010;
parameter  C  =  6'b000100;
parameter  D  =  6'b001000;
parameter  E  =  6'b010000;
parameter  F  =  6'b100000;

//定义现态和次态
reg  [5:0]    state;
reg  [5:0]    next_state;

//状态机第一段,状态初始化,时序逻辑非阻塞赋值
always @(posedge clk) begin
	if (reset) begin
		state <= A;
	end
	else begin
		state <= next_state;
	end
end

//状态机第二段,状态跳转,阻塞赋值
always @(*) begin
	next_state = state;
	case(state)
		A: begin
			if (w) begin
				next_state = B;
			end
			else begin
				next_state = A;
			end
		end
		B: begin
			if (w) begin
				next_state = C;
			end
			else begin
				next_state = D;
			end
		end
		C: begin
			if (w) begin
				next_state = E;
			end
			else begin
				next_state = D;
			end
		end
		D: begin
			if (w) begin
				next_state = F;
			end
			else begin
				next_state = A;
			end
		end
		E: begin
			if (w) begin
				next_state = E;
			end
			else begin
				next_state = D;
			end
		end
		F: begin
			if (w) begin
				next_state = C;
			end
			else begin
				next_state = D;
			end
		end
		default: begin
			next_state = A;
		end
	endcase
end

//状态机第三段,结果输出,组合逻辑
assign z = (state==E | state==F);

endmodule

2012 q2b

假设一个独热代码与状态赋值 y[5:0] = 000001(A)、 000010(B)、 000100(C)、 001000(D)、 010000(E)、 100000(F)

为信号Y1编写一个逻辑表达式,它是状态触发器y[1]的输入。

为信号Y3编写一个逻辑表达式,它是状态触发器y[3]的输入。

(通过假设一个热编码的检查来推导逻辑方程。测试平台将使用非一个热输入进行测试,以确保您不会尝试执行更复杂的操作)。

2013 q2afsm

此 FSM 充当仲裁器电路,通过三个请求设备控制对某种类型资源的访问。每个设备通过设置信号 r[i] = 1 来请求资源,其中 r[i] 为 r[1]r[2] 或 r[3]。每个 r[i] 是 FSM 的输入信号,代表三个器件之一。只要没有请求,FSM 就会保持在状态 A 中。当发生一个或多个请求时,FSM 决定哪个设备接收使用资源的授权,并更改为将该设备的 g[i] 信号设置为 1 的状态。每个 g[i] 都是 FSM 的一个输出。有一个优先级系统,因为设备 1 的优先级高于设备 2,设备 3 的优先级最低。因此,例如,仅当设备 3 是 FSM 处于状态 A 时发出请求的唯一设备时,它才会收到授权。一旦设备 i 被 FSM 授予授权,只要其请求 r[i] = 1,该设备就会继续接收授权。

编写表示此 FSM 的完整 Verilog 代码。对状态表和状态触发器使用单独的 always 块,就像在讲座中所做的那样。描述 FSM 输出 g[i],使用连续赋值语句或 always 块。

module top_module (
    input          clk,
    input          resetn,    // active-low synchronous reset
    input  [3:1]   r,         // request
    output [3:1]   g          // grant
); 

//状态定义
parameter  A  =  4'b0001;
parameter  B  =  4'b0010;
parameter  C  =  4'b0100;
parameter  D  =  4'b1000;

//定义现态和次态
reg  [3:0]   state;
reg  [3:0]   next_state;

//状态机第一段,状态初始化,时序逻辑非阻塞赋值
always @(posedge clk) begin
	if (!resetn) begin
		state <= A;
	end
	else begin
		state <= next_state;
	end
end

//状态机第二段,状态跳转,非阻塞赋值
always @(*) begin
	next_state = state;
	case(state)
		A: begin
			if (r[1]) begin
				next_state = B;
			end
			else if (~r[1] & r[2]) begin
				next_state = C;
			end
			else if (~r[1] & ~r[2] & r[3]) begin
				next_state = D;
			end
			else begin
				next_state = A;
			end
		end
		B: begin
			if (~r[1]) begin
				next_state = A;
			end
			else begin
				next_state = B;
			end
		end
		C: begin
			if (~r[2]) begin
				next_state = A;
			end
			else begin
				next_state = C;
			end
		end
		D: begin
			if (~r[3]) begin
				next_state = A;
			end
			else begin
				next_state = D;
			end
		end
		default: begin
			next_state = A;
		end
	endcase
end

//状态机第三段,结果输出,组合逻辑
assign g[1] = state==B;
assign g[2] = state==C;
assign g[3] = state==D;

endmodule

2013 q2bfsm

考虑一个用于控制某种类型电机的有限状态机。FSM具有来自电机的输入xy,并产生控制电机的输出fg。还有一个称为clk的时钟输入和一个称为resetn的复位输入。

密克罗尼西亚联邦必须按如下方式工作。只要置位复位输入,FSM 就会保持开始状态,称为状态 A。当复位信号被解除置位时,在下一个时钟边沿之后,FSM必须将输出f设置为1,持续一个时钟周期。然后,FSM 必须监视 x 输入。当 x 在三个连续的时钟周期中生成值 1, 0, 1 时,应在下一个时钟周期中将 g 设置为 1。在保持 g = 1 的同时,FSM 必须监视 y 输入。如果 y 在最多两个时钟周期内具有值 1,则 FSM 应永久保持 g = 1(即,直到重置)。但是,如果 y 在两个时钟周期内未变为 1,则 FSM 应永久设置 g = 0(直到重置)。

module top_module (
    input         clk,
    input         resetn,    // active-low synchronous reset
    input         x,
    input         y,
    output        f,
    output        g
); 

//状态定义

parameter   START  =  9'b000000001;
parameter   OUT_F  =  9'b000000010;
parameter   X_1    =  9'b000000100;
parameter   X_2    =  9'b000001000;
parameter   X_3    =  9'b000010000;
parameter   OUT_G  =  9'b000100000;
parameter   G_1    =  9'b001000000;
parameter   WAIT   =  9'b010000000;
parameter   G_0    =  9'b100000000;

//现态和次态
reg  [8:0]   state;
reg  [8:0]   next_state;

//状态机第一段,状态初始化,时序逻辑非阻塞赋值
always @(posedge clk) begin
	if (!resetn) begin
		state <= START;
	end
	else begin
		state <= next_state;
	end
end

//状态机第二段,状态跳转,阻塞赋值
always @(*) begin
	next_state = state;
	case(state)
		START: begin
			next_state = OUT_F;
		end
		OUT_F: begin
			next_state = X_1;
		end
		X_1: begin
			if (x) begin
				next_state = X_2;
			end
			else begin
				next_state = X_1;
			end
		end
		X_2: begin
			if (x) begin
				next_state = X_2;
			end
			else begin
				next_state = X_3;
			end
		end
		X_3: begin
			if (x) begin
				next_state = OUT_G;
			end
			else begin
				next_state = X_1;
			end
		end
		OUT_G: begin
			if (y) begin
				next_state = G_1;
			end
			else begin
				next_state = WAIT;
			end
		end
		WAIT: begin
			if (y) begin
				next_state = G_1;
			end
			else begin
				next_state = G_0;
			end
		end
		G_1: begin
			next_state = G_1;
		end
		G_0: begin
			next_state = G_0;
		end
		default: begin
			next_state = START;
		end
	endcase
end

//状态机第三段,结果输出,组合逻辑
assign f = state==OUT_F;
assign g = (state==OUT_G) | (state==G_1) | (state==WAIT);

endmodule
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【HDLBits 刷题 12】Circuits(8)Finite State Manchines 27-34 的相关文章

  • Verilog 奇怪的仿真结果综合后

    我面临一个奇怪的问题 该代码适用于简单的 ALU 仅将感兴趣的代码粘贴到此处 always posedge clk or posedge rst begin if rst 1 begin mul valid shr 3 b000 end e
  • 如何使用触发器输出作为复位信号的输入

    我在柜台里放了 3D 触发器 一旦达到 5 101 我想将 FF 复位输入设置为高 使用或门 复位为低电平有效 这几乎可以工作 但是 当我最初运行程序时 触发器的 Q 输出都是未知的 因此 最初 或门的复位输入为低电平 但是 因为一开始 Q
  • 如何使用 Verilog 宏模拟 $display?

    我想创建一个具有多个参数的宏 就像 display 一样 我的代码看起来像这样 但它不起作用 define format macro A write s sformatf A 这就是我调用 format macro 的方式 format m
  • 【ZYNQ学习】PL第一课

    这节课讲什么 这节课的名字本来是想写为LED 但这一课里除了LED也有按键 又想换为GPIO控制 但关于PL的GPIO控制 不应该这么草率和简单 而且这一课有很多和ZYNQ或者PL关联性不强的东西要说 所以我写了删删了写改了好几遍 终于定为
  • 「Verilog学习笔记」游戏机计费程序

    专栏前言 本专栏的内容主要是记录本人学习Verilog过程中的一些知识点 刷题网站用的是牛客网 timescale 1ns 1ns module game count input rst n 异位复位信号 低电平有效 input clk 时
  • 「Verilog学习笔记」游戏机计费程序

    专栏前言 本专栏的内容主要是记录本人学习Verilog过程中的一些知识点 刷题网站用的是牛客网 timescale 1ns 1ns module game count input rst n 异位复位信号 低电平有效 input clk 时
  • 使用forever和always语句

    以下两个代码都会生成一个时钟 我需要知道除了时钟生成之外 永远循环是否还有其他用途 我只在时钟一代中遇到过永远 如果只是为了这个目的 那岂不是毫无用处 initial begin clk 0 forever begin 5 clk clk
  • MINI-UTDE 10 BASE-T 集成控制器

    MINI UTDE 10 BASE T 集成控制器 MINI UTDE 10 BASE T 拥有多达三个本地I O板和远程I OS总线通信 为用户提供了一系列生产单元功能的单一控制点 包括诸如夹头 反馈器和辅助机器等外围生产设备 支持所有主
  • 将枚举转换为逻辑

    考虑以下模块声明 module DFF d q CLK RESET parameter W 2 input W 1 0 d input CLK input RESET output logic W 1 0 q endmodule 当 d 和
  • 在逻辑中使用单端端口期待差异对?

    我使用的逻辑被设置为需要一个差分对时钟端口 然而 对于一个特定的应用程序 我只能输入一个单端时钟 由于硬件限制 修改逻辑以接受单端时钟不是一种选择 因为涉及许多文件和代码行 有没有办法可以输入单端端口并以某种方式将其馈送到模块的差异对端口
  • DSCA190V 57310001-PK

    DSCA190V 57310001 PK DSCA190V 57310001 PK 具有两个可编程继电器功能 并安装在坚固的 XP 外壳中 DSCA190V 57310001 PK 即可使用 只需最少的最终用户校准 DSCA190V 573
  • 如何使用 Verilog 和 FPGA 计算一系列组合电路的传播延迟?

    我是 FPGA 和 HDL 的新手 但我正在尝试学习 但无法弄清楚这一点 如何通过多个级别的组合逻辑来计算或估计传播延迟 我可以仅凭经验确定这一点 还是可以在设计时弄清楚 在这种情况下 我使用 FPGA 来实现奇偶校验设置和检查电路 该电路
  • verilog $readmemh 对于 50x50 像素 RGB 图像花费太多时间

    我正在尝试编译用于 FPGA 编程的 verilog 代码 我将在其中实现 VGA 应用程序 我使用 QuartusII 和 Altera 我正在尝试正确使用 readmemh 来逐像素获取图片 现在 我已经使用 matlab 将图片转换为
  • Verilog 中的大括号是什么意思?

    我很难理解 Verilog 中的以下语法 input 15 0 a 16 bit input output 31 0 result 32 bit output assign result 16 a 15 a 15 0 我知道assign语句
  • 在测试台中显示信号名称/文字

    是否可以在 Verilog 中引用 显示信号的名称 文字 对于在 Verilog 测试台中创建通用信号检查功能来说 这将是一个有用的功能 我知道使用 display 时 m 将打印信号的范围 是否有显示信号名称的等效项 在 Verilog
  • 如何在 Verilog 中推断 Block RAM

    我在一个项目中遇到了一个非常具体的问题 这个问题已经困扰我好几天了 我有以下 RAM 模块的 Verilog 代码 module RAM param clk addr read write clear data in data out pa
  • reg 声明中的位顺序

    如果我需要使用 4 个 8 位数字 我会声明以下 reg reg 7 0 numbers 3 0 我对第一个和第二个声明 7 0 和 3 0 之间的区别感到很困惑 他们应该按什么顺序来 第一个是保留数字的大小 而第二个是保留数字的数量 还是
  • Verilog 双向握手示例

    我正在完成一个项目 要求是处理器内部功能单元之间的双向握手 我知道它是什么 但是有没有任何 标准 或一个简单的例子 我唯一能想到的就是两个单元之间 当它们之间有一条数据线并且当 X 发送到 Y 时 会给出一个单独的 发送 信号 当 Y 接收
  • 学习 Verilog 的资源 [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我是 Verilog 新手 有人可以推荐学习资源 书籍 视频 博客或任何他们有良好个人经验并帮助他们更
  • 仿真输出全为零

    我的设计模块和测试平台代码已编译 但是 当我模拟时 我没有得到正确的输出 谁能告诉我我的代码哪里出了问题 这是测试平台的代码 module testbench reg 511 0 FROM LS reg CLK reg 63 0 TO IF

随机推荐

  • 聊聊软件测试的那些事

    笔者入行软件测试行业也有两年左右的时间了 这两年中 在工作中也学习 积累了一些知识 但是每每谈及理论 又好像怎么也说不清一些东西的定义 其实很多人认为 知识学习了会用就可以 但软件测试的道路上 打好基础是很重要的 有些东西你知道但无法清晰表
  • 【leetcode每日刷题】214. 最短回文串

    给定一个字符串 s 你可以通过在字符串前面添加字符将其转换为回文串 找到并返回可以用这种方式转换的最短回文串 示例 1 输入 aacecaaa 输出 aaacecaaa 示例 2 输入 abcd 输出 dcbabcd 解法 KMP算法 假设
  • BUCK电路输入电容计算

    输入电容决定了输入电压的纹波 对于Buck变换器的输入端来说 输入电流是不连续的 在开关管导通的时候会有极大的阶跃电流 芯 片 BUCK控制器 时 间 2021 04 27 说 明 适用于稳态和动态负载 在Buck变换器的输入电压最小时 满
  • Qt中自定义结构体的使用

    Qt的自定义结构体Qt是不认识的 下面就直接列出使用方法 第一步 建议把所需的结构体放在一个单独头文件中 防止头文件相互包含 gg 而且还有条件编译的头自动生成 直接向工作添加C 头文件 自己把名字取好就行了 注意 这样会在 pro中 HE
  • 【JavaScript高级】内存管理与闭包:垃圾回收GC、闭包定义、访问和执行过程、内存泄漏

    文章目录 内存管理 垃圾回收GC 引用计数 Reference counting 标记清除 mark Sweep 闭包 定义 闭包的访问和执行过程 内存泄漏 浏览器的优化 参考 内存管理 所有编程语言 在代码的执行过程中都需要给它分配内存
  • 【python】多进程multiprocessing模块、进程池的使用

    multiprocessing中的多进程Process的基本使用 在python中 进程是通过 multiprocessing 多进程模块来管理的 multiprocessing模块提供了一个Process类来创建进程对象 创建子进程 Pr
  • 【使用 BERT 的问答系统】第 2 章 :用于自然语言处理的神经网络

    大家好 我是Sonhhxg 柒 希望你看完之后 能对你有所帮助 不足请指正 共同学习交流 个人主页 Sonhhxg 柒的博客 CSDN博客 欢迎各位 点赞 收藏 留言 系列专栏 机器学习 ML 自然语言处理 NLP 深度学习 DL fore
  • linux脚本定时调用存储过程,LINUX定时执行SHELL脚本实现DB2对存储过程的调用

    需求分析 本地化零件待办数量对应用户统计存入数据表 定时更新 使用linux的crontab定时任务来完成 1 编写存储过程 设置指向的数据库 SET SCHEMA DB2INST1 设置当前的路径 SET CURRENT PATH SYS
  • Java概述

    文章目录 一 Java简介 1 1 Java版本 1 2 Java特点 二 Java运行机制 2 1 Java运行过程 2 2 JDK JRE JVM 三 Java开发环境 3 1 下载 安装JDK 3 2 配置环境变量 四 Java开发规
  • R语言实战-第八章回归

    第八章 回归 简单线性回归 用到基础包中的women数据集 研究身高与体重的关系 head women fit lt lm weight height data women summary fit fitted fit 列出拟合模型的预测值
  • 【深度学习】RetinaFace人脸检测简要介绍

    介绍 Insight Face在2019年提出的最新人脸检测模型 原模型使用了deformable convolution和dense regression loss 当时在 WiderFace 数据集上达到SOTA 基网络有三种结构 基于
  • Java使用base64格式上传图片

    使用蚂蚁金服ui直接返回的是base64格式的图片 通过post方式进行请求 然后在控制器中以字符串的形式进行接收 接收之后进行转图片存储处理 只保存路径到数据库中 base64字节转图片代码 package com utils impor
  • qsort函数实现对任意数据的排序

    学会使用qsort函数排序 qsort介绍 compare函数介绍 不同的数据类型相应的比较函数定义 对数组元素为数字的 数组元素为字符时比较函数定义 结构体数据比较函数定义 qsort介绍 qsort函数是一个库函数 它的作用是对数据进行
  • 14.1 矩阵幂级数

    文章目录 矩阵的幂 矩阵幂的极限 谱半径与范数 矩阵幂级数 矩阵的幂 现在讨论下矩阵的n次方的问题 比如下面的矩阵 A 1
  • 医学图像配准MATLAB实现

    医学图像配准MATLAB实现 医学图像处理在临床诊断 肿瘤治疗和医学信息融合等领域中起着至关重要的作用 医学图像配准作为医学图像处理中的重要研究方向之一 其目的是将通过不同机器或技术获取到的不同角度或时间段的医学图像进行对比 以便医生或研究
  • 七种排序算法

    排序算法主要分为三大类 分别是插入排序 选择排序和交换排序 其中插入排序包括直接插入排序和希尔排序 选择排序包括直接选择排序和堆排序 交换排序包括冒泡排序 快速排序和归并排序 各种排序算法的时间复杂度和空间复杂度如下 一 插入排序 1 直接
  • android之fragment与fragment、activity与activity、fragment与activity之间的通信

    Broadcast广播接受者可以实现所有通信 activity与activity之间的通信 当下一个activity关闭时传值给上一个activity 主要用得到startActivityForResult和onActivityResult
  • epoll_create和epoll_create1

    名字 epoll create epoll create1 创建epoll文件描述符 摘要 include
  • 创建自定义类的对象数组

    源代码 public class Student static int number 0 静态变量的访问可以不用创建类的实例就可就可使用 lt 类名 属性 gt 的方法访问 String name 学生姓名 Student 无参构造函数 S
  • 【HDLBits 刷题 12】Circuits(8)Finite State Manchines 27-34

    目录 写在前面 Finite State Manchines 2014 q3c m2014 q6b m2014 q6c m2014 q6 2012 q2fsm 2012 q2b 2013 q2afsm 2013 q2bfsm 写在前面 HD