電子工程網(wǎng)
標(biāo)題: 勇敢的芯伴你玩轉(zhuǎn)Altera FPGA連載28: 內(nèi)里本質(zhì)探索——器件結(jié)構(gòu) 下 [打印本頁(yè)]
作者: rousong1989 時(shí)間: 2017-11-30 22:18
標(biāo)題: 勇敢的芯伴你玩轉(zhuǎn)Altera FPGA連載28: 內(nèi)里本質(zhì)探索——器件結(jié)構(gòu) 下
勇敢的芯伴你玩轉(zhuǎn)Altera FPGA連載28: 內(nèi)里本質(zhì)探索——器件結(jié)構(gòu) 下特權(quán)同學(xué),版權(quán)所有
配套例程和更多資料下載鏈接:
http://pan.baidu.com/s/1i5LMUUD
說(shuō)了這么多理論,估計(jì)大伙都有些頭大了。下面舉個(gè)例子,讓大家看看一個(gè)簡(jiǎn)單的邏輯功能是如何用這個(gè)正常模式下的LEs來(lái)實(shí)現(xiàn)的。有如下一段Verilog代碼:
module ex0(
clk,rst_n,
ain,bin,cin,dout
);
input clk;
input rst_n;
input ain,bin,cin;
output reg dout;
always @(posedge clk or negedge rst_n)
if(!rst_n) dout <= 1'b0;
else dout <= (ain & bin) |cin;
endmodule
看不懂不要緊,咱還沒(méi)開(kāi)始學(xué)語(yǔ)法呢。這個(gè)電路中,輸入信號(hào)ain、bin和cin,復(fù)位信號(hào)rst_n,時(shí)鐘信號(hào)clk,輸出信號(hào)dout。輸出信號(hào)dout在復(fù)位信號(hào)rst_n有效時(shí)輸出為0,在撤銷復(fù)位(rst_n = 1)后每個(gè)時(shí)鐘上升沿鎖存當(dāng)前的最新值,這個(gè)最新值為當(dāng)前輸入信號(hào)ain與bin再或cin的結(jié)果。其邏輯功能如圖3.24所示,是一個(gè)典型的時(shí)序邏輯,這個(gè)電路中有我們前面提到的與門、或門和寄存器等基本組件。
圖3.24 邏輯功能視圖
再看經(jīng)過(guò)Quartus II工具的“翻譯”后,如圖3.25所示,前面這段邏輯被映射到了Cyclone IV的LEs中。和圖3.23相比較,可以確認(rèn)這是LEs的正常模式,圖中高亮部分是被“編程”開(kāi)啟功能的電路實(shí)現(xiàn)。不要感到稀奇,這個(gè)原本要實(shí)現(xiàn)與門、或門等邏輯功能的電路卻不是用與門、或門來(lái)實(shí)現(xiàn)的,而是我們前面提到的LUT在這里扮演了很重要的角色。有人可能又要納悶了LUT到底為何物?有那么神通廣大么?別說(shuō),還真那么回事。就拿4輸入的LUT來(lái)說(shuō),其實(shí)它里面就相當(dāng)于一個(gè)16bit的存儲(chǔ)器,或者你也可以理解LUT里面存放著4個(gè)輸入信號(hào)的真值表,輸入信號(hào)通過(guò)這個(gè)真值表便可得到期望的結(jié)果,就如我們這個(gè)實(shí)例一樣。
圖3.25 LEs中的邏輯實(shí)現(xiàn)
| 歡迎光臨 電子工程網(wǎng) (http://www.4huy16.com/) |
Powered by Discuz! X3.4 |