Verilog

Verilog实例化时的参数传递--#的用法

参考: Verilog实例化时的参数传递--即#的用法和defparam的用法_verilog #-CSDN博客 FPGA学习-Verilog例化说明_fpga中的例化-CSDN博客 在对参数例化时,如果模块用#例化常量,子模块也对该参数有定义时,参数实际值为顶层模块例化的值。 ......
实例 参数 Verilog

【Verilog】编码规范-coding sytle

目前所在单位并没有代码规范文档,以致于阅读代码很吃力,并且久而久之自己写的代码可读性也没法保证。在参考了很多资料后,决定按以下规范来写: 一、命名规范 1、文件命名 a、每个文件中只包含一个module、class、package,文件名于文件内容名称应相同。 2、module、class、pack ......
编码 Verilog coding sytle

verilog仿真信号文本抓取

module textinsert #( parameter DW = 32, parameter NAME = "test.txt" ) ( input logic clk , input logic en , input logic stop , input logic [DW-1:0] dat ......
信号 文本 verilog

Verilog 上升沿与下降沿检测

FPGA中常用的上升沿检测和下降沿检测代码,使用的verilog hdl语言 //上升沿检测 module pose_chk(clk, in, out); input clk, in; output out; reg curr, last; always@(posedge clk) begin cu ......
Verilog

Verilog的可综合和不可综合

1、所有综合工具都支持的结构 module、endmodule input、output、inout parameter、wire、reg、integer、tri、supply0、supply1 assign always、negedge、posedge begin、end case、default ......
Verilog

verilog学习笔记1

第一课的学习任务是: ①搞清楚常用语法,重点是赋值方式这部分,对应实际电路和实现的思路 ②能够写出ppt里的简单程序 ③会使用modelsim软件、编写testbench,验证自己的代码 一、数据流建模 1、连续赋值语句 格式是assign a = xxx;被赋值的变量必须是wire类型 语句定义了 ......
verilog 笔记

verilog设计行为仿真和时序仿真不一致, 原来是敏感信号的问题

描述 最近在vivado中设计一个计算器: 28bit有符号加减法,结果出现行为仿真和时序仿真不一致情况 代码 r_a, r_b : 对计算数据a, b的寄存器存储, 也是计算器的数据输入 s_bit : 符号位 cout : 28bit计算器的进位输出 cout[27] : 最高位进位, 用来判断 ......
时序 信号 行为 verilog 问题

m基于FPGA的OFDM系统verilog实现,包括IFFT,FFT,成型滤波以及加CP去CP,包含testbench

1.算法仿真效果 vivado2019.2仿真结果如下: CP加入,删除效果: 系统RTL结构图: 2.算法涉及理论知识概要 正交频分复用(Orthogonal Frequency Division Multiplexing,OFDM)是一种高效的无线通信技术,已经被广泛应用于无线通信领域。OFDM ......
testbench verilog 系统 FPGA OFDM

m基于FPGA的8PSK调制解调系统verilog实现,包含testbench测试文件

1.算法仿真效果 vivado仿真结果如下: 借助matlab看8PSK的星座图: 2.算法涉及理论知识概要 随着通信技术的不断发展,相位调制技术因其高频谱效率和抗干扰能力而广泛应用于无线通信系统中。其中,8PSK(8相位相移键控)作为一种高阶调制方式,具有更高的频谱效率和更强的抗干扰能力,因此备受 ......
testbench verilog 文件 系统 FPGA

Verilog实现Mips五级流水CPU

MIPS 项目仓库请见https://github.com/ZhangFirst1/MIPS 使用Verilog实现的Mips CPU,实现了简易的五级流水。项目使用Vivado构建。 实现了ori、or、and、xor、sll、jal、beq、sw、lw、subu、addu指令。解决了流水线数据相 ......
流水 Verilog Mips CPU

Verilog

default都写(习惯) {s1,s0} 拼接 input i0,i1,i2,i3 ......
Verilog

【实例】Verilog对数据进行四舍五入(round)与饱和(saturation)截位

