左移寄存器vhdl_基于VHDL的移位寄存器设计
摘
要
本文通過對EDA和VHDL的簡單說明,闡述了基于
VHDL硬件描述語言的移位寄存器設計方法,程序簡單,在電子
設計中有一定的推廣價值。
關鍵詞
移位寄存器???設計??EDA??VHDL
隨著科學技術的不斷進步,尤其是計算機產業的日新月
異,作為計算機一個非常重要的部件——移位寄存器,從最早
只能簡單的左右移動功能的寄存器到現在廣泛應用的具有寄存
代碼、實現數據的串行并行轉換、數據運算和數據處理功能的
移位寄存器,它正朝著體小量輕能強的方向不斷發展,本文介
紹了利用生成語句設計的16位串入串出移位寄存器的方法。
1?EDA基本介紹
EDA是電子設計自動化(Electronic?Design?Automation)
的縮寫。EDA技術是指以計算機為工作平臺,融合了應用電子技
術、計算機技術、信息處理及智能化技術的最新成果,進行電
子產品的自動設計。設計者在EDA軟件平臺上,用硬件描述語
言VHDL完成設計文件,然后由計算機自動地完成邏輯編譯、化
簡、分割、綜合、優化、布局、布線和仿真,直至對于特定目
標芯片的適配編譯、邏輯映射和編程下載等工作。EDA技術的出
現,極大地提高了電路設計的效率和可操作性,減輕了設計者
的勞動強度。而在EDA設計中,經常會用到移位寄存的功能,如
并行傳送的數據轉換成串行傳送的數據時的移位以及乘法器的
部分積右移等。因此,移位寄存起的設計在基于數字系統的設
計中顯得十分必要。
2?VHDL簡介
VHDL是工業標準的硬件描述語言,稱之為VHSIC(Very
High
Speed
Integrated
Circuit
Hardware
Description
Language),簡稱VHDL。VHDL語言主要用于描述數字系統的結
構,行為,功能和接口。除了含有許多具有硬件特征的語句
外,VHDL的語言形式、描述風格以及語法是十分類似于一般的
計算機高級語言。VHDL的程序結構特點是將一項工程設計,或
稱設計實體(可以是一個元件,一個電路模塊或一個系統)分
成外部(或稱可視部分及端口)和內部(或稱不可視部分),即
涉及實體的內部功能和算法完成部分。在對一個設計實體定義
了外部界面后,一旦其內部開發完成后,其他的設計就可以直
接調用這個實體。這種將設計實體分成內外部分的概念是VHDL
系統設計的基本點。
3?移位寄存器
寄存器按照功能的不同分為基本寄存器和移位寄存器兩大
類。基本寄存器只能并行送入數據,需要時也只能并行輸出。
移位寄存器中的數據可以在移位脈沖作用下依次逐位右移或左
移,數據既可以并行輸入、并行輸出,也可以串行輸入、串行
輸出,還可以并行輸入、串行輸出,串行輸入、并行輸出,十
分靈活,用途也很廣。
4?移位寄存器的設計過程
4.1?工作原理
如圖所示:串入串出移位寄存器有數據輸入端和同步時
鐘輸入端,一個數據輸出端。在同步時鐘的作用下,前級的數
據向后級移動。語句GENERATE用來產生多個相同的結構。利用
基于VHDL的移位寄存器設計
景興紅??劉??陳??王澤芳
(重慶正大軟件職業技術學院?400056)
GENERATE和D觸發器元件dff,可以很方便地設計出16位串入串
出移位寄存器。
4.2?利用VHDL編寫程序
(1)D觸發器的程序
library?ieee;
use?ieee.std_logic_1164.all;
entity?dff_logic?is
port?(?d,?clk:?in?std_logic;
q:?out?std_logic);
end?dff_logic;
architecture?dff1?of?dff_logic?is
begin
p1:?process?(clk)
begin
if?(clk?'?event?and?clk?=?1?)?then
q?<=?d;
end?if;
end?process?p;
end?dff;
(2)頂層文件-16位移位寄存器的VHDL程序
library?ieee??;
use?ieee.std_logic_1164.all;
entity?shift_16?is
port?(a,clk:in?std_logic;
b:out?std_logic);
end?shift_16;
architecture?sample?of?shift_16?is
component?dff
port?(d,clk:in?std_logic;
q:out?std_logic);
end?component;
signal?z:std_logic_vector?(0?to?16);
begin
z(0)?<=?a;
g1:for?i?in?0?to?15?generate
dffx:dff?port?map?(z(i),clk,z(i+1));
end?generate;
b?<=?z(16);
end?sample;
參考文獻
[1]潘松.VHDL實用教程【M】.成都:電子科技大學出版社
.2000;[2]Jayaram.Bhaker.VHDL教程.北京:機械工業出版社
.2006.
總結
以上是生活随笔為你收集整理的左移寄存器vhdl_基于VHDL的移位寄存器设计的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 使用普通摄像头,轻松实现精准动作捕捉能力
- 下一篇: 使用知网查重检测系统的高校有哪些?