www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當前位置:首頁 > 公眾號精選 > 嵌入式大雜燴
[導讀]?星標「Linux大陸」,一起進步!來來來,讓我們一起,左手右手一個慢動作。每一個方向都值得一個人用一生去鉆研,每一個步驟都有其自身的魅力。第一步,做出實體芯片。單片機一般理解為MCU(MicrocontrollerUnit,微控制單元),包含定時器、ALU(Arithmetic...

?星標「Linux大陸」,一起進步!



來來來,讓我們一起,左手右手一個慢動作。

每一個方向都值得一個人用一生去鉆研,每一個步驟都有其自身的魅力。
第一步,做出實體芯片。
單片機一般理解為MCU(Microcontroller Unit,微控制單元),包含定時器、ALU(Arithmetic Logic Unit,算術(shù)邏輯單元)、內(nèi)存、寄存器、總線等部分。而普通的意義的單片機還包含GPIO、串口(UART)、DMA、協(xié)處理器、AD\DA等等。
看懂如下圖前置:計算機組成原理,微機原理。

流水線

前置:數(shù)字邏輯電路,集成電路設計及其EDA技術(shù),verilog把各個模塊細分為寄存器級,比如移位運算器、節(jié)拍器、譯碼器、存儲器等。
module minicpu(clk, reset, run, in, cs, pcout, irout, qtop, abus, dbus, out);
input clk,reset,run;input [15:0] in;output [1:0] cs;output [15:0] irout, qtop, dbus, out;output [11:0] pcout, abus;wire [15:0] qnext, ramout, aluout;reg [11:0] abus;reg halt, jump, pcinc, push, pop, thru, qthru, dbus2qtop, dbus2ram, dbus2obuf, ir2dbus, qtop2dbus, alu2dbus, ram2dbus, in2dbus;reg pop2, ir2abus, qtop2abus, qnext2abus;reg [11:0] pcout, pcnext;reg [15:0] out;
statef statef0(.clk(clk),.reset(reset),.run(run),.halt(halt),.cs(cs));stackm stackm0(.clk(clk),.reset(reset),.load(dbus2qtop),.push(push),.pop(pop),.pop2(pop2),.thru(qthru),.d(dbus),.dthru(ramout),.qtop(qtop),.qnext(qnext));alu alu0(.a(qtop),.b(qnext),.f(irout[4:0]),.s(aluout));dpram #(16,10,1024) dpram0(.clk(clk),.load1(dbus2ram),.addr1(abus),.addr2(pcnext),.d1(dbus),.q1(ramout),.q2(irout));物理上是這樣的


然后會調(diào)試BUG,看時序。
前置:時序用MODELSIM,綜合用QUARTUS II 等等

然后此時才剛剛開始。
繼續(xù)生成電路網(wǎng)表,時序收斂,如果不對繼續(xù)返回上述流程繼續(xù)調(diào)試。
前置:Synopsys
回顧一下



此時應該生成版圖文件,然后根據(jù)制造廠商提供的物理器件庫進行最后的各種設計規(guī)則檢查。
前置:集成電路版圖設計,軟件有Cadence:Virtuoso Layout Editor


送到代工廠,還要懂元器件前置:半導體物理,半導體器件物理,固體物理,電介質(zhì)物理,量子力學,熱力學與數(shù)理統(tǒng)計。


根據(jù)得到的圖表設計版圖和工藝流程,大概是這樣
前置:集成電路制造


然后進行電氣測試,電磁測試,最后封裝。
前置:集成電路封裝技術(shù)


最后不能忘記出片的時候
焚香沐浴更衣,朝南拜三拜,祈禱不會有大問題。

第二步,設計系統(tǒng)驅(qū)動。
終于得到了物理上的片子
我們開始寫匯編器,編譯器。
本質(zhì)上燒寫進ROM的是這樣的機器碼。


匯編器(把匯編語言變成機器碼)前置:perl
#!/usr/bin/perl -W//*****************//print "*** LABEL LIST ***\n";foreach $l (sort(keys(%label))){printf "%-8sX\n",$l,$label{$l};}
$addr=0;print "\n*** MACHINE PROGRAM ***\n";foreach (@source){ $line = $_;s/\w ://;if(/PUSHI\s (-?\d )/){printf "X:X\t$line",$addr ,$MCODE{PUSHI} ($1
本站聲明: 本文章由作者或相關機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
關閉
關閉