《電子技術應用》
您所在的位置:首頁 > 嵌入式技术 > 业界动态 > Core_1553_8051_SFR Verilog设计文件

Core_1553_8051_SFR Verilog设计文件

2008-08-13
作者:Actel
關鍵詞: present_st B0 CPUWAITn reg sfr4

// SFR_FSM.v
module SFR_FSM (clk, Resetn, sfr4" title="sfr4">sfr4, sfr7, CPUDOUT, CPUWAITn" title="CPUWAITn">CPUWAITn, latch_RD, CPUWRn,
??????????????? CPURDn , CPUMEM);

input clk;
input [2:0] sfr4; // SFR4 Control Reg" title="Reg">Register bit 2 to 0.
input CPUWAITn; //input from Core1553
input Resetn; //global power on reset
input [15:0] CPUDOUT; // Read data input from Core1553B
output [7:0] sfr7; // SFR7 Status Regsiter
output [1:0] CPUWRn; //Output to Core1553
output CPURDn; //Output to Core1553
output [15:0] latch_RD; //read data output to Core8051
output CPUMEM; //Output to Core1553

parameter idle = 2'b0" title="b0">b00, write = 2'b01, read = 2'b10;

reg CPURDn_int, CPUMEM;
reg [1:0] CPUWRn;
reg [7:0] sfr7;
reg [15:0] latch_RD;

reg [1:0] present_st" title="present_st">present_st, next_st;

//FSM state transition
always @ (posedge clk or negedge Resetn)
begin
if (Resetn == 1'b0)
? present_st <= idle;
else
? present_st <= next_st;?
end

//FSM state definition狀態機
always @ (present_st, sfr4, CPUWAITn)
begin
case (present_st)
?? idle: case (sfr4)
???????? 3'b000: next_st<= idle;
???????? 3'b011: next_st<= write;
???????? 3'b101: next_st<= read;
???????? default: next_st<= idle;
???????? endcase
?? write: case (CPUWAITn)
????????? 1'b0: next_st<= write;
????????? 1'b1: next_st<= idle;
????????? endcase
?? read: case (CPUWAITn)
???????? 1'b0: next_st<= read;
???????? 1'b1: next_st<= idle;
???????? endcase
?
?? default: next_st <= idle;
endcase
end

//Output definition 輸出定義
always @ (present_st)
begin
case (present_st)
idle: begin
????? sfr7 <= 8'b0;
????? CPUWRn <= 2'b11;
????? CPURDn_int <= 1'b1;
????? CPUMEM <= 1'b0;
?? end
write: begin
?????????? sfr7 <= 8'b00000001;
?????????? CPUWRn <= 2'b00;
?????????? CPURDn_int <= 1'b1;
?????????? CPUMEM <= 1'b1;
???? end
read:? begin
?????????? sfr7 <= 8'b00000001;
?????????? CPUWRn <= 2'b11;
?????????? CPURDn_int <= 1'b0;
?????????? CPUMEM <= 1'b1;
???? end
default: begin
????? sfr7 <= 8'b00000000;
????? CPUWRn <= 2'b11;
????? CPURDn_int <= 1'b1;
????? CPUMEM <= 1'b0;
?? end
endcase
end

//Latching the read data from Core1553 to Core8051
always @ (posedge clk)posedge CPURDn_int)
begin
if (CPURD_int == 1'b0)
?? latch_RD <= CPUDOUT;
end

assign CPURDn = CPURDn_int;

endmodule

更多請訪問

http://www.actel.com/techdocs/appnotes/proasic3.aspx

?

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
主站蜘蛛池模板: 国产成人精品免费久久久久| 欧美日韩一区二区在线免费观看| 欧美日韩免费观看一区| 国产精品永久在线| 久久精精品视频| 久久av免费一区| 69av在线视频| 国产视频99| 久久男人的天堂| 国产精品99久久久久久人| 91精品国产精品| 一区二区不卡在线| 国产精品一区二区你懂得| 日韩三级在线播放| 色妞在线综合亚洲欧美| 日韩av免费一区| 国产精品久久久久久久久久| 国产欧美精品xxxx另类| 国产精品人人做人人爽| 亚洲免费视频一区| 日韩在线视频观看正片免费网站| 好吊色欧美一区二区三区视频| 国产精品久久久久久久久婷婷| 69精品小视频| 欧美精品一区在线| 日本一区视频在线| 一本一道久久久a久久久精品91| 日韩中文字幕亚洲精品欧美| 国产噜噜噜噜噜久久久久久久久| 精品激情国产视频| 国产精品久久久久久久久婷婷| 国产欧美 在线欧美| 国产精品久久久久99| 97国产精品视频| 国内揄拍国内精品少妇国语| 久久99国产精品久久久久久久久| 亚洲人成网站在线观看播放| 国产精品久久久久久婷婷天堂| 99在线观看| 国产免费亚洲高清| 国产精品久久久久久久久久久不卡|