转自 https://blog.csdn.net/yan1111112/article/details/118498533 重点: 1、正数截位:直接看截掉的最高位是不是一,是的话进一。 负数截位:截的最高位为1且其它位不全是0进一 2、饱和,也就是大于求的结果,整数变为符号位为0,其它位为1;负数 ......
saturation 实例 Verilog 数据 round

verilog实现 floor, round 四舍五入 和 saturation 操作

floor, round和saturation是进行bit位削减时常用的方法,floor 和round用于削减低位,saturation用于削减高位。floor和round的区别在于,floor是将低位直接丢掉,而round则是在丢掉低位前先进行四舍五入。round和saturation的使用范例如 ......
saturation verilog floor round

verilog之“缩减运算符”

reg[3:0] B; reg C; assign C = &B; 相当于:C = (( B[0] & B[1] ) & B[2] ) & B[3] ; 注:其他位运算符(~, |, ^, &, ^~)都有类似用法; 参考链接:verilog之“缩减运算符”-面包板社区 (eet-china.com ......
运算符 verilog

m基于FPGA的8ASK调制解调系统verilog实现,包含testbench测试文件

1.算法仿真效果 本系统Vivado2019.2平台开发,测试结果如下: rtl结构如下: 2.算法涉及理论知识概要 8ASK(八进制振幅键控)是一种数字调制技术,它是ASK(振幅键控)的一种扩展形式。在8ASK中,信号的振幅被调制成八个不同的级别,每个级别代表三个二进制位的信息。因此,与2ASK和 ......
testbench verilog 文件 系统 FPGA

m基于FPGA的4ASK调制解调系统verilog实现,包含testbench测试文件

1.算法仿真效果 本系统Vivado2019.2平台开发,测试结果如下: rtl结构如下: 2.算法涉及理论知识概要 随着通信技术的不断发展,多进制数字调制方式逐渐受到人们的关注。其中,4ASK(四进制振幅键控)作为一种有效的调制方式,在通信系统中具有广泛的应用前景。4ASK调制是一种多进制数字调制 ......
testbench verilog 文件 系统 FPGA

verilog 命令行输入参数

方便进行配置参数的多次遍历 tb的.v文件中 //get RG_huffmantype from simv in shell initial begin if($value$plusargs("RG_type=%d", RG_type)) begin RG_HuffmanType = RG_type ......
命令 参数 verilog

verilog 简易fifo

fifo.v `timescale 1ns / 1ps module fifo #( parameter fifo_depth = 128 )( input clk, input rst, input read_en, input write_en, input write_data, output ......
简易 verilog fifo

m基于FPGA的2ASK调制解调系统verilog实现,包含testbench测试文件

1.算法仿真效果 本系统Vivado2019.2平台开发,测试结果如下: 2.算法涉及理论知识概要 2ASK调制解调是一种数字调制解调技术,它是基于ASK调制的一种数字调制方式。ASK调制是一种模拟调制方式,它是通过改变载波的振幅来传输数字信号。而2ASK调制解调则是将数字信号转换为二进制码,再通过 ......
testbench verilog 文件 系统 FPGA

Icarus Verilog Command File Format

Icarus Verilog Command File Format 以“#”字符开头的行是注释。忽略“#”字符之后的所有文本。 “//”字符序列还开始一个注释,该注释一直持续到行的末尾。 The "/*" and "*/" character sequences surround multi-li ......
Command Verilog Icarus Format File

Icarus Verilog的命令行参数

Icarus Verilog的命令行参数。Icarus Verilog是一个开源的Verilog模拟器,它使用命令行界面。以下是对这些参数的详解: -E: 仅进行预处理,不编译或模拟。 -I: 添加包含目录。 -L: 添加库目录。 -M: 生成依赖文件。 -N: 忽略文件中的某些部分。 -o: 指定 ......
命令 参数 Verilog Icarus

基于FPGA的Lorenz混沌系统verilog开发,含testbench和matlab辅助测试程序

1.算法运行效果图预览 将vivado的仿真结果导入到matlab显示三维混沌效果: 2.算法运行软件版本 vivado2019.2 matlab2022a 3.算法理论概述 洛伦兹混沌系统是一种非线性动力系统,最初由爱德华·洛伦兹(Edward Lorenz)于1963年引入,它的简单方程组引发了 ......
testbench verilog 程序 Lorenz matlab

15-Verilog Coding Style

Verilog Coding Style 1.为什么需要Coding Style 可综合性 - 代码需要综合成网表,如果写了一些不可综合的代码,会出现错误 可读性,代码通常有多个版本,所以需要保证代码的可读性 保证代码质量,方便后续的综合以及后端的布局布线 2.头文件 使用统一的文件头,其中包括: ......
Verilog Coding Style 15

m基于FPGA的8FSK调制解调系统verilog实现,包含testbench测试文件

1.算法仿真效果 vivado2019.2仿真结果如下: 将波形放大,看到如下效果: 2.算法涉及理论知识概要 8FSK(8-Frequency Shift Keying)是一种常用的数字调制方法,它通过在不同的频率上发送二进制数据来进行通信。8FSK在通信系统中被广泛应用,因为它具有较高的数据传输 ......
testbench verilog 文件 系统 FPGA

m基于FPGA的4FSK调制解调系统verilog实现,包含testbench测试文件

1.算法仿真效果 vivado2019.2版本开发,仿真结果如下: 2.算法涉及理论知识概要 四频移键控(4FSK)是一种常用的数字调制方法,具有较高的频带利用率和抗干扰性能。它利用不同的频率来传输二进制数据,通常应用于无线通信和数据传输等领域。 2.1、原理与数学公式 4FSK调制的基本原理是将输 ......
testbench verilog 文件 系统 FPGA

Verilog

数值表示 Verilog HDL 有下列四种基本的值来表示硬件电路中的电平逻辑: 0:逻辑 0 或 "假" 1:逻辑 1 或 "真" x 或 X:未知 z 或 Z:高阻 整数数值表示方法 十进制('d 或 'D),十六进制('h 或 'H),二进制('b 或 'B),八进制('o 或 'O) 指明位 ......
Verilog

通过MATLAB自动产生Hamming编译码的verilog实现,包含testbench

1.算法运行效果图预览 2.算法运行软件版本 matlab2022a和vivado2019.2 3.算法理论概述 Hamming 编码是一种用于纠错错误的线性分组码。它是由理查德·哈明(Richard Hamming)在20世纪中期提出的,用于在数字通信和存储系统中检测和纠正传输过程中产生的错误。本 ......
译码 testbench Hamming verilog MATLAB

m基于FPGA的GFDM调制解调系统verilog实现,包含testbench仿真测试文件

1.算法仿真效果 本系统进行了Vivado2019.2平台的开发,测试结果如下: GFDM调制信号放大: GFDM解调信号放大: 系统RTL结构图如下: 2.算法涉及理论知识概要 随着通信技术的不断发展,人们对数据传输速率和频谱效率的要求越来越高。为了满足这些需求,一种名为广义频分复用(GFDM)的 ......
testbench verilog 文件 系统 FPGA

verilog数的舍入溢出和截位

四舍五入(round) 前面讲的都是对数据进行扩位,这一节说的是对数据截位时如何进行四舍五入以提高截位后数据的精度。 假设一个9Q6格式的数据为:9’b011.101101,现在只想保留3位小数位,显然必须把最后三位小数位截掉,但是不能直接把数据截成6’b011.101,这样是不精确的,工程上一般也 ......
verilog

verilog浮点表示

1.verilog浮点表示 定点运算有两个缺点:①可处理动态范围小;②由截尾舍入产生的百分比误差随着数的绝对值的减小而增加,这个问题可利用浮点数来解决。根据IEE754-1985标准,非负数n可以用两个参数表示,即尾数M和指数E,其表示形式为:$\eta =M×2^{E}$ sign exponen ......
浮点 verilog