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

當(dāng)前位置:首頁 > 工業(yè)控制 > 工業(yè)控制
[導(dǎo)讀]在這篇文章中,小編將為大家?guī)鞦PGA三段式狀態(tài)機(jī)設(shè)計(jì)的相關(guān)內(nèi)容。如果你對本文即將要講解的內(nèi)容存在一定興趣,不妨繼續(xù)往下閱讀哦。

在這篇文章中,小編將為大家?guī)?a href="/tags/FPGA" target="_blank">FPGA三段式狀態(tài)機(jī)設(shè)計(jì)的相關(guān)內(nèi)容。如果你對本文即將要講解的內(nèi)容存在一定興趣,不妨繼續(xù)往下閱讀哦。

三段式狀態(tài)機(jī)使用3個(gè)always塊,其中一個(gè)組合always塊用于寫狀態(tài)機(jī)的狀態(tài)跳轉(zhuǎn)邏輯,一個(gè)時(shí)序always塊用于緩存狀態(tài)寄存器,另一個(gè)always塊用于寫當(dāng)前狀態(tài)下的寄存器輸出邏輯。這種方式邏輯代碼清晰,易于調(diào)試和理解,也是比較推薦的一個(gè)方式。

三段式狀態(tài)機(jī)則通過在組合邏輯后再增加一級寄存器實(shí)現(xiàn)邏輯輸出:

· 一個(gè)always塊采用同步時(shí)序描述狀態(tài)轉(zhuǎn)移

· 一個(gè)always塊采用組合邏輯判斷轉(zhuǎn)移條件、轉(zhuǎn)移狀態(tài)規(guī)律

·一個(gè)always塊采用同步時(shí)序描述狀態(tài)的輸出

這種三段式狀態(tài)機(jī)的寫法代碼非常清晰,極大降低了編寫維護(hù)代碼的復(fù)雜度,最大程度清晰完整的顯示出狀態(tài)機(jī)的結(jié)構(gòu)。同時(shí)可以有效地濾除兩段式狀態(tài)機(jī)組合邏輯輸出可能產(chǎn)生的毛刺信號;另外對于總線形式的輸出來說,容易使總線數(shù)據(jù)對齊,從而減小總線數(shù)據(jù)間的偏移,減小接收端數(shù)據(jù)采樣出錯(cuò)的頻率:但是三段式消耗的資源相對多一點(diǎn),并且三段式從輸入到輸出比一段式和二段式會延時(shí)一個(gè)時(shí)鐘周期。

下面是本人實(shí)現(xiàn)的FPGA三段式狀態(tài)機(jī)的代碼,大家可以參考:

module state_machine (

input clk,

input rst_n,

input [1:0] inp,

output reg outp

);

// 定義狀態(tài)

localparam STATE_0 = 0,

STATE_1 = 1,

STATE_2 = 2,

STATE_3 = 3;

// 定義狀態(tài)寄存器和初始狀態(tài)

reg [1:0] state_r, next_state ;

// 定義狀態(tài)寄存器

always @(posedge clk or negedge rst_n) begin

if (~rst_n) begin

state_r <= STATE_0;

end else begin

state_r <= next_state;

end

end

// 定義狀態(tài)轉(zhuǎn)移邏輯

always @(*) begin

case (state_r)

STATE_0: begin

