0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

硬件描述語言(HDL)編碼技術:xilinx verilog語法技巧

454398 ? 來源:FPGA開源工作室 ? 作者:FPGA開源工作室 ? 2020-12-13 10:29 ? 次閱讀

xilinx verilog語法技巧 一

硬件描述語言(HDL)編碼技術讓您:
?描述數字邏輯電路中最常見的功能。
?充分利用Xilinx?器件的架構特性。

1 Flip-Flops and Registers
Vivado綜合根據HDL代碼的編寫方式推斷出四種類型的寄存器原語:
?FDCE:具有時鐘使能和異步清除的D觸發(fā)器
?FDPE:具有時鐘使能和異步預設的D觸發(fā)器
?FDSE:具有時鐘使能和同步設置的D觸發(fā)器
?FDRE:具有時鐘使能和同步復位的D觸發(fā)器

Register with Rising-Edge Coding Example (Verilog)
// 8-bit Register with
// Rising-edge Clock
// Active-high Synchronous Clear
// Active-high Clock Enable
// File: registers_1.v

module registers_1(d_in,ce,clk,clr,dout);
input [7:0] d_in;
input ce;
input clk;
input clr;
output [7:0] dout;
reg [7:0] d_reg;

always @ (posedge clk)
begin
if(clr)
d_reg else if(ce)
d_reg end

assign dout = d_reg;
endmodule

2 Latches
// Latch with Positive Gate and Asynchronous Reset
// File: latches.v
module latches (
input G, input D, input CLR, output reg Q );
always @ *
begin
if(CLR) Q = 0; else if(G) Q = D;
end
endmodule

3 Shift Registers
移位寄存器是一系列觸發(fā)器,允許跨固定(靜態(tài))數量的延遲級傳播數據。 相反,在動態(tài)移位寄存器中,傳播鏈的長度在電路操作期間動態(tài)變化。
Vivado綜合在SRL類資源上實現了推斷的移位寄存器,例如:
?SRL16E
?SRLC32E

8-Bit Shift Register Coding Example One (Verilog)
// 8-bit Shift Register
// Rising edge clock
// Active high clock enable
// Concatenation-based template
// File: shift_registers_0.v
module shift_registers_0 (clk, clken, SI, SO);
parameter WIDTH = 32;
input clk, clken, SI;
output SO;
reg [WIDTH-1:0] shreg;
always @(posedge clk)
begin if (clken) shreg assign SO = shreg[WIDTH-1];
endmodule

