日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Verilog HDL的简单应用之74ls160功能的实现

發布時間:2024/3/24 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Verilog HDL的简单应用之74ls160功能的实现 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

結束嘍!

簡報

這是集成同步加法計數器,也是簡單元器件的FPGA實現系列的最后一篇。希望能夠對和筆者一樣剛剛接觸到FPGA的朋友們有所幫助,有所廣益。下面,筆者將對74ls16x(x=0,1,2,3)系列進行說明,并用Verilog HDL進行74ls160功能的實現。

引腳

該系列元器件均有1+1+1+2+4+4+1+2=16根引腳,其中包括1根時鐘信號引腳,1根清零信號引腳,1根置數信號引腳,2根計數使能信號引腳,4根數字輸入引腳,4根數字輸出引腳,1根進位引腳以及電源和接地引腳。下面為對其引腳的詳細說明。

  • 時鐘信號引腳(CP):輸入時鐘信號,在時鐘信號上升沿激發置數或計數功能。
  • 清零信號引腳(~CR):輸入清零信號。器件中清零信號引腳相當于一個非門輸入,當清零信號輸入為高電平(即 ~CR=0)時,計數器清零,進位引腳RCO以及數字輸出引腳Q輸出低電平。
  • 置數信號引腳(~LD):輸入置數信號,即當該引腳輸入高電平( ~LD=0)時將輸入的數字傳遞給輸出引腳Q。
  • 計數使能信號(EP,ET):當清零信號CR=0且置數信號LD=0時,計數使能信號有0則保持,全1且處于時鐘上升沿則開始計數。
  • 數字輸入引腳(D,C,B,A):輸入數字,以作為加數參與加法器功能。
  • 數字輸出引腳(Q):共4根,輸出加法運算后的數據。
  • 進位引腳(RCO):為級聯提供功能支持。
  • 電源、接地:略。
  • 代碼

    `timescale 1ns / 1ps module x74x160(input clk,input CR_n,input LD_n,input EP,ET,input D,C,B,A,output reg RCO = 1'b0,output [3:0]Q);reg [3:0]data_in;assign Q = data_in;always@ (posedge clk or negedge CR_n)beginif(~CR_n)begindata_in <=4'b0;RCO <=1'b0;endelse if( ~LD_n )data_in <= { D, C, B, A };else if( ~EP | ~ET )data_in <= data_in; elsebegindata_in <= (data_in < 4'b1010) ? data_in + 1'b1 : 4'b0;RCO <= (data_in < 4'b1001) ? RCO : 1'b1;endend endmodule

    下面為74ls160在Verilog HDL中的仿真代碼:

    module SIM;reg clk;reg CR_n;reg LD_n;reg EP,ET;reg D,C,B,A;wire RCO;wire [3:0] Q; x74x160 u1(clk,CR_n,LD_n,EP,ET,D,C,B,A,RCO,Q); initial beginclk=0;CR_n=1;LD_n=1;EP=0;ET=0;D=1;C=0;B=1;A=0; #100;CR_n = 0; #200;CR_n = 1; LD_n = 0; #200EP = 0; ET = 1; LD_n = 1; #200ET = 0;#100CR_n = 0;#100 CR_n = 1; #260EP = 1;ET = 1; end always #25 clk=~clk; endmodule

    當然,時鐘還是用的又細又短的那種(真的好方便啊@_@)

    仿真效果

    總之就是很可愛(〃‘▽’〃)

    小結

    眾所周知,天下沒有不散的宴席,天下沒有不勞的收獲。Verilog HDL的學習絕非朝日之功,跟隨別人的腳步永遠只能步其后塵。世上不存在完美的物件,這一系列的文章也一定會存在缺陷。為各位朋友提供某些環境(比如大一實驗室筆試╮(─▽─)╭)的試題答案不是我創作的意圖,一點也不是。這六篇文章(可能以后一時興起會再續更一些)僅僅是用來告訴各位剛剛接觸到Verilog HDL的朋友,不要看著Verilog HDL語法極其類似C/C++而認為可以直接著手某些協議的編寫,更不能認為自己C/C++基礎極好便可直接接單某些工程。相反,對于數電知識和邏輯方面嚴格的約束更要求初學者們從簡單處入手,在簡單處碰壁,在簡單處探索,在簡單處攻關,才能化簡為繁,完善思維,糾正風格,最后獲得能夠自主搭建一套嚴密的邏輯體系的能力,甚至,擺脫外族束縛,逐步走向自主研發。這才應當是我們學習技術的目的。

    總結

    以上是生活随笔為你收集整理的Verilog HDL的简单应用之74ls160功能的实现的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。