0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取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触发器
•FDPE:具有时钟使能和异步预设的D触发器
•FDSE:具有时钟使能和同步设置的D触发器
•FDRE:具有时钟使能和同步复位的D触发器

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
移位寄存器是一系列触发器,允许跨固定(静态)数量的延迟级传播数据。 相反,在动态移位寄存器中,传播链的长度在电路操作期间动态变化。
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
动态移位寄存器是移位寄存器,其长度可在电路操作期间动态变化。
动态移位寄存器可以看作:
•一系列触发器,它们在电路工作期间可以接受的最大长度。
多路复用器,在给定的时钟周期内选择从传播链中提取数据的阶段。

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


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 移位寄存器
    +关注

    关注

    2

    文章

    182

    浏览量

    22021
收藏 人收藏

    评论

    相关推荐

    Verilog HDL硬件描述语言

    Verilog HDL硬件描述语言
    发表于 01-13 14:40

    Verilog_HDL硬件描述语言

    Verilog_HDL硬件描述语言 FPGA的资料
    发表于 02-26 14:03

    Verilog HDL硬件描述语言(非常经典的教材)

    Verilog HDL硬件描述语言(非常经典的教材)FPGA软件无线电开发(全阶视频教程+开发板+实例)详情链接:http://url.elecfans.com/u/5e4a12f2b
    发表于 07-22 14:50

    verilog+hdl硬件描述语言

    verilog+hdl硬件描述语言 初学者的福音 帮助广大初学者步入此行
    发表于 08-12 23:47

    VERILOG HDL硬件描述语言

    本书简要介绍了Verilog硬件描述语言的基础知识,包括语言的基本内容和基本结构 ,以及利用该语言在各种层次上对数字系统的建模方法。书中列举
    发表于 07-20 11:36 0次下载

    Verilog HDL语言简介

    Verilog HDL语言简介 1.什么是Verilog HDLVerilog HDL硬件
    发表于 02-09 08:59 3698次阅读

    verilog硬件描述语言课程讲义

    verilog硬件描述语言课程讲义
    发表于 05-21 15:01 33次下载
    <b class='flag-5'>verilog</b><b class='flag-5'>硬件</b><b class='flag-5'>描述语言</b>课程讲义

    Verilog硬件描述语言参考手册

    Verilog硬件描述语言参考手册,Verilog语法内容介绍
    发表于 11-12 17:20 0次下载

    Verilog HDL硬件描述语言

    Verilog HDL硬件描述语言 有需要的下来看看
    发表于 12-29 15:31 0次下载

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

    本章介绍Verilog HDL的基本要素,包括标识符、注释、数值、编译程序指令、系统任务和系统函数。另外,本章还介绍了Verilog硬件描述语言
    发表于 04-25 16:09 16次下载

    Verilog硬件描述语言

    VHDL语言编程学习Verilog硬件描述语言
    发表于 09-01 15:27 0次下载

    Verilog HDL硬件描述语言

    Verilog HDL硬件描述语言,感兴趣的小伙伴们可以瞧一瞧。
    发表于 11-11 11:20 11次下载

    Verilog HDL语言技术要点

    的是硬件描述语言。最为流行的硬件描述语言有两种Verilog HDL/VHDL,均为IEEE标准
    的头像 发表于 09-01 11:47 4044次阅读
    <b class='flag-5'>Verilog</b> <b class='flag-5'>HDL</b><b class='flag-5'>语言</b><b class='flag-5'>技术</b>要点

    使用Verilog/SystemVerilog硬件描述语言练习数字硬件设计

    HDLBits 是一组小型电路设计习题集,使用 Verilog/SystemVerilog 硬件描述语言 (HDL) 练习数字硬件设计~
    的头像 发表于 08-31 09:06 1212次阅读

    二十进制编码器及Verilog HDL描述 Verilog HDL程序的基本结构及特点

    节通过硬件描述语言Verilog HDL对二十进制编码器的描述,介绍
    的头像 发表于 08-28 09:54 1402次阅读
    二十进制<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>程序的基本结构及特点