32-Bit Shift Register Coding Example Two (Verilog)
// 32-bit Shift Register
// Rising edge clock
// Active high clock enable
// For-loop based template
// File: shift_registers_1.v
module shift_registers_1 (clk, clken, SI, SO);
parameter WIDTH = 32;
input clk, clken, SI;
output SO;
reg [WIDTH-1:0] shreg;
integer i;
always @(posedge clk)
begin
if (clken) begin for (i = 0; i end
assign SO = shreg[WIDTH-1];
endmodule

Dynamic Shift Registers
動態(tài)移位寄存器是移位寄存器,其長度可在電路操作期間動態(tài)變化。
動態(tài)移位寄存器可以看作:
?一系列觸發(fā)器,它們在電路工作期間可以接受的最大長度。
?多路復用器,在給定的時鐘周期內選擇從傳播鏈中提取數據的階段。

32-Bit Dynamic Shift Registers Coding Example (Verilog)
// 32-bit dynamic shift register.
// Download:
// File: dynamic_shift_registers_1.v
module dynamic_shift_register_1 (CLK, CE, SEL, SI, DO);
parameter SELWIDTH = 5;
input CLK, CE, SI;
input [SELWIDTH-1:0] SEL;
output DO;
localparam DATAWIDTH = 2**SELWIDTH;
reg [DATAWIDTH-1:0] data;
assign DO = data[SEL];
always @(posedge CLK)
begin if (CE == 1'b1) data endmodule

編輯:hfy


聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 移位寄存器
    +關注

    關注

    2

    文章

    252

    瀏覽量

    22165
收藏 人收藏

    評論

    相關推薦

    Verilog HDL硬件描述語言

    Verilog HDL硬件描述語言
    發(fā)表于 01-13 14:40

    Verilog_HDL硬件描述語言

    Verilog_HDL硬件描述語言 FPGA的資料
    發(fā)表于 02-26 14:03

    Verilog HDL硬件描述語言(非常經典的教材)

    Verilog HDL硬件描述語言(非常經典的教材)FPGA軟件無線電開發(fā)(全階視頻教程+開發(fā)板+實例)詳情鏈接:http://url.elecfans.com/u/5e4a12f2b
    發(fā)表于 07-22 14:50

    verilog+hdl硬件描述語言

    verilog+hdl硬件描述語言 初學者的福音 幫助廣大初學者步入此行
    發(fā)表于 08-12 23:47

    VERILOG HDL硬件描述語言

    本書簡要介紹了Verilog硬件描述語言的基礎知識,包括語言的基本內容和基本結構 ,以及利用該語言在各種層次上對數字系統(tǒng)的建模方法。書中列舉
    發(fā)表于 07-20 11:36 ?0次下載

    Verilog HDL硬件描述語言【書籍

    本書簡要介紹了Verilog 硬件描述語言的基礎知識,包括語言的基本內容和基本結構,以及利用該語言在各種層次上對數字系統(tǒng)的建模方法。書中列舉
    發(fā)表于 07-02 14:55 ?124次下載

    Verilog HDL語言簡介

    Verilog HDL語言簡介 1.什么是Verilog HDLVerilog HDL硬件
    發(fā)表于 02-09 08:59 ?3841次閱讀

    verilog硬件描述語言課程講義

    verilog硬件描述語言課程講義
    發(fā)表于 05-21 15:01 ?33次下載
    <b class='flag-5'>verilog</b><b class='flag-5'>硬件</b><b class='flag-5'>描述語言</b>課程講義

    Verilog硬件描述語言參考手冊

    Verilog硬件描述語言參考手冊,Verilog語法內容介紹
    發(fā)表于 11-12 17:20 ?0次下載

    Verilog HDL硬件描述語言

    Verilog HDL硬件描述語言 有需要的下來看看
    發(fā)表于 12-29 15:31 ?0次下載

    Verilog HDL硬件描述語言_Verilog語言要素

    本章介紹Verilog HDL的基本要素,包括標識符、注釋、數值、編譯程序指令、系統(tǒng)任務和系統(tǒng)函數。另外,本章還介紹了Verilog硬件描述語言
    發(fā)表于 04-25 16:09 ?16次下載

    Verilog硬件描述語言

    VHDL語言編程學習Verilog硬件描述語言
    發(fā)表于 09-01 15:27 ?0次下載

    Verilog HDL硬件描述語言

    Verilog HDL硬件描述語言,感興趣的小伙伴們可以瞧一瞧。
    發(fā)表于 11-11 11:20 ?11次下載

    使用Verilog/SystemVerilog硬件描述語言練習數字硬件設計

    HDLBits 是一組小型電路設計習題集,使用 Verilog/SystemVerilog 硬件描述語言 (HDL) 練習數字硬件設計~
    的頭像 發(fā)表于 08-31 09:06 ?1497次閱讀

    二十進制編碼器及Verilog HDL描述 Verilog HDL程序的基本結構及特點

    節(jié)通過硬件描述語言Verilog HDL對二十進制編碼器的描述,介紹
    的頭像 發(fā)表于 08-28 09:54 ?2289次閱讀
    二十進制<b class='flag-5'>編碼</b>器及<b class='flag-5'>Verilog</b> <b class='flag-5'>HDL</b><b class='flag-5'>描述</b> <b class='flag-5'>Verilog</b> <b class='flag-5'>HDL</b>程序的基本結構及特點