if (inp == 2'b00) begin

next_state = STATE_0;

end else if (inp == 2'b01) begin

next_state = STATE_1;

end else if (inp == 2'b10) begin

next_state = STATE_2;

end else begin

next_state = STATE_3;

end

end

STATE_1: begin

if (inp == 2'b00) begin

next_state = STATE_1;

end else if (inp == 2'b01) begin

next_state = STATE_2;

end else if (inp == 2'b10) begin

next_state = STATE_3;

end else begin

next_state = STATE_0;

end

end

STATE_2: begin

if (inp == 2'b00) begin

next_state = STATE_2;

end else if (inp == 2'b01) begin

next_state = STATE_3;

end else if (inp == 2'b10) begin

next_state = STATE_0;

end else begin

next_state = STATE_1;

end

end

STATE_3: begin

if (inp == 2'b00) begin

next_state = STATE_3;

end else if (inp == 2'b01) begin

next_state = STATE_0;

end else if (inp == 2'b10) begin

next_state = STATE_1;

end else begin

next_state = STATE_2;

end

end

endcase

end

// 定義輸出邏輯

always @(*) begin

case (state_r)

STATE_0: outp = 0;

STATE_1: outp = 1;

STATE_2: outp = 0;

STATE_3: outp = 1;

endcase

end

endmodule

注意:組合邏輯代碼中,if語句和case語句必須寫滿,否則容易形成latch,導(dǎo)致實(shí)際運(yùn)行出問題。

以上就是小編這次想要和大家分享的有關(guān)FPGA三段式狀態(tài)機(jī)設(shè)計(jì)的內(nèi)容,希望大家對本次分享的內(nèi)容已經(jīng)具有一定的了解。如果您想要看不同類別的文章,可以在網(wǎng)頁頂部選擇相應(yīng)的頻道哦。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

在數(shù)字化浪潮席卷全球的今天,F(xiàn)PGA技術(shù)正成為驅(qū)動(dòng)創(chuàng)新的核心引擎。2025年8月21日,深圳將迎來一場聚焦FPGA技術(shù)與產(chǎn)業(yè)應(yīng)用的盛會——2025安路科技FPGA技術(shù)沙龍。本次沙龍以“定制未來 共建生態(tài)”為主題,匯聚行業(yè)...

關(guān)鍵字: FPGA 核心板 開發(fā)板

在現(xiàn)代電子系統(tǒng)中,現(xiàn)場可編程門陣列(FPGA)憑借其開發(fā)時(shí)間短、成本效益高以及靈活的現(xiàn)場重配置與升級等諸多優(yōu)點(diǎn),被廣泛應(yīng)用于各種產(chǎn)品領(lǐng)域。從通信設(shè)備到工業(yè)控制,從汽車電子到航空航天,F(xiàn)PGA 的身影無處不在。為了充分發(fā)揮...

關(guān)鍵字: 可編程門陣列 FPGA 數(shù)字電源

2025年8月4日 – 提供超豐富半導(dǎo)體和電子元器件?的業(yè)界知名新品引入 (NPI) 代理商貿(mào)澤電子 (Mouser Electronics) 即日起開售Altera?的Agilex? 3 FPGA C系列開發(fā)套件。此開...

關(guān)鍵字: FPGA 邊緣計(jì)算 嵌入式應(yīng)用

內(nèi)窺鏡泛指經(jīng)自然腔道或人工孔道進(jìn)入體內(nèi),并對體內(nèi)器官或結(jié)構(gòu)進(jìn)行直接觀察和對疾病進(jìn)行診斷的醫(yī)療設(shè)備,一般由光學(xué)鏡頭、冷光源、光導(dǎo)纖維、圖像傳感器以及機(jī)械裝置等構(gòu)成。文章介紹了一款基于兩片圖像傳感器和FPGA組成的微型3D內(nèi)...

關(guān)鍵字: 微創(chuàng) 3D內(nèi)窺鏡 OV6946 FPGA

運(yùn)用單片機(jī)和FPGA芯片作為主控制器件 , 單片機(jī)接收從PC機(jī)上傳過來的顯示內(nèi)容和顯示控制命令 , 通過命令解釋和數(shù)據(jù)轉(zhuǎn)換 , 生成LED顯示屏所需要的數(shù)據(jù)信號和同步的控制信號— 數(shù)據(jù)、時(shí)鐘、行同步和面同步 。FPGA芯...

關(guān)鍵字: 單片機(jī) FPGA LED顯示屏

在嵌入式系統(tǒng)與底層軟件開發(fā)中,C語言的枚舉類型(enum)因其強(qiáng)大的語義表達(dá)能力,成為狀態(tài)機(jī)設(shè)計(jì)和位域操作的核心工具。本文將從底層原理出發(fā),解析枚舉類型在狀態(tài)機(jī)實(shí)現(xiàn)中的優(yōu)化策略,并探討其與位域(bit-field)的協(xié)同...

關(guān)鍵字: C語言 嵌入式系統(tǒng) 狀態(tài)機(jī)

在異構(gòu)計(jì)算系統(tǒng)中,ARM與FPGA的協(xié)同工作已成為高性能計(jì)算的關(guān)鍵架構(gòu)。本文基于FSPI(Fast Serial Peripheral Interface)四線模式,在150MHz時(shí)鐘頻率下實(shí)現(xiàn)10.5MB/s的可靠數(shù)據(jù)...

關(guān)鍵字: ARM FPGA FSPI

在全球FPGA市場被Xilinx(AMD)與Intel壟斷的格局下,國產(chǎn)FPGA廠商高云半導(dǎo)體通過構(gòu)建自主IP核生態(tài)與智能時(shí)序約束引擎,走出差異化高端化路徑。本文深入解析高云半導(dǎo)體FPGA工具鏈的兩大核心技術(shù)——全棧IP...

關(guān)鍵字: FPGA 高云半導(dǎo)體

2025年6月12日,由安路科技主辦的2025 FPGA技術(shù)沙龍?jiān)谀暇┱秸匍_,深圳市米爾電子有限公司(簡稱:米爾電子)作為國產(chǎn)FPGA的代表企業(yè)出席此次活動(dòng)。米爾電子發(fā)表演講,并展出米爾基于安路飛龍派的核心板和解決方案...

關(guān)鍵字: FPGA 核心板 開發(fā)板

高 I/O、低功耗及先進(jìn)的安全功能,適用于成本敏感型邊緣應(yīng)用

關(guān)鍵字: FPGA I/O 機(jī)器視覺
關(guān)閉