亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于Verilog HDL的并口總線設計與仿真

        2018-09-10 21:58:54李高峰
        河南科技 2018年2期

        李高峰

        摘 要:本文介紹了FPGA/CPLD作為外設掛接在MCU并口總線上的工作原理,使用Verilog HDL進行了模塊化設計,并進行了仿真驗證,還指出了使用雙向端口(inout)和三態(tài)門(tri)應注意的問題,以期為相關學者提供參考。

        關鍵詞:Verilog HDL;并口總線;三態(tài)門

        中圖分類號:TP302 文獻標識碼:A 文章編號:1003-5168(2018)02-0027-03

        Design and Simulation of Parallel Bus Based on Verilog HDL

        LI Gaofeng

        (Qingdao Ainuo Intelligent Instrument Co., Ltd., Qingdao Shandong 266101)

        Abstract: This paper introduced the working principle of FPGA/CPLD as an external device mounted on MCU parallel port bus, modularized design with Verilog HDL, and carried out simulation verification. It also pointed out the problems that should be noticed when using two-way port (inout) and three state gate (tri), in order to provide reference for relevant scholars.

        Keywords: Verilog HDL; parallel bus;tri

        目前,F(xiàn)PGA/CPLD的應用越來越多,在和MCU組成數(shù)字系統(tǒng)時,有時需要把FPGA/CPLD作為外設掛接在MCU的并口總線上,這既可提高數(shù)據(jù)交換速度,又可節(jié)省引腳。此時,MCU作為主設備,其并口總線包括:單向的地址線、單向的讀寫控制線、雙向的數(shù)據(jù)線。而FPGA/CPLD作為外設(可能還有其他外設),實現(xiàn)正確地掛接在總線上,既要準確接收、發(fā)送數(shù)據(jù),又要不影響其他外設,就顯得非常重要[1]。

        本文通過例程,說明如何設計基于Verilog HDL的并口總線[2,3]。所用的軟件平臺為ise_13.2和modelsim_se_10.0,硬件平臺為xc6slx9。

        1 系統(tǒng)原理

        1.1 系統(tǒng)模型

        系統(tǒng)模型如圖1所示,其中:①前綴“i_、iv_”表示輸入(input),“o_、ov_”表示輸出(output),“io_、iov_”表示輸入/輸出(inout),“w_、wv_”表示網(wǎng)線(wire);②后綴“_n”,表示低電平有效;③u1、u2為v74377元件例化,寄存器(reg),類似74hc377的功能;④u3、u4為v8tri元件例化,三態(tài)門(tri),類似74hc244的功能;⑤i_mcu_cs1_n、i_mcu_cs2n,來自mcu的片選地址線;⑥i_mcu_rd_n、i_mcu_wr_n,來自mcu的讀、寫控制線;⑦iov_mcu_d[7:0],來自mcu的雙向數(shù)據(jù)線;⑧ov_qa[7:0]、ov_qb[7:0]和mcu無關,用于仿真觀察;⑨輸入、輸出,要對于具體模塊而言,如wv_qa[7:0]是u1的輸出,是u3的輸入。

        1.2 工作原理

        該系統(tǒng)是掛接mcu總線的簡化模型,其工作原理如下。

        ①空閑時,u3、u4均輸出高阻態(tài)z,與數(shù)據(jù)線隔離,避免影響總線。

        ②u1、u2一直掛在數(shù)據(jù)線上,隨時準備接收數(shù)據(jù):當i_mcu_wr_n和i_mcu_cs1_n有效時,u1接收數(shù)據(jù)并輸出到wv_qa[7:0],并保持到下次有效再更新數(shù)據(jù);當i_mcu_wr_n和i_mcu_cs2_n有效時,u2接收數(shù)據(jù)并輸出到wv_qb[7:0],并保持到下次有效再更新數(shù)據(jù)。

        ③當i_mcu_rd_n和i_mcu_cs2_n有效時,u3接通總線,把wv_qa[7:0]發(fā)送到總線上,由mcu接收;當i_mcu_rd_n和i_mcu_cs1_n有效時,u4接通總線,把wv_qb[7:0]發(fā)送到總線上,由mcu接收。

        ④非常重要的是,同一時刻,數(shù)據(jù)總線上只允許有一個發(fā)送方(含mcu)發(fā)送數(shù)據(jù),不發(fā)送的發(fā)送方必須輸出高阻態(tài)z,以與總線隔離,否則數(shù)據(jù)將陷入混亂;但可以有多個接收方同時接收數(shù)據(jù)。

        ⑤應注意,輸入/輸出、三態(tài)門(tri),最好只在頂層(top)使用,底層模塊不要使用,可使用獨立的輸入(input)、輸出(output)。

        ⑥還可用另一種設計方案,先用多路選擇器(mux)選出數(shù)據(jù)源,如wv_qa[7:0]、wv_qb[7:0],之后經(jīng)過一組三態(tài)門掛接在總線上,這樣可節(jié)省三態(tài)門資源。

        2 模塊設計

        系統(tǒng)分為底層模塊(v74377、v8tri)和頂層模塊(top)。

        2.1 頂層模塊

        2.1.1 v74377模塊。該模塊功能類似74hc377,源程序如下:

        module v74377(

        input i_clk, input i_clken_n,

        input [7:0] iv_d, output [7:0] ov_q);

        reg [7:0] q;

        always @( posedge i_clk )

        if( !i_clken_n ) q <= iv_d;

        assign ov_q = q;

        亚洲国产区男人本色| 国产福利一区二区三区在线视频| 熟妇熟女乱妇乱女网站| www插插插无码免费视频网站| 亚洲男人天堂av在线| 国内揄拍国内精品久久| 久久精品国产久精国产爱| 在线精品国产一区二区三区| 国产精品亚洲一区二区杨幂| 久久精品国产白丝爆白浆| 青春草免费在线观看视频| 国产一卡2卡3卡四卡国色天香| 国产精品乱一区二区三区| av免费在线观看网站大全| 成人av片在线观看免费| 内射囯产旡码丰满少妇| 毛片av在线播放亚洲av网站| 女同亚洲一区二区三区精品久久| 国产精品乱码人妻一区二区三区| 久久精品国产亚洲精品| 无码91 亚洲| 一本色道久在线综合色| 午夜福利av无码一区二区| 亚洲综合久久久| 一区二区三区在线观看视频免费| 偷拍偷窥女厕一区二区视频| 成人免费看吃奶视频网站| 丝袜美腿网站一区二区| 久久91精品国产一区二区| 日韩精品视频一区二区三区| 欧美午夜刺激影院| 在线日本高清日本免费| 人妻少妇精品中文字幕专区| 无码精品a∨在线观看| 中文字幕无码免费久久9一区9| 日本视频一区二区三区在线| 蜜桃日本免费看mv免费版| 夜夜春精品视频| 综合久久一区二区三区| 亚洲av日韩综合一区久热| 人妻无码中文专区久久五月婷|