【HDLBits 刷题 5】Circuits(1)Combinational Logic

2023-11-10

目录

写在前面

Combinational Logic

Basic Gates

Wire

GND

NOR

Another gate

Two gates

More logic gates

7420 chips

Truth table

Two bit equality

Simple circuit A

Simple circuit B

Combine circuits A and B

Ring or vibrate

Thermostat

3 bit population count

Gates and vectors

Even longer vectors

Multiplexers

2 to 1 mux

2 to 1 bus mux

9 to 1 mux

256 to 1 mux

256 to 1 4bit mux

Arithmetic Circuits

half addr

full addr

3 bit bin addr

addr

signed add over

100 bit bin addr

4 digit BCD addr

Karnaugh Map to Circuit

kamp1

kamp2

kamp3

kamp4

min_SOP

kmap5

kmap6

kmap imple


写在前面

本篇博客对 Circuits 部分的组合逻辑前两节做答案和部分解析,一些比较简单的题目就直接给出答案,有些难度再稍作讲解,每道题的答案不一定唯一,可以有多种解决方案,欢迎共同讨论。

Combinational Logic

Basic Gates

Wire

简单的逻辑实现

module top_module (
    input   in,
    output  out
);
assign out = in;
endmodule

GND

对输出直接接地,言外之意就是将输出置0

module top_module (
    output   out
);
assign out = 1'b0;
endmodule

NOR

实现或非门

module top_module (
    input   in1,
    input   in2,
    output  out
);
assign out = !(in1 | in2);

endmodule

Another gate

module top_module (
    input   in1,
    input   in2,
    output  out
);
assign out = (in1 & (~in2));
endmodule

Two gates

连续的异或操作,中间加入了一个非门

module top_module (
    input   in1,
    input   in2,
    input   in3,
    output  out
);
assign out = (~(in1 ^ in2)) ^ in3;

endmodule

More logic gates

实现各种逻辑门

module top_module( 
    input   a, b,
    output  out_and,
    output  out_or,
    output  out_xor,
    output  out_nand,
    output  out_nor,
    output  out_xnor,
    output  out_anotb
);

assign out_and = a & b;
assign out_or = a | b;
assign out_xor = a ^ b;
assign out_nand = ~(a & b);
assign out_nor = ~(a | b);
assign out_xnor = ~(a ^ b);
assign out_anotb = a & (~b);

endmodule

7420 chips

实现 7420 芯片的功能,简单的与非门

module top_module ( 
    input   p1a, p1b, p1c, p1d,
    output  p1y,
    input   p2a, p2b, p2c, p2d,
    output  p2y 
);

assign p1y = ~(p1a & p1b & p1c & p1d);
assign p2y = ~(p2a & p2b & p2c & p2d);

endmodule

Truth table

对真值表进行逻辑实现,这个答案不唯一。

module top_module( 
    input   x3,
    input   x2,
    input   x1,
    output  f   
);
assign f = x3?x1:x2;

endmodule

Two bit equality

module top_module ( 
	input [1:0]  A, 
	input [1:0]  B, 
	output       z 
); 
assign z = (A == B)? 1:0;

endmodule

Simple circuit A

module top_module (
	input   x, 
	input   y, 
	output  z
);
assign z = (x ^ y) & x;

endmodule

Simple circuit B

module top_module ( 
	input   x, 
	input   y, 
	output  z 
);
assign z = ~(x ^ y);

endmodule

Combine circuits A and B

联合前面的电路 A 和 B 的功能,但也可以直接逻辑实现,不必调用之前的模块。

module top_module (
	input   x, 
	input   y, 
	output  z
);
wire    a1,a2,b1,b2;
wire    sum1,sum2;

assign a1 = (x ^ y) & x;
assign b1 = ~(x ^ y);
assign a2 = (x ^ y) & x;
assign b2 = ~(x ^ y);

assign sum1 = a1 | b1;
assign sum2 = a2 & b2;

assign z = sum1 ^ sum2;

endmodule

Ring or vibrate

设计一个电路来控制手机的振铃器和振动电机。每当电话需要从来电响铃,您的电路必须打开铃声或电机,但不能同时打开两者。如果手机处于振动模式,请打开电机。否则,请打开铃声。

