本文来源于知乎回答的一个问题,是公众号发过的两篇文章集合奇技淫巧我不会,但我这有一些我工作后才学到的一些Verilog写法。数字电路设计主要就是,选择器、全加器、比较器,几个常用逻辑门,再加个D触发器,电路基本都能实现了。写代码其实是个体力活,电路和时序图应该在设计阶段就已经到了你的文档里或在脑子里没来得及写出来。组合逻辑+时序逻辑assign或always@(*)always@(posedge clk or negedge rst_n)有人说掌握Verilog 20%的语法就可以描述 90%以上的电路,说的对。casezalways @(*)begin casez(code) 8'b1???_???? : data[2:0] = 3'd7; 8'b01??_???? : data[2:0] = 3'd6; 8'b001?_???? : data[2:0] = 3'd5; 8'b0001_???? : data[2:0] = 3'd4; 8'b0000_1??? : data[2:0] = 3'd3; 8'b0000_01?? : data[2:0] = 3'd2; 8'b0000_001? : data[2:0] = 3'd1; 8'b0000_0001 : data[2:0] = 3'd0; default
………………………………