数字进制

在 Verilog 中的数字表示方式,最常用的格式是:<位宽>‘<基数><数值>,如:4’b1011.

<位宽>描述常量所含位数的十进制整数。

<基数>基数:表示数值是多少进制。可以是 b,B,d,D,o,O,h 或者 H,分别表示二进制、十进制、 八进制和十六进制。

<数值>如果基数为b或B,则数值可以为0,1,x,X,z,Z。其中x,X代表不定态,z,Z代表高阻态。对于基数为 d 或者 D 的情况, 数值符可以是任意的十进制数:0 到 9,但是不可以为x,z。

当只有数值未定义位宽时,默认数值位宽为32位。

不定态:if(din == 4’b10x0),该条件等价于 din==4’b1000||din==4’b1010.

位宽问题

加法运算时最终的结果取决于“=”号左边信号的位宽,保存低位,丢弃高位。故使用加法运算时,其结果需要拓展位宽。

减法运算时结果有正负之分需要增加一个符号位,用补码进行运算,正数:保持不变。  负数:符号位保持不变,数值取反加1.

逻辑运算符

操作数多位的逻辑非,只有操作数0时,才为1. 如:assign c = !4’b0111,结果c为0.

逻辑运算符的优先级

逻辑运算符中“&&”和“||”的优先级低于算数运算符;“!”的优先级高于双目逻辑运算符。

按位逻辑运算符

:在写程序时为明确个运算符之间的优先级多使用括号,多使用逻辑与,逻辑或,少使用逻辑非。

 移位运算符

通常使用左移右移代替乘法除法运算。如:实现a*67

条件运算符

s为条件当s==00时,C=D0。以此类推

注:case 语句的缺省项必须写,防止产生锁存器。

三目运算符 

if else语句

选择运算符

其语法形式为vect[ a +: b ]或vect[ a -: b ]vect 为变量名字,a 为起始位置,加号或者减号代表着升序或者降序,b代表升序或降序的宽度。

例如:vect[7 +: 3]==vect[7 : 9]                vect[9 -: 4]==vect[9 : 6]

当 cnt==0 时,将 din[7:0]赋值给 data[15:8];当 cnt==1 时将 din[7:0]赋值给 data[7:0]。 在设计的时候便可以写成:data[15-8*cnt -: 8] <= din[7 : 0].

拼接运算符

实例

由于非定长常数的长度未知, 不允许连接非定长常数。例如:{Dbus,5} ;/ /不允许连接操作非定长常数。

