1 摩根定律和卡诺图化简卡诺图画圈应遵循以下原则1、取大不取小圈越大消去的变量越多与项越简单能画入大圈就不画入小圈2、圈数越少化简后的与项就越少3、一个最小项可以重复使用即只要需要一个方格可以同时被多圈所圈4、一个圈中的小方格至少有一个小方格不为其它圈所圈5、画圈必须覆盖完每一个填“1”方格为止。练习1因为只有一个0可以选择零化简得到反函数的最简公式的与或则~~a~b~c)摩根定理得到outa|b|c;module top_module(input a,input b,input c,output out );assign outa|b|c;endmodule2 这次只有划圈因为不熟练所以就只两两划圈~a~b~c ~a~c~d a~b~cacd~abc~ac~d~ac~d;还是比较臃肿观察之后化简~b~c~a~dacd~abc;程序module top_module(input a,input b,input c,input d,output out );assign out(~b~c)|(~a~d)|(acd)|(~abc);endmodule3 不定态下的化简比较简单简化思路如下程序module top_module(input a,input b,input c,input d,output out );assign outa|(~bc);endmodule4 卡诺图化简感觉无法化简只能每个状态都写进去写八个。不知道有没有大牛化简了的。该题跳过5跳过6程序module top_module (input [4:1] x,output f );assign f~x[1]x[3] |x[2]x[4];endmodule7化简图程序module top_module (input [4:1] x,output f);assign f(~x[2]~x[4]) | (~x[1]x[3]) | (x[2]x[3]x[4]);endmodule8 用四选一选择器和多个二选一选择器实现卡诺图化简。找了下参考答案看看思路。HDLBits8——Karnaugh Map to Circuit_Mount256的博客-CSDN博客官网的参考答案如下module top_module (input c,input d,output [3:0] mux_in);// After knowing how to split the truth table into four columns,// the rest of this question involves implementing logic functions// using only multiplexers (no other gates).// I will use the conditional operator for each 2-to-1 mux: (s ? a : b)assign mux_in[0] (c ? 1 : (d ? 1 : 0)); // 2 muxes: c|dassign mux_in[1] 0; // No muxes: 0assign mux_in[2] d ? 0 : 1; // 1 mux: ~dassign mux_in[3] c ? (d ? 1 : 0) : 0; // 2 muxes: cdendmodule用了三目运算符