input ring 

output ringer = 1

output motor = 1

input vibrate_mode = 1

module top_module (
    input    ring,
    input    vibrate_mode,
    output   ringer,      
    output   motor         
);

assign ringer = ((ring == 1'b1) && (vibrate_mode == 1'b0))? 1'b1:1'b0;
assign motor = ((vibrate_mode ==1'b1) && (ring == 1'b1))? 1'b1:1'b0;
    

Thermostat

加热/冷却恒温器控制加热器(冬季)和空调(夏季)。实现一个电路,该电路将根据需要打开和关闭加热器,空调和鼓风机风扇。

恒温器可以处于以下两种模式之一:加热和冷却。在加热模式下,当加热器太冷时打开,但不要使用空调。在冷却模式下,当空调太热时打开,但不要打开加热器。当加热器或空调打开时,也要打开风扇以循环空气。此外,用户还可以要求风扇打开,即使加热器和空调关闭。

mode = 1 mode = 0 too_cold = 1 too_hot = 1 fan_on = 1

尝试仅使用语句,以查看是否可以将问题描述转换为逻辑门的集合。

module top_module (
    input    too_cold,
    input    too_hot,
    input    mode,
    input    fan_on,
    output   heater,
    output   aircon,
    output   fan
); 

assign heater = too_cold & mode;
assign aircon = too_hot & ~mode;
assign fan = fan_on | heater | aircon;

endmodule

3 bit population count

“总体计数”电路对输入向量中的'1'的数量进行计数。为 3 位输入矢量构建总体计数电路。

逻辑实现嵌套。

module top_module( 
    input  [2:0]  in,
    output [1:0]  out 
);

assign out = (in=='d1 | in=='d2 | in=='d4)?'d1:((in=='d3 | in=='d5 | in=='d6)?'d2:((~in)?'d0:'d3));

endmodule

Gates and vectors

在 [3:0] 中,将获得一个四位输入向量。我们想知道每个位与其邻位间的一些关系:

  • out_both:此输出向量的每个位都应指示相应的输入位及其左侧(较高索引)是否为“1”。例如,out_both[2]应该指示in[2]和in[3]是否都是1。由于in[3]的左边没有邻位,所以我们不需要知道out_both[3]。
  • out_any:此输出向量的每个位都应指示任何相应的输入位及其右侧是否为“1”。例如,out_any[2]应指示[2]或[1]中是否为1。由于 in[0] 没有右边数,所以我们不需要知道out_any[0]。
  • out_different:此输出向量的每个位都应指示相应的输入位是否与其左侧不同。例如,out_different[2]应指示 in[2] 是否与 in[3] 不同。对于这部分,将向量视为环绕,因此在[3]中左邻位在[0]中。
module top_module( 
    input   [3:0]   in,
    output  [2:0]   out_both,
    output  [3:1]   out_any,
    output  [3:0]   out_different 
);
assign   out_both[0]        =   (in[0] & in[1]);
assign   out_both[1]        =   (in[1] & in[2]);
assign   out_both[2]        =   (in[2] & in[3]);
assign   out_any[1]         =   (in[1] | in[0]);
assign   out_any[2]         =   (in[2] | in[1]);
assign   out_any[3]         =   (in[3] | in[2]);
assign   out_different[0]   =   (in[0] != in[1]);
assign   out_different[1]   =   (in[1] != in[2]);
assign   out_different[2]   =   (in[2] != in[3]);
assign   out_different[3]   =   (in[3] != in[0]);

endmodule

Even longer vectors

和上题类似

module top_module( 
    input  [99:0]   in,
    output [98:0]   out_both,
    output [99:1]   out_any,
    output [99:0]   out_different 
);

assign out_both[98:0]      = in[99:1] & in[98:0];
assign out_any[99:1]       = in[99:1] | in[98:0];
assign out_different[98:0] = in[98:0] ^ in[99:1];
assign out_different[99]   = in[99] ^ in[0];

endmodule

Multiplexers

2 to 1 mux

创建一个 1 位宽的 2 对 1 多路复用器。当 sel=0 时,选择a。当 sel=1 时,选择 b。

module top_module( 
    input   a, b, sel,
    output  out 
); 
assign out = sel?b:a;

endmodule

2 to 1 bus mux

创建一个 100 位宽的 2 对 1 多路复用器。当 sel=0 时,选择a。当 sel=1 时,选择 b。

module top_module( 
    input  [99:0]  a, b,
    input          sel,
    output [99:0]  out 
);
assign out = sel?b:a;

endmodule

9 to 1 mux

创建 16 位宽、9 对 1 多路复用器。sel=0 选择 a,sel=1 选择 b,依此类推。对于未使用的情况(sel=9 到 15),请将所有输出位设置为“1”。

module top_module( 
    input  [15:0]  a, b, c, d, e, f, g, h, i,
    input  [3:0]   sel,
    output [15:0]  out 
);
assign out = (sel=='d0)?a:((sel=='d1)?b:((sel=='d2)?c:((sel=='d3)?d:((sel=='d4)?e:((sel=='d5)?f:((sel=='d6)?g:((sel=='d7)?h:((sel=='d8)?i:16'hffff))))))));

