我试图更熟悉测试驱动的方法.我的一个缺点是我的代码的主要部分是生成报告的上下文(PDF文档,图表图像).总是有一个复杂的设计师参与,没有简单的正确性测试.没机会测试片段!
你知道这种情况的TDD做法吗?
该混帐对开提供了钩子执行关于修订二进制搜索,并找出哪些变化打破了设计.是否有Perforce的等效脚本?我做了SO和谷歌搜索没有运气.
2010年3月1日更新:正如道格拉斯·莱德(Douglas Leeder)正确指出的那样,线性历史很容易实现.但是我们确实有多个分支在分支之间进行合并,因此它不像线性历史那样简单.另外,构建和测试代码需要花费一些时间(小时),因此自动测试将很好地让它在没有我回来的情况下运行并且在周末/周末运行.
目前我创建了一个发布分支,但是当我们发布之前有一段时间,我有时打开整个分支进行编辑然后锁定所有文件,以防止任何人在发布分支的"代码冻结"期间修改任何内容.
有没有更好的办法?以我当前的方式执行它似乎可能是对锁定功能的错误使用,是否有更好的方法来阻止某人在不使用分支的情况下检入代码.我虽然P4保护,但我不是这个perforce实例的管理员,并且在潜在的100行处理保护文件也会变得很麻烦.
有任何想法吗?
这个问题类似于"从浮点数中删除尾随'.0',但对于Perl和小数点后的最大位数.
我正在寻找一种方法将数字转换为字符串格式,删除任何冗余的'0',包括不仅仅是在小数点后面.并且仍然具有最大数字数字,例如3
输入数据是浮点数.期望的输出:
0 -> 0
0.1 -> 0.1
0.11 -> 0.11
0.111 -> 0.111
0.1111111 -> 0.111
Run Code Online (Sandbox Code Playgroud) 在(常规)软件中,我曾在使用gcc选项-Wall显示所有警告的公司工作.然后他们需要处理.使用Verilog或VHDL中的非平凡FPGA/ASIC设计通常会有许多警告.我应该担心所有这些吗?你有什么特别的技巧可以建议吗?我的流程主要针对FPGA(特别是Altera和Xilinx),但我认为相同的规则适用于ASIC设计,可能更多,因为在构建之后无法更改设计.
2010年4月29日更新:我最初考虑的是综合和P&R(布局布线)警告,但模拟警告也是有效的.
虽然绊倒了铬代码文档,但我发现了这篇文章:
http://code.google.com/p/chromium/wiki/UsingGit#Windows
如果你使用的是msysgit,那你就是在寻找麻烦.使用msysgit(包括TortoiseGit)和cygwin的git版本是导致存储库损坏的一种途径,因此坚持使用cygwin的版本会更安全.所以如果你的PATH中仍然有msysgit,那么你就是自己的.
这真的发生了吗?腐败的原因是什么?
这个问题提出了一般性问题.我特别询问VHDL,因为提出问题答案的工具是针对Java和PL/SQL的.它不需要是完美的,一些手动解释会很好.我这样做是为了自动提交任务.
编辑3/9/11:@phillipe指出自动提交任务与手动解释不一致.我正在努力鼓励其他工程师摆脱代码并看到他们做到了.我猜一个悲观的工具对于提交会更好; 如果它错过了一些不是世界末日的代码.或者我可以报告这些行的数量并通过电子邮件发送给我,而不是停止提交.
我从来没有初始化信号.这样,任何缺少重置或分配的信号都将是未知的或初始化的.在一些参考代码中,他们有初始化.这打败了我的意愿.此外,由于初始化不可合成,因此可能存在模拟/合成不匹配.
在这种情况下,有没有理由初始化信号?
编辑6/17/11:正如@ Adam12所说,这是存储(Verilog reg)和组合(线)元素.
我有以下模块:
module add_8bit ( output wire co,
output wire [7:0] r,
input wire ci,
input wire [7:0] x,
input wire [7:0] y );
Run Code Online (Sandbox Code Playgroud)
我试图通过以下代码使用它:
wire rbit [7:0];
wire onebit [7:0];
wire twocomp [7:0];
wire tco, tci;
add_8bit t9 ( tco, twocomp, tci, rbit, onebit );
Run Code Online (Sandbox Code Playgroud)
由于最后一行它不会编译,为什么?
谢谢.
perforce ×3
verilog ×3
vhdl ×3
git ×2
arrays ×1
asic ×1
comments ×1
corruption ×1
fpga ×1
git-bisect ×1
intel-fpga ×1
msysgit ×1
pdf ×1
perl ×1
printf ×1
reporting ×1
repository ×1
simulation ×1
tdd ×1