FPGA学习笔记(3)相关推荐

  1. FPGA学习笔记之Altera FPGA使用JIC文件配置固化教程

    FPGA学习笔记之Altera FPGA使用JIC文件配置固化教程 很多做过单片机的朋友都知 道,我们在对MCU烧写完程序固件后,那么该程序固件就存储在了该MCU内部.即使MCU断电了再重新上电,程序 ...

  2. FPGA学习笔记(七): DSB调制解调的仿真

    笔记七是DSB调制解调的仿真实现. DSB调制解调的实现原理:首先使用DDS产生低频正弦波信号作为调制信号,再用DDS产生高频信号作为载波信号,然后使用乘法器将两者相乘产生DSB信号,DSB信号与载波 ...

  3. FPGA学习笔记(1)简单的时序逻辑电路——流水灯

    FPGA学习笔记(1)简单的时序逻辑电路--流水灯 编程语言为Verilog HDL 原理 (1)设计一个计数器,使开发板上的4个LED状态每500ms翻转一次.开发板上的晶振输出时钟频率为50MHz ...

  4. FPGA学习笔记(八)同步/异步信号的打拍分析处理及亚稳态分析

    系列文章目录 一.FPGA学习笔记(一)入门背景.软件及时钟约束 二.FPGA学习笔记(二)Verilog语法初步学习(语法篇1) 三.FPGA学习笔记(三) 流水灯入门FPGA设计流程 四.FPGA ...

  5. FPGA学习笔记_ROM核调用与调试

    FPGA学习笔记 ROM核调用与调试 1. ROM存储器IP核的使用 2. 创建.mif文件 3. In system memory content editor内存查看工具的使用 4. Signal ...

  6. FPGA 学习笔记:Vivado 2020.2 MicroBlaze MIG 测试 DDR3 篇尾

    FPGA 学习笔记:Vivado 2020.2 MicroBlaze MIG 测试 DDR3 篇一 FPGA 学习笔记:Vivado 2020.2 MicroBlaze MIG 测试 DDR3 篇二 ...

  7. FPGA学习笔记(十二)IP核之FIFO的学习总结

    系列文章目录 一.FPGA学习笔记(一)入门背景.软件及时钟约束 二.FPGA学习笔记(二)Verilog语法初步学习(语法篇1) 三.FPGA学习笔记(三) 流水灯入门FPGA设计流程 四.FPGA ...

  8. FPGA学习笔记——分频电路设计

    FPGA学习笔记--分频电路设计 发布时间:2015-10-3023:29:52 分频就是用一个时钟信号通过一定的电路结构变成不同频率的时钟信号,这里介绍一下整数分频电路的设计方法.整数分频电路有偶数 ...

  9. 小梅哥FPGA学习笔记

    小梅哥FPGA学习笔记 一.38译码器 功能: 译码器其任一时刻的稳态输出,仅仅与该时刻的输入变量的取值有关,它是一种多输入多输出的组合逻辑电路,负责将二进制代码翻译为特定的对象(如逻辑电平等).38 ...

  10. FPGA学习笔记_UART串口协议_串口接收端设计

    FPGA学习笔记 1. UART串口协议以及串口接收端设计 1 原理图 2 Verilog 代码 3 Modelsim仿真 4. FPGA板级验证 1.1 串口协议接收端设计 目标:FPGA接收其他设 ...

最新文章

  1. Python去除字符串中的特殊字符(包括空格)
  2. 万维钢 万万没想到读书笔记
  3. 三角函数的思维导图(上)
  4. Oracle 卸载步骤详解
  5. 素质的冰山模型,成就动机 笔记
  6. 如何降低网站跳出率方法
  7. 豆瓣高分电影爬取项目,思路清晰,易上手,附免费代码下载
  8. 010-flutter dart代码后台执行,没有界面的情况下
  9. 犹他州计算机科学,犹他州大学计算机科学computer science专业排名第201~250名(2020THE泰晤士高等教育世界大学排名)...
  10. 华虹U盾(红白那种)win7旗舰版64位驱动解决方案
  11. scrapy 下载gif图片
  12. 频率选择性衰落和时间选择性衰落详解
  13. 京东最新Java面试真题解析!mysql两个时间比较
  14. 富人送了穷人一头牛,结果牛死了,看懂的离成功不远了!
  15. 不务正业之音乐节奏灯
  16. 2023,创客永不停歇
  17. 谜题21:我的类是什么?
  18. unity在模型上绘制贴图
  19. 英语基础-时态(一)
  20. Java线程全观(相当重要)

热门文章

  1. 免费获得NOD32 半年、1年 激活码-14.08.12到期
  2. PDDON | 又偶遇一款令人惊艳的在线绘图工具
  3. Silverlight4控件纯客户端注册验证
  4. 线程面试题之五:放水果问题
  5. VC++分别使用WinExec、CreateProcess、ShellExecute和ShellExecuteEx来启动程序(附源码)
  6. 洛谷 P8552 Rabbit
  7. 考研扩招!报考这些大学的,太幸运啦!
  8. 人工智能、机器学习、深度学习的区别
  9. Surface Book2安装Arch记录
  10. 手机自带计算机没有删除桌面找不到了,请问,怎么卸载桌面没有图标的软件,用完美卸载也找不到?...