endmodule

256 to 1 mux

创建 16 位宽、9 对 1 多路复用器。sel=0 选择 a,sel=1 选择 b,依此类推。对于未使用的情况(sel=9 到 15),请将所有输出位设置为“1”。

module top_module( 
    input  [255:0] in,
    input  [7:0]   sel,
    output         out 
);
assign out = in[sel];

endmodule

256 to 1 4bit mux

创建 16 位宽、9 对 1 多路复用器。sel=0 选择 a,sel=1 选择 b,依此类推。对于未使用的情况(sel=9 到 15),请将所有输出位设置为“1”。

module top_module( 
    input  [1023:0]  in,
    input  [7:0]     sel,
    output [3:0]     out 
);
assign out = in[sel*4+3-:4];

endmodule

Arithmetic Circuits

half addr

创建一个半加法器。半加法器添加两个位(无残留),并产生总和和并执行。

module top_module (
    input  [7:0]  a,
    input  [7:0]  b,
    output [7:0]  s,
    output        overflow
); 
 
assign s = a + b;
assign overflow = (~a[7] & ~b[7] & s[7]) | (a[7] & b[7] & ~s[7]);

endmodule

full addr

创建完整添加器。一个完整的加法器添加三个位,并产生一个总和并执行。

module top_module( 
    input   a, b, cin,
    output  cout, sum 
);
assign {cout,sum} = a + b + cin;
endmodule

3 bit bin addr

创建3个实例以创建3位二进制纹波携带加法器。加法器将两个3位数字和一个随身数字相加,以生成3位求和并执行。从纹波携带加法器中的每个完整加法器输出执行。cout[2] 是最后一个完整加法器的最终执行。

module top_module( 
    input  [2:0]  a, b,
    input         cin,
    output [2:0]  cout,
    output [2:0]  sum 
);
assign {cout[0],sum[0]} = a[0] + b[0] + cin;
assign {cout[1],sum[1]} = a[1] + b[1] + cout[0];
assign {cout[2],sum[2]} = a[2] + b[2] + cout[1];

endmodule

addr

做行进波累加器,全加器

module top_module (
    input  [3:0]  x,
    input  [3:0]  y, 
    output [4:0]  sum
);

wire    cin1,cin2,cin3;

assign {cin1,sum[0]} = x[0] + y[0];
assign {cin2,sum[1]} = x[1] + y[1] + cin1;
assign {cin3,sum[2]} = x[2] + y[2] + cin2;
assign {sum[4],sum[3]} = x[3] + y[3] + cin3;

endmodule

signed add over

假设有两个 8 位 2 的补码数,a[7:0] 和 b[7:0]。这些数字相加产生s[7:0]。还要计算是否发生了(有符号)溢出。两个正数相加符号位变成了1表示溢出,两个负数相加符号位变成了0表示溢出。

module top_module (
    input  [7:0]  a,
    input  [7:0]  b,
    output [7:0]  s,
    output        overflow
); 
 
assign s = a + b;
assign overflow = (~a[7] & ~b[7] & s[7]) | (a[7] & b[7] & ~s[7]);

endmodule

100 bit bin addr

创建 100 位二进制加法器。加法器将两个 100 位数字和进位相加,以产生 100 位总和。

