寫作時間:2020-10-31
目錄:
1.典型電路的設計與最基礎知識
-1.1 全加器
-1.2 資料通路
-1.3 計數器
-1.4 算術操作
-1.5 邏輯操作
-1.6 移位操作
-1.7 時序操作
-1.8 ALU
-1.9 有限狀態機
-1.10 三態總線
2.常用電路設計(需要完全搞懂)
-2.1 CRC校驗碼產生器
-2.2 亂數產生
-2.3 雙口RAM
-2.4 同步FIFO
-2.5 異步FIFO
學習思路:
先學好基本的模塊,理解消化后,是基礎,再學習一些常用電路,然后慢慢的就可以進行專案設計,
正文:
1.典型電路的設計與最基礎知識
-1.1 全加器
module FULLADDR(Cout, Sum, Ain, Bin, Cin);
input Ain, Bin, Cin;
output Sum, Cout;
wire Sum;
wire Cout;
assign Sum = Ain ^ Bin ^ Cin;
assign Cout = (Ain & Bin) | (Bin & Cin) | (Ain & Cin);
endmodule
-1.2 資料通路
-1.2.1四選一的多路選擇器
//Example of a mux4-1.
module MUX( C,D,E,F,S,Mux_out);
input C,D,E,F ; //input
input [1:0] S ; //select control
output Mux_out ; //result
reg Mux_out ;
//mux
always@(C or D or E or F or S)
begin
case (S)
2'b00 : Mux_out = C ;
2'b01 : Mux_out = D ;
2'b10 : Mux_out = E ;
default : Mux_out = F ;
endcase
end

-1.2.2譯碼器
//Example of a 3-8 decoder
module DECODE(Ain,En,Yout);
input En ; //enable
input [2:0] Ain ; //input code
output [7:0] Yout ;
reg [7:0] Yout ;
always@(En or Ain)
begin
if(!En)
Yout = 8'b0 ;
else
case (Ain)
3'b000 : Yout = 8'b0000_0001 ;
3'b001 : Yout = 8'b0000_0010 ;
3'b010 : Yout = 8'b0000_0100 ;
3'b011 : Yout = 8'b0000_1000 ;
3'b100 : Yout = 8'b0001_0000 ;
3'b101 : Yout = 8'b0010_0000 ;
3'b110 : Yout = 8'b0100_0000 ;
3'b111 : Yout = 8'b1000_0000 ;
default : Yout = 8'b0000_0000 ;
endcase
end
endmodule
-1.3 計數器
在這里插入代碼片
-1.4 算術操作
-1.5 邏輯操作
-1.6 移位操作
-1.7 時序操作
-1.8 ALU
-1.9 有限狀態機
-1.10 三態總線
1.2資料通路
THE END~
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/221005.html
標籤:python
上一篇:C語言入門指標總結
