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

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

通过实例设计来加深Verilog描述语法理解

454398 来源:Xilinx学术合作 作者:小鱼 2021-01-02 09:45 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

作者:小鱼,Xilinx学术合作

一.概述

在文章《Verilog HDL入门思路梳理》我们说过应该如何去学习Verilog HDL描述。然而第一步,我们需要知道Verilog有哪些语法,它是否可以综合,可以用这个语法来描述什么逻辑功能电路呢?

其实Xilinx已经贴心地准备好了答案,还给你准备了一堆参考实例。

二. Verilog行为级描述
资料名称“Vivado Design Suite User Guide - Synthesis - UG901 (v2018.2) June 6, 2018”。(注:大家可以在Xilinx官网,或者安装DocNav(Xilinx Documentation Navigator) 并在这里面找到这份资料。)

资料的第7章《Verilog Language Support》就是介绍在Vivado里,可综合的Verilog描述语法以及描述方式。重点就是Verilog行为级描述(Behavioral Verilog)。

在了解了Vivado支持的可综合的Verilog描述语法之后,我们就可以通过实例设计来加深理解。从哪里可以找到这些实例设计呢?在Vivado里面就有,下面告诉你们如何找到它们。

1.打开Vivado工具,先新建一个工程。然后进入下页面。

pIYBAF9uHp-AEi6kAAP19mDW48k676.png

2. 在界面最上面一行菜单栏找到 “Tools”,点击 Tools-> Language Templates

o4YBAF9uHqSAfstbAART5iHj0Qs162.png

3. 将下图中的Verilog栏展开,在Synthesis Constructs栏就是我们可综合的常见Verilog描述。可以看到 Always ,Conditional里的case,条件选择赋值语句,if-else等常见的语法模型他都列出来了。在Coding Example里面有一些基础的电路模块的Verilog描述示例。

pIYBAF9uHqmAY3eoAATahmrhtnE522.png

4. 展开Coding Example,可看到基础的电路,如累加器,基础算术电路,逻辑门,输入输出端口比较器,计数器,解码器,常见的数字信号处理电路,译码器,寄存器(flip flops),逻辑移位器,Misc(有七段式数码管驱动,同步电路,防抖电路, 开漏输出端口,脉冲调制电路),多路选择器,RAMROM,移位寄存器,状态机,三态缓冲器等等的Verilog描述示例。

pIYBAF9uHq2AVZj8AANlcYlZW_Y087.png

5.在Example Module里面有更多的设计示例,如一些算法电路的设计。有了一些基础之后,就可以把这里的设计示例都看看。

o4YBAF9uHrCAGjDPAAIw7ece2CU485.png

对于初学者可以好好利用这些资料。把上面这些示例模板和示例设计学习并仿真一遍。主要是将Verilog描述与电路对应起来,在Vivado里面可以使用Schematic,把Verilog描述的电路原理图显示出来。