module top_module( 
    input  [99:0]  a, b,
    input          cin,
    output         cout,
    output [99:0]  sum 
);
assign {cout,sum} = a+b+cin;

endmodule

4 digit BCD addr

实例化 4 个bcd_fadd模块以创建 4 位 BCD 纹波携带加法器。加法器应添加两个 4 位 BCD 数字(打包成 16 位向量)和进位值,以生成 4 位总和并执行。

module top_module ( 
    input  [15:0]  a, b,
    input          cin,
    output         cout,
    output [15:0]  sum 
);

wire     cin1,cin2,cin3;

bcd_fadd bcd_fadd_inst1(
	.a    (a[3:0]),
	.b    (b[3:0]),
	.cin  (cin),
	.cout (cin1),
	.sum  (sum[3:0])
	);

bcd_fadd bcd_fadd_inst2(
	.a    (a[7:4]),
	.b    (b[7:4]),
	.cin  (cin1),
	.cout (cin2),
	.sum  (sum[7:4])
	);

bcd_fadd bcd_fadd_inst3(
	.a    (a[11:8]),
	.b    (b[11:8]),
	.cin  (cin2),
	.cout (cin3),
	.sum  (sum[11:8])
	);

bcd_fadd bcd_fadd_inst4(
	.a    (a[15:12]),
	.b    (b[15:12]),
	.cin  (cin3),
	.cout (cout),
	.sum  (sum[15:12])
	);

endmodule

Karnaugh Map to Circuit

kamp1

根据卡诺图得出逻辑实现

module top_module(
    input   a,
    input   b,
    input   c,
    output  out  
); 
assign out = ((~a)&(~b)&(~c))?'d0:'d1;

endmodule

kamp2

根据卡诺图得出逻辑实现

module top_module(
    input   a,
    input   b,
    input   c,
    input   d,
    output  out  
);

assign out = (a&~b&c&d)|(~a&b&~c&~d)|(~a&c&~d)|(b&c&d)|(~b&~c); 

endmodule

kamp3

根据卡诺图得出逻辑实现

module top_module(
    input   a,
    input   b,
    input   c,
    input   d,
    output  out  
);

assign out = (a&~c&~d)|(~b&c)|(a&b&c);
endmodule

kamp4

根据卡诺图得出逻辑实现

module top_module(
    input   a,
    input   b,
    input   c,
    input   d,
    output  out  
);

assign out = (~a&b&~c&~d)|(a&~b&~c&~d)|(~a&~b&~c&d)|(a&b&~c&d)|(~a&b&c&d)|(a&~b&c&d)|(~a&~b&c&~d)|(a&b&c&~d);
endmodule

min_SOP

具有四个输入(a,b,c,d)的单输出数字系统在输入端出现2、7或15时生成逻辑-1,当0、1、4、5、6、9、10、13或14出现时,生成逻辑-0。数字 3、8、11 和 12 的输入条件在此系统中永远不会出现。例如,7 对应于分别设置为 0,1,1,1 的 a,b,c,d。确定最小 SOP 形式的输出out_sop,以及最小 POS 格式的输出out_pos。

SOP: sum of product
在卡诺图中标定1的为正,0为反,先乘最后相加

POS: product of sum
在卡诺图中标定1的为反,0为正,先加最后相乘再取反

module top_module (
    input    a,
    input    b,
    input    c,
    input    d,
    output   out_sop,
    output   out_pos
); 
assign out_sop = (~a&~b*c) | (c&d);
assign out_pos = ~((a|b|~c) & (~c|~d));

endmodule

kmap5

根据卡诺图得出逻辑实现

module top_module (
    input [4:1]  x, 
    output       f 
);
assign f = (~x[1]&x[3]) | (x[1]&x[2]&~x[3]);

endmodule

kmap6

根据卡诺图得出逻辑实现

module top_module (
    input [4:1]  x, 
    output       f 
);
assign f = (~x[1]&x[3]) | (x[1]&~x[2]&~x[4]) | (x[1]&x[2]&x[3]&x[4]) | (~x[1]&~x[2]&~x[3]&~x[4]);

endmodule

kmap imple

