• 方案介紹
  • 附件下載
  • 相關(guān)推薦
申請(qǐng)入駐 產(chǎn)業(yè)圖譜

堆棧寄存器設(shè)計(jì)Verilog代碼Quartus仿真

加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

2-24011G05541A3.doc

共1個(gè)文件

名稱:堆棧寄存器設(shè)計(jì)Verilog代碼Quartus仿真

軟件:Quartus

語(yǔ)言:Verilog

代碼功能:

堆棧寄存器設(shè)計(jì)

內(nèi)容及要求:

模擬堆棧寄存器電路

(1)深度12,數(shù)據(jù)寬度8比特。

(2)堆棧、彈棧有指示信號(hào)。

(3)使用實(shí)驗(yàn)室的開發(fā)箱或自備開發(fā)板完成設(shè)計(jì)。

(4)完成全部流程:設(shè)計(jì)規(guī)范文檔、模塊設(shè)計(jì)、代碼輸入、功能仿真、結(jié)果與綜合、時(shí)序傷真、下載驗(yàn)證等。

FPGA代碼Verilog/VHDL代碼資源下載:www.hdlcode.com

演示視頻:

設(shè)計(jì)文檔:

1. 工程文件

2. 程序文件

3. 程序編譯

4. RTL圖

5. Testbench

6. 仿真圖

部分代碼展示:

//堆棧寄存器
module?stack(datain,?push,?pop,?reset,?clk,?stackfull,?dataout);
???input?[7:0]??datain;//堆棧輸入數(shù)據(jù)
???input????????push;//堆棧信號(hào)
???input????????pop;//彈棧信號(hào)
???input????????reset;//復(fù)位
???input????????clk;//時(shí)鐘
???output???????stackfull;//堆棧滿指示信號(hào)
???output?[7:0]?dataout;//堆棧讀出數(shù)據(jù)
???
???reg?[7:0]????dataout;
???integer??????i;
???reg?[7:0]????data[11:0];//深度12.數(shù)據(jù)位寬為8
???reg?[11:0]???stackflag;
???assign?stackfull?=?stackflag[0];//堆棧滿指示信號(hào)
???wire?[1:0]????selfunction;
???assign?selfunction?=?{push,?pop};//將堆棧信號(hào)彈棧信號(hào)組成2bit信號(hào)
???
???always?@(posedge?clk?or?posedge?reset)
???begin
if?(reset?==?1'b1)//復(fù)位
??????begin
?????????stackflag?<=?{12{1'b0}};
?????????dataout?<=?{8{1'b0}};
?????????for?(i?=?0;?i?<=?11;?i?=?i?+?1)
????????????data[i]?<=?8'b00000000;////復(fù)位清零
??????end
??????else?
?????????case?(selfunction)
????????????2'b10?://入棧信號(hào)
???????????????if?(stackflag[0]?==?1'b0)
???????????????begin
??????????????????data[11]?<=?datain;//堆棧輸入數(shù)據(jù)
??????????????????stackflag?<=?{1'b1,?stackflag[11:1]};//右移,高位移入1
??????????????????for?(i?=?0;?i?<=?10;?i?=?i?+?1)
?????????????????????data[i]?<=?data[i?+?1];//數(shù)據(jù)移位
???????????????end
????????????2'b01?://出棧信號(hào)
???????????????begin
dataout?<=?data[11];//讀出最外部數(shù)據(jù)
??????????????????stackflag?<=?{stackflag[10:0],?1'b0};//左移,低位移入0
??????????????????for?(i?=?11;?i?>=?1;?i?=?i?-?1)
?????????????????????data[i]?<=?data[i?-?1];////數(shù)據(jù)移位
???????????????end
????????????default?:
???????????????;
?????????endcase
???end
???
endmodule

點(diǎn)擊鏈接獲取代碼文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=589

  • 2-24011G05541A3.doc
    下載

相關(guān)推薦

方案定制

去合作
方案開發(fā)定制化,2000+方案商即時(shí)響應(yīng)!