전자공학/디지털회로
[Verilog] Basic Gate
17Hyuk
2022. 12. 20. 23:59
https://hdlbits.01xz.net/wiki/Problem_sets
Problem sets - HDLBits
hdlbits.01xz.net
Popcount3
population count : 1의 개수
※ 7 = 0111(2) 따라서 3
module top_module(
input [2:0] in,
output [1:0] out );
assign out = in[0]+in[1]+in[2];
endmodule
Gatesv
out_both : 인접한 2비트가 둘다 1이면 1
out_any : 인접한 2비트가 둘중하나가 1이면 1
out_different : 인접한 2비트가 다르면 1
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[1] & in[0];
//assign out_both[1] = in[2] & in[1];
//assign out_both[2] = in[3] & in[2];
assign out_both = in[3:1] & in[2:0];
//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_any = in[3:1] | in[2:0];
//assign out_different[0] = in[1] ^ in[0];
//assign out_different[1] = in[2] ^ in[1];
//assign out_different[2] = in[3] ^ in[2];
//assign out_different[3] = in[0] ^ in[3];
assign out_different = {in[0], in[3:1]} ^ in;
endmodule