对于下面的Karnaugh图,使用一个4对1多路复用器和尽可能多的2对1多路复用器来提供电路实现,但使用尽可能少。您不得使用任何其他逻辑门,必须使用 a 和 b 作为多路复用器选择器输入,如下面的 4 对 1 多路复用器所示。

module top_module (
    input         c,
    input         d,
    output [3:0]  mux_in
); 
assign mux_in[0] = c | d;
assign mux_in[1] = 'd0;
assign mux_in[2] = ~d;
assign mux_in[3] = c & d;
endmodule
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【HDLBits 刷题 5】Circuits(1)Combinational Logic 的相关文章

  • 【FMC141】基于VITA57.4标准的4通道2.8GSPS 16位DA播放子卡(2片DAC39J84)

    FMC141是一款基于VITA57 4标准的4通道2 8GSPS 2 5GSPS 1 6GSPS采样率16位DA播放FMC子卡 该板卡为FMC 标准 符合VITA57 4与VITA57 1规范 16通道的JESD204B接口通过FMC 连接
  • 如何使用 Verilog 宏模拟 $display?

    我想创建一个具有多个参数的宏 就像 display 一样 我的代码看起来像这样 但它不起作用 define format macro A write s sformatf A 这就是我调用 format macro 的方式 format m
  • Verilog、FPGA、统一寄存器的使用

    我有一个问题 关于我正在开发的 AGC SPI 控制器在我看来奇怪的行为 它是用 Verilog 完成的 针对的是 Xilinx Spartan 3e FPGA 该控制器是一个依赖外部输入来启动的 FSM FSM的状态存储在状态寄存器它没有
  • Verilog HDL ?操作员

    什么是 用 Verilog 做什么 例如 以下命令是什么意思 input first din input 7 0 din output 127 0 parity reg 127 0 parity wire 7 0 feedback assi
  • 简单赋值时不输出期望值

    当我将一些值分配给具有四位的变量时 当我简单地输出该值时 我会得到意想不到的结果 我以前从未见过这个 想知道我是否在语法上做错了什么 module main reg 3 0 x initial begin monitor b x x 001
  • Vivado 比特流消息:违反规​​则 (LUTLP-1) 组合循环

    我在串流时遇到问题 该项目旨在创建一个占空比为 1 2 的时钟 综合和实现过程中没有任何问题 我尝试了几种方法来解决它 但他们的表现并不好 module clock div clk clk out input clk output reg
  • EDAplayground 中不显示时钟波形

    当尝试在 EDA Playground 中显示时钟波形时 出现错误 执行中断或达到最大运行时间 如何显示波形 EDA Playground 上的代码 module test reg clk initial begin dumpfile du
  • 硬核 | 从零制作一个激光雷达需要多久?

    编辑 ADS智库 点击下方 卡片 关注 自动驾驶之心 公众号 ADAS巨卷干货 即可获取 点击进入 自动驾驶之心 硬件交流 技术交流群 本文只做学术分享 如有侵权 联系删文 激光雷达 LiDAR 是激光探测及测距系统的简称 目前广泛应用在无
  • 串口通信知识点总结

    串口是串行接口 serial port 的简称 也称为串行通信接口或COM接口 串口通信是指采用串行通信协议 serial communication 在一条信号线上将数据一个比特一个比特地逐位进行传输的通信模式 串口按电气标准及协议来划分
  • Matlab图像处理系列——图像复原之噪声模型仿真

    微信公众号上线 搜索公众号 小灰灰的FPGA 关注可获取相关源码 定期更新有关FPGA的项目以及开源项目源码 包括但不限于各类检测芯片驱动 低速接口驱动 高速接口驱动 数据信号处理 图像处理以及AXI总线等 本节目录 一 图像复原的模型 二
  • DSCA190V 57310001-PK

    DSCA190V 57310001 PK DSCA190V 57310001 PK 具有两个可编程继电器功能 并安装在坚固的 XP 外壳中 DSCA190V 57310001 PK 即可使用 只需最少的最终用户校准 DSCA190V 573
  • 从测试台访问 uvm_config_db 的最佳方式?

    我想在我的顶级测试平台中创建一个时钟 其周期可以通过测试进行控制 我所做的是将周期设置到 uvm config db 中并将其返回到测试台中 我必须输入 1 以确保构建阶段已完成 否则 get 返回错误值 module testbench
  • 在verilog中将wire值转换为整数

    我想将电线中的数据转换为整数 例如 wire 2 0 w 3 b101 我想要一个将其转换为 5 并将其存储在整数中的方法 我怎样才能以比这更好的方式做到这一点 j 1 for i 0 i lt 2 i i 1 begin a a w i
  • if 语句导致 Verilog 中的锁存推断?

    我正在编写用于合成算法的 Verilog 代码 我对哪些情况可能导致推断锁存器有点困惑 下面是这样的一段代码 虽然它在模拟中工作得很好 但我担心它可能会导致硬件问题 always b1 or b2 b1 map b2 map m1 map
  • 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 端口映射

    我有一个很长的端口映射 我想在其中替换一堆 SignalName i with SignalName SignalName i 我想我可以用正则表达式轻松地做到这一点 但我无法弄清楚如何做到这一点 有任何想法吗 假设 SignalData
  • 具有内部赋值延迟的阻塞和非阻塞语句之间的区别

    以下 2 个 verilog 代码片段有什么区别 1 always in out 5 in AND 2 always in out lt 5 in 考虑到always块中不存在其他行 输出会有什么不同吗 问题参考幻灯片 16 参见 o5 和
  • Verilog 双向握手示例

    我正在完成一个项目 要求是处理器内部功能单元之间的双向握手 我知道它是什么 但是有没有任何 标准 或一个简单的例子 我唯一能想到的就是两个单元之间 当它们之间有一条数据线并且当 X 发送到 Y 时 会给出一个单独的 发送 信号 当 Y 接收
  • 如何在 icarus verilog 中包含文件?

    我知道基本的 include filename v 命令 但是 我试图包含另一个文件夹中的模块 现在 该模块还包括同一文件夹中存在的其他模块 但是 当我尝试在最顶层运行该模块时 出现错误 C Users Dell Desktop MIPS
  • 学习 Verilog 的资源 [关闭]

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

