小编dwi*_*kle的帖子

如何从预处理器宏创建字符串

我有一个预处理器宏,代表我的设计的分层路径.

例:

`define HPATH top.chip.block
Run Code Online (Sandbox Code Playgroud)

我需要构造一个保存值的字符串`HPATH,所以在我的例子中字符串应该相等top.chip.block.

有没有办法构建这样的字符串?

以下尝试都没有奏效:

string hpath;
hpath = "`HPATH";     // Results in hpath = "`HPATH"
hpath = \"``HPATH\";  // Doesn't compile
hpath = `HPATH;       // Doesn't compile
Run Code Online (Sandbox Code Playgroud)

我希望hpath等同于执行此分配hpath = "top.chip.block",但通过使用`HPATH而不是再次指定路径.

我无法使用,%m因为我需要在我的顶级UVM环境中的字符串,而不是在模块中.

更多背景:我想这样做的原因是因为我在UVM类库中使用后门寄存器访问.后门API需要将hdl_path设置为设计中的块,作为字符串.我已经定义了分层路径,并且在指定hdl_paths时尝试重用它们,所以我没有定义两次相同的路径.我的测试平台将使用分层路径和字符串路径.

macros verilog system-verilog

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

Perforce客户端预提交挂钩

我们使用perforce作为Visual Studio解决方案的源代码控制.使用P4和P4V.是否可以添加客户端预提交钩子?例如,确保"调试器"一词;*.js文件中不存在.可以在谷歌找到一些东西.谢谢.

perforce pre-commit-hook

6
推荐指数
1
解决办法
3429
查看次数

如何获取当前客户端规范的库中的最新Perforce更改列表

我想在我的当前客户端规范的仓库中获取最新的更改列表.如果我p4 sync在工作区中执行了此操作,这实际上是同步的更改.

我尝试过p4 changes -s submitted -m1 -c [client-name],但这会返回通过我的客户端提交的最新更改.

这样做p4 changes -s submitted -m1 //depot/path/...会有效,但我不想查询客户端规范来弄清楚库路径是什么.另外,如果有多个映射,我不知道如何理解.

似乎必须有一个简单的方法来做到这一点,我错过了.

编辑

我确实需要查询客户端规范,但正如在接受的答案中所指出的,我可以使用客户端规范root作为文件路径,而不需要查看视图映射.

使用P4Python的最终解决方案:

# Get client
clientspec = p4.fetch_client()
root = clientspec["Root"]

# Get latest changenum in client mapping
changes = p4.run("changes", "-s", "submitted", "-m1", root + "/...")
changenum = changes[0]['change']
Run Code Online (Sandbox Code Playgroud)

perforce

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

如何编写正则表达式以匹配Verilog文件中的模块实例化?

我正在开发一个项目,通过使用perl脚本语言来促进verilog编程.现在我想编写一个脚本来扫描一个顶级的verilog文件,然后为该模块生成层次结构列表,这表明我需要从verilog文件中提取模块实例化语句,这是问题所在:

如何编写正则表达式来匹配verilog文件中的模块实例化,因为我们需要知道顶层模块文件的子模块名称.

regex perl verilog

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

上升沿检测系统

module syncrisedgedetect(input logic sig_a, rst,clk,output logic sig_a_risedge);

  logic sig_a_d1;

  always @(posedge clk or negedge rst)
  begin
    if(!rst)
      sig_a_d1<=1'b0;
    else
      sig_a_d1<=sig_a;
  end

  assign sig_a_risedge=sig_a & !sig_a_d1;

endmodule
Run Code Online (Sandbox Code Playgroud)

嗨,我在一本关于sig_a的上升沿检测的书中遇到了这个代码.任何人都能解释我的工作吗?

谢谢

verilog system-verilog

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