草庐IT

【Verilog TestBench教程】

VerilogTestBench教程1.VerilogTestbench的结构2.实例化待测模块(DUT)3.时间建模4.Verilog初始化模块/永久循环5.Verilog系统任务6.实例分析附录a.modelsim-objects窗口为空的解决办法b.modelsim仿真报错“errorloadingdesign”参考文献1.VerilogTestbench的结构TestBench文件中,包括了很多不可综合的Verilog代码,这些代码可以用于生成测试激励,并且用于检查待测模块是否满足了设计的要求。激励模块用于生成测试信号,输出检测模块用于检测输出结构是否与设计预期结构相同。对于复杂的Te

【Verilog TestBench教程】

VerilogTestBench教程1.VerilogTestbench的结构2.实例化待测模块(DUT)3.时间建模4.Verilog初始化模块/永久循环5.Verilog系统任务6.实例分析附录a.modelsim-objects窗口为空的解决办法b.modelsim仿真报错“errorloadingdesign”参考文献1.VerilogTestbench的结构TestBench文件中,包括了很多不可综合的Verilog代码,这些代码可以用于生成测试激励,并且用于检查待测模块是否满足了设计的要求。激励模块用于生成测试信号,输出检测模块用于检测输出结构是否与设计预期结构相同。对于复杂的Te

Verilog 乘法器

 30那个地方改仿真的时长,默认是10us(但实际上好像是1us)这里改成30us//加载被乘数,运算时每次左移一位 (这里把被乘数位拓展了)  reg [63:0]multiplicand //加载乘数,运算时每次右移一位,相当于y  reg [31:0]multiplier; //部分积:乘数末位为1,由被乘数左移得到;乘数末位为0,部分积为0  wire[63:0]partial_product;//累加器  reg[63:0]product_temp;   //临时结果   product_temp这个部分积直接由被乘数得到,然后每一个时钟上跳沿直接加到temp上。代码中always是

Verilog 乘法器

 30那个地方改仿真的时长,默认是10us(但实际上好像是1us)这里改成30us//加载被乘数,运算时每次左移一位 (这里把被乘数位拓展了)  reg [63:0]multiplicand //加载乘数,运算时每次右移一位,相当于y  reg [31:0]multiplier; //部分积:乘数末位为1,由被乘数左移得到;乘数末位为0,部分积为0  wire[63:0]partial_product;//累加器  reg[63:0]product_temp;   //临时结果   product_temp这个部分积直接由被乘数得到,然后每一个时钟上跳沿直接加到temp上。代码中always是

同步FIFO的两种Verilog设计方法(计数器法、高位扩展法)

1、什么是FIFO        FIFO是一种先进先出的数据缓存器,在逻辑设计里面用的非常多,FIFO设计可以说是逻辑设计人员必须掌握的常识性设计。FIFO一般用在隔离两边读写带宽不一致,或者位宽不一样的地方。在FPGA设计,使用FIFO一般有两个方法,第一个方法是直接调用官方的FIFOIP,另外一个方法是自己设计FIFO控制逻辑。当然我们学会设计FIFO,并不一定是真的需要自己造轮子,只是说作为从业人员我们要了解相关的设计方法,毕竟自己造的轮子不一定能跑不是。        FIFO包括同步FIFO和异步FIFO两种,同步FIFO有一个时钟信号,读和写逻辑全部使用这一个时钟信号,异步FIF

同步FIFO的两种Verilog设计方法(计数器法、高位扩展法)

1、什么是FIFO        FIFO是一种先进先出的数据缓存器,在逻辑设计里面用的非常多,FIFO设计可以说是逻辑设计人员必须掌握的常识性设计。FIFO一般用在隔离两边读写带宽不一致,或者位宽不一样的地方。在FPGA设计,使用FIFO一般有两个方法,第一个方法是直接调用官方的FIFOIP,另外一个方法是自己设计FIFO控制逻辑。当然我们学会设计FIFO,并不一定是真的需要自己造轮子,只是说作为从业人员我们要了解相关的设计方法,毕竟自己造的轮子不一定能跑不是。        FIFO包括同步FIFO和异步FIFO两种,同步FIFO有一个时钟信号,读和写逻辑全部使用这一个时钟信号,异步FIF

Win11安装ise14.7~不需要虚拟机了~

之前一直无法在win11上安装ise14.7,网上搜索也无果,所有一直vmware虚拟机使用。直到最近看了水木上jesce的回复,试了下果然可以直接安装使用的。步骤如下即可:安装时切勿勾选最后一项,EnableWebTalktosendsoftware(勾选时无法安装,会卡90%)安装到80%时,ConfigureWebTalk会卡死在这。(图中82%是由于我1中勾选了,不勾选是80%)看到安装到ConfigureWebTalk时,就不用等了,会一直卡在这。去任务管理器中,结束xsetup.exe下的xwebtalk.exe任务ise安装会继续往下进行,直至安装完成用下载的文件夹里的两个文件,

Win11安装ise14.7~不需要虚拟机了~

之前一直无法在win11上安装ise14.7,网上搜索也无果,所有一直vmware虚拟机使用。直到最近看了水木上jesce的回复,试了下果然可以直接安装使用的。步骤如下即可:安装时切勿勾选最后一项,EnableWebTalktosendsoftware(勾选时无法安装,会卡90%)安装到80%时,ConfigureWebTalk会卡死在这。(图中82%是由于我1中勾选了,不勾选是80%)看到安装到ConfigureWebTalk时,就不用等了,会一直卡在这。去任务管理器中,结束xsetup.exe下的xwebtalk.exe任务ise安装会继续往下进行,直至安装完成用下载的文件夹里的两个文件,

Verilog设计一个32位ALU,并进行功能验证

设计一个32位ALU,并进行功能验证使用Quartus+modelsim完成设计文章目录设计一个32位ALU,并进行功能验证分析代码实现Testbench结果题目如下,已经给定了端口定义。分析ALU需要实现的功能如下:算术运算加、减法运算协助进行串行乘、除法计算逻辑运算按位逻辑技术and/nand/or/nor/xor/xnor/buf/not输出全0,全1值题目给出了采用行波进位的32位ALU设计,通过分析,认为主体部分为一个32位串行全加器,全加器的输入由原本的a与b替换为组合逻辑电路。故分别设计32位串行加法器以及输入处的组合逻辑电路。观察发现,令32位串行加法器的p和g进行定义即可。对

Verilog设计一个32位ALU,并进行功能验证

设计一个32位ALU,并进行功能验证使用Quartus+modelsim完成设计文章目录设计一个32位ALU,并进行功能验证分析代码实现Testbench结果题目如下,已经给定了端口定义。分析ALU需要实现的功能如下:算术运算加、减法运算协助进行串行乘、除法计算逻辑运算按位逻辑技术and/nand/or/nor/xor/xnor/buf/not输出全0,全1值题目给出了采用行波进位的32位ALU设计,通过分析,认为主体部分为一个32位串行全加器,全加器的输入由原本的a与b替换为组合逻辑电路。故分别设计32位串行加法器以及输入处的组合逻辑电路。观察发现,令32位串行加法器的p和g进行定义即可。对