随机推荐

  • Python数据可视化matplotlib.pyplot的使用

    1 生成数据 安装matplotlib windows cmd中 pip install matplotlib 在Python环境下 使用import matplotlib检测是否安装成功 不报错就是安装成功 重启写py的工具就可以进行使用
  • 2020东京奥运会奖牌排行--数据可视化

    爬取数据1 1 数据来源 https 2020 cctv com medal list index shtml 数据为下面图片的表格数据 2 具体代码 2 1需要提前下载好的pip install 库名 from selenium impo
  • Windows 下 VSCode 使用 SSH 连接报 Bad owner or permissions on C:\\Users\\Administrator/.ssh/config 错误问题解决

    Windows 下 VSCode 使用 SSH 连接报 Bad owner or permissions on C Users Administrator ssh config 错误问题解决 vscode ssh 链接报错情况 解决方法 v
  • JAVA环境变量配置方法(Windows)

    编写一个JAVA程序后 如果想让自己编写的代码可以正常运行 我们便需要对它进行编译和运行 而Java环境变量的配置就显得尤为重要 本篇文章 我们来谈一谈关于Java环境变量配置的一些方法 目录 方法一 方法二 方法三 方法一 1 右击 我的
  • ARP协议

    什么是ARP 地址解析协议 即ARP Address Resolution Protocol 是根据IP地址获取物理地址的一个TCP IP协议 主机发送信息时将包含目标IP地址的ARP请求广播到局域网络上的所有主机 并接收返回消息 以此确定
  • vue 字符串、数组之间的相互转换

    1 字符串转数组 str split 以分号拆分字符串 2 数组转字符串 arr join 把数组项拼接成字符串 并以分号隔开 默认情况下是以逗号隔开
  • Linux系统迁移(同一台电脑),重建UEFI启动文件

    电脑型号 hp 暗影精灵5 Air 显卡 RTX 2060 CPU i7 9750H 硬盘 500G固态 1T固态 启动方式 UEFI 操作系统 Ubuntu16 04 之前安装Ubuntu的时候给Ubuntu系统分配的空间太小了 安装新硬
  • 函数调用时的堆栈变化(实例)

    函数调用时的堆栈变化 关于函数调用是的堆栈变化 在网上找到的资料大都是一些配图文字等 理解起来尚有些困难 不过建议大家还是先了解一下基本的原理 下面我主要通过一个调用函数的实例来讲解一下函数调用时的堆栈变化 Ps 图片有点糊 大家最好自己跟
  • 一、时间序列分析---滞后算子(lag operator)

    1 基本概念 时间序列是以观测值发生的时期作为标记的数据集合 一般情况下 我们是从某个特定的时间开始采集数据 直到另一个固定的时间为止 我们可以将获得的数据表示为 y 1 y
  • 【hadoop——HDFS操作常用的Shell命令】

    1 Hadoop分布式文件系统 Hadoop Distributed File System HDFS 是Hadoop核心组件之一 我们已经安装好了Hadoop 2 7 1 其中已经包含了HDFS组件 不需要另外安装 最基本的shell命令
  • 最新阿里云ECS服务器挂载数据盘亲测好用挂载成功分享一下

    最近网站打不开了 发现服务器系统盘不够用了 查看磁盘占用情况 系统盘已经快满了 不能考虑到后期的需求 不能每次都去清理 不得不增加数据盘 这里记录下数据盘的挂载过程 也是找了好多参考方法亲测成功分享出来希望可以帮助有需要朋友 总结方法如下
  • 【无标题】BTY-DNS推广机制及首次空投规则

    BTY DNS 致力于创建Web3领域中的去中心化身份 DID BTY DNS的 yuan域名自开放上线以来 获得广大用户的喜爱与勇跃注册 目前 yuan的域名注册量已近千个 BTY DNS具有推广奖励机制 同时对于持有DNS的用户将进行第
  • 软件人员kpi制定模板_软件项目团队绩效考核设计与薪酬激励设计

    关注 本头条号 更多关于制度 流程 体系 岗位 模板 方案 工具 案例 故事 图书 文案 报告 技能 职场等内容 弗布克15年积累免费与您分享 阅读导航 01 软件项目团队绩效考核设计 02 软件项目团队薪酬激励设计 研发部 软件项目团队绩
  • 图像通用操作Python的实现

    平时经常会对一个目录下的图像做统一处理 如缩放 旋转等等 之前使用C 处理 有时不是很方便 发现使用Python比较简单 代码量又很少 在Anacanda下执行起来也比较方便 因此 打算在后面遇到图像的常规处理时都将其实现放入到同一个py文
  • Java:数据集合List与Map的性能比较案例

    假设有这样的一个场景 一组学生数据 一组老师的数据 属性分别如下 public class Student private String courseId private String sduName public Student Stri
  • 一文讲清楚梯度下降算法

    一 随机梯度下降与经典梯度下降 1 经典梯度下降 经典的梯度下降法采用所有训练数据的平均损失来近似目标函数 可以看到每更新一次梯度 就需要计算所有训练数据 当M很大的时候 这需要很大的计算量 耗费很长的计算时间 2 随机梯度下降 随机梯度下
  • [从零开始学习FPGA编程-32]:进阶篇 - 基本时序电路-D触发器(Verilog语言)

    作者主页 文火冰糖的硅基工坊 文火冰糖 王文兵 的博客 文火冰糖的硅基工坊 CSDN博客 本文网址 目录 第1章 什么是时序电路 1 1 时序电路 1 2 什么是触发器
  • 点云 K-Means聚类算法 (附c++代码)

    一 K Means算法 在诸多的聚类方法中 K Means聚类方法是属于 基于原型的聚类 也称为原型聚类 的方法 此类方法均是假设聚类结构能通过一组原型刻画 在现实聚类中极为常用 通常情况下 该类算法会先对原型进行初始化 然后再对原型进行迭
  • Python正则表达式(一看就懂)

    目录 哈喽O O 什么是正则表达式 简单说 正则表达式是 正则表达式怎么用 sreach的用法 匹配连续的多个数值 字符 重复前面一个匹配字符一次或者多次 字符 重复前面一个匹配字符零次或者多次 字符 重复前面一个匹配字符零次或者一次 特殊
  • 【HDLBits 刷题 5】Circuits(1)Combinational Logic

    目录 写在前面 Combinational Logic Basic Gates Wire GND NOR Another gate Two gates More logic gates 7420 chips Truth table Two