标签: verilog

$ readmemh $ writememh相关资源

突然间,我开始研究一些使用$ readmemh和$ writememh的verilog testbench代码.我明白它基本上读取内存并写入内存.如果你能指出一些与这些惯例有关的资源,我将很高兴.PS:我在谷歌搜索没有成功.(我非常......对Verilog来说很新)

hardware verilog

12
推荐指数
1
解决办法
5万
查看次数

verilog模块的条件实例化

是否可以在verliog中有条件地实例化模块?

例如:

if (en==1)  
  then module1 instantiation  
else  
  module2 instantiation  
Run Code Online (Sandbox Code Playgroud)

conditional verilog instantiation hdl

12
推荐指数
3
解决办法
4万
查看次数

Spartan-3E上的随机数生成

我需要在Spartan-3E FPGA上为我的遗传算法生成伪随机数,我想在verilog中实现它:你能给我任何指针吗?

hardware random verilog fpga

11
推荐指数
3
解决办法
1万
查看次数

有没有人有关于VHDL和Verilog使用的定量数据?

VHDL和Verilog的用途相同,但大多数工程师都喜欢这两种语言中的一种.我想找出谁喜欢哪种语言.

有关Verilog和VHDL之间分离的几十个神话和常见智慧.(ASIC/FPGA,欧洲/美国,商业/国防等)如果你四处询问,人们会一遍又一遍地告诉你同样的事情,但我想知道这些神话是否基于现实.

所以我的问题是:任何人都可以提供定量数据来源,表明谁使用VHDL,谁使用Verilog?再一次,我正在寻找数字,而不是寻找直觉和一般迹象.

comparison verilog vhdl

11
推荐指数
1
解决办法
5589
查看次数

在verilog中划分

我在教自己verilog.我在介绍章节中说过要执行除法的书,我们使用'/'运算符或'%'运算符.在后面的章节中,它说分割对于verilog而言太复杂而且无法合成,因此为了执行除法,它引入了一个长算法.

所以我很困惑,不能verilog处理简单划分?/运营商没用吗?

verilog

11
推荐指数
4
解决办法
6万
查看次数

在Verilog中断言

我对Verilog完全不熟悉,所以请耐心等待.

我想知道Verilog中是否有断言声明.在我的测试平台中,我希望能够断言模块的输出等于某些值.

例如,

mymodule m(in, out);
assert(out == 1'b1);
Run Code Online (Sandbox Code Playgroud)

谷歌搜索给了我一些链接,但它们要么太复杂,要么似乎不是我想要的.

assert verilog

11
推荐指数
4
解决办法
2万
查看次数

在verilog中包含一个模块

我想将verilog模块包含到另一个文件中.如何将其包含在代码中,如何编译代码以包含头文件?是不是像c?

verilog

11
推荐指数
1
解决办法
5万
查看次数

什么是推断锁存器以及如何在缺少其他语句时创建它如果condition.can任何人简单解释?

我试图找出推断的锁存器以及内部需要它的原因,但我找不到任何具有足够细节的资源.

verilog

11
推荐指数
2
解决办法
3万
查看次数

@(posedge Clk)之间的区别; a <= 1'b1; 和@(posedge Clk)a <= 1'b1;

两者之间有什么区别吗?

@(posedge Clk);
   a<= 1'b1;
Run Code Online (Sandbox Code Playgroud)

@(posedge Clk)
   a<= 1'b1;
Run Code Online (Sandbox Code Playgroud)

注意Clk之后的分号.当我浏览测试平台时,我遇到了类似的代码行.我做了一些简单的实验,在模拟过程中找不到任何差异.由于分号的存在/不存在,这些行后面的代码的执行顺序是否会以任何方式改变?

verilog system-verilog

10
推荐指数
2
解决办法
3596
查看次数

如何在RTL中使用时钟门控?

我在我的设计中为时钟控制了一些锁存和逻辑.我在合成和布局方面没有太多经验.在RTL中实现时钟门控的正确方法是什么?

例1:

always_comb begin
    gated_clk  = clk & latch_update_en;
end

always_latch begin
    if(gated_clk) begin
         latch_data <= new_data;
    end
end
Run Code Online (Sandbox Code Playgroud)

例2:在对RTL时钟门控的良好实践进行一些研究时,我偶然发现了一个RTL示例.该示例实现了上面的代码:

clock_gator cg_cell (.clk(clk), .en(latch_update_en), .scan_en(scan_en_in), .gated_clk(gated_clk));

always_latch begin
    if(gated_clk) begin
         latch_data <= new_data;
    end
end
Run Code Online (Sandbox Code Playgroud)

使用自定义时钟门控单元的目的是什么?如果clk在带有另一个使能信号的always_comb块中直接"和"处理,那么该工具是否在合成中有困难时间?我感觉使用特殊时钟门控单元是生成门控时钟信号的标准方法.我试图理解为什么会这样.

verilog register-transfer-level system-verilog vlsi

10
推荐指数
1
解决办法
2万
查看次数