编辑:hfy


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

    关注

    31

    文章

    1374

    浏览量

    114866
  • Vivado
    +关注

    关注

    19

    文章

    860

    浏览量

    71544
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    2026年可编程逻辑与EDA/IC设计实战:用Gemini镜像站辅助FPGA开发与芯片验证硬核教程

    设计与验证闭环。 一、AI如何理解硬件描述语言与设计意图 Verilog/VHDL这类硬件描述语言,本质上是对并行逻辑电路的文字刻画。Gemini对代码结构和数据流的
    的头像 发表于 05-26 16:31 67次阅读
    2026年可编程逻辑与EDA/IC设计实战:用Gemini镜像站辅助FPGA开发与芯片验证硬核教程

    Verilog HDL语法学习笔记

    Verilog HDL 语 言 最 初 是 作为 Gateway Design Automation 公 司 ( Gateway DesignAutomation 公司后来被著名的 Cadence Design Systems 公司收购)模拟器产品开发的硬件建模语言。
    的头像 发表于 03-04 15:04 5981次阅读
    <b class='flag-5'>Verilog</b> HDL<b class='flag-5'>语法</b>学习笔记

    通过vivado HLS设计一个FIR低通滤波器

    Vivado HLS是一款强大的高层次综合工具,可将C/C++代码转换为硬件描述语言(HDL),显著提升FPGA开发效率。
    的头像 发表于 01-20 16:19 632次阅读
    <b class='flag-5'>通过</b>vivado HLS设计一个FIR低通滤波器

    FPGA 入门必看:Verilog 与 VHDL 编程基础解析!

    很多开发者第一次接触FPGA,都会有同样的疑问:FPGA是硬件,不是软件,怎么写程序?答案就是用硬件描述语言(HDL),最常用的就是Verilog和VHDL。今天,我们就带你入门,搞清楚FPGA编程
    的头像 发表于 01-19 09:05 858次阅读
    FPGA 入门必看:<b class='flag-5'>Verilog</b> 与 VHDL 编程基础解析!

    如何使用Modelsim仿真I2C控制器

    ModelSim是Model Technology(Mentor Graphics的子公司)的HDL硬件描述语言的仿真软件。该软件可以用来实现对设计的VHDL、Verilog HDL 或是两种语言
    的头像 发表于 01-10 14:14 5758次阅读
    如何使用Modelsim仿真I2C控制器

    如何使用FPGA实现SRIO通信协议

    泛应用。文章重点解释了回环测试的基本概念,这种方法可验证FPGA中的SRIO接口功能的正确性,并提供了系统级测试验证的相关知识。同时,本例程还涵盖了Verilog语法、FPGA架构、SRIO协议细节、调试技巧及SRIO在多种应用领域中的
    的头像 发表于 11-12 14:38 6232次阅读
    如何使用FPGA实现SRIO通信协议

    使用NucleiStudio生成tb仿真需要的.verilog文件

    打开仿真顶层文件tb_top.v,存放在ITCM模块里面的指令是通过readmemh函数读入.verilog文件实现的: 下面通过对NucleiStudio IDE进行设置,实现将c
    发表于 11-05 07:07

    语法纠错和testbench的自动生成

    ,每次跑仿真都需要修改语法错误;另外在写完一个模块之后,每次跑仿真前都需要搭建testbench,模块的实例化,这显然是很麻烦的,查阅资料发现vscode有插件可以解决上述问题,故分享给大家
    发表于 10-27 07:07

    如何解决将e203的rtl导入vivado后报语法错误的问题

    主要内容是介绍一下如何解决将e203的rtl导入vivado后,报语法错误的问题。 二、分享内容 如图所示,导入源码后跑仿真,会报语法错误。 这是因为这些文件里面有用system verilog
    发表于 10-24 09:49

    如何在vivado上基于二进制码对指令运行状态进行判断

    结果 A0值为0,说明指令正确读取并运行 总结 通过这种方法我们可以在没有模拟器的情况下对自己扩展的指令进行测试,虽然略显复杂,但是在加深对代码理解的基础上还可以保证代码质量。
    发表于 10-24 06:46

    在vivado上基于二进制码对指令运行状态进行判断

    A0值为0,说明指令正确读取并运行 总结 通过这种方法我们可以在没有模拟器的情况下对自己扩展的指令进行测试,虽然略显复杂,但是在加深对代码理解的基础上还可以保证代码质量。
    发表于 10-24 06:31

    如何利用Verilog HDL在FPGA上实现SRAM的读写测试

    、建立读写操作、配置地址计数器、模拟数据流、综合与仿真以及下载到FPGA进行硬件测试。通过实践,掌握SRAM在FPGA中的使用和基本读写方法,加深对FPGA工作原理的理解
    的头像 发表于 10-22 17:21 4658次阅读
    如何利用<b class='flag-5'>Verilog</b> HDL在FPGA上实现SRAM的读写测试

    如何理解6 DOF ?

    维空间中所有可能进行的运动。核心理解:3个移动+3个转动理解6DOF最简单的方式就是把它拆解成两个部分:3个平移自由度(Position/Translation)描述物体在
    的头像 发表于 09-17 12:04 2857次阅读
    如何<b class='flag-5'>理解</b>6 DOF ?

    LED驱动电路设计

    内容提要本书以LED光源及其驱动技术为主线,全面系统地介绍了LED的特性、LED驱动电路及其相关技术,并结合实例介绍了各种LED驱动电路的详细设计方法,加深读者对LED驱动电源设计过程的理解。本书
    发表于 07-18 15:26

    为什么我选择VHDL入门

    在群里交流提问的时候,大家总是惊讶并疑惑:为什么我要选择 VHDL入门?因为好像 99% 搞 FPGA 开发的人都在用 Verilog。 我的选择,是通过网上搜索的讨论而做出的,为了留存,我这里水一
    的头像 发表于 06-25 11:18 1514次阅读
    为什么我选择VHDL入门