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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

基于VHDL移位寄存器程序设计

發布時間:2024/3/12 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 基于VHDL移位寄存器程序设计 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

基于VHDL移位寄存器程序設計

實驗目的

(1) 掌握中規模4位移位寄存器邏輯功能及使用方法。

(2) 學會用VHDL語言設計4位移位寄存器。

實驗原理

移位寄存器是一個具有移位功能的寄存器,是指寄存器中所存的代碼能夠在移位脈沖的作用下依次左移或右移。既能左移又能右移的稱為雙向移位寄存器,只需要改變左、右移位的控制信號便可實現雙向移位要求。根據移位寄存器存取信息的方式不同分為:串入串出、串入并出、并入串出、并入并出四種形式。該實驗設計的是串行輸入并行輸出的左移位寄存器,由頂層文件模塊及D觸發器模塊組成。

實驗內容

(1) 用VHDL編寫移位寄存器源程序。

(2) 將源程序進行綜合、優化及功能仿真。

(3)軟件說明:ModelSimSetup-13.1.0.162,QuartusSetup-13.1.0.162。

建立工程:

第一步:打開Quartus軟件。

第二步:點擊New Project Wizard -> next.

第三步:選擇工程文件的存放位置,輸入工程名 -> next -> next。

第四步:在family欄選擇芯片型號-Cyclone IV E,在Name欄選擇EP4CE115F29C7,選擇完之后點擊next。(如果不進行硬件調試時,此處默認即可)

第五步:檢查工程有沒有建錯,點擊完成。如下圖:

程序設計:

全加器頂層文件設計:

--文件名:shift_req.vhd 應與工程名保持一致:library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; entity shift_req isPort( a : in std_logic;clk : in std_logic;b: out std_logic_vector(4 downto 0)); end shift_req; architecture gen_shift of shift_req is signal z:std_logic_vector(0 to 4); component dff --D觸發器元件聲明port (d,clk:in std_logic;q:out std_logic); end component; begin -- --方法一 -- z(0)<=a; b<=z(4); -- q1:for i in 0 to 3 generate -- dffx : dff port map(z(i),clk,z(i+1)); -- end generate;--方法二 dff0: dff port map(a,clk,z(0)); --元件例化語句 dff1: dff port map(z(0),clk,z(1)); dff2: dff port map(z(1),clk,z(2)); dff3: dff port map(z(2),clk,z(3)); dff4: dff port map(z(3),clk,z(4)); b<=z; end gen_shift;

D觸發器元件進行實例化:

--文件名:dff.vhllibrary IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;entity dff isPort ( d : in std_logic;clk : in std_logic;q : out std_logic);end dff;architecture Behavioral of dff issignal q_temp:std_logic;beginprocess(clk)beginif(clk'event and clk='1')thenq_temp<=d;end if;end process;q<=q_temp;end Behavioral;

文件仿真(這里采用modelsim仿真波形):

  • 選擇File-> New -> Verification/Debugging Files ->University Program VWF。

    2.打開測試文件。(右鍵點擊添加端口,對輸入信號初始化,賦值。)

    3.仿真結果:

  • 邏輯電路圖:

    顯示編譯成功后,選擇菜單欄 Tools –>Netlist Viewers –>RTL Viewer 顯示邏輯電路圖

    總結

    以上是生活随笔為你收集整理的基于VHDL移位寄存器程序设计的全部內容,希望文章能夠幫你解決所遇到的問題。

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