我正在开始一个由多个模块组成的项目的开发.我将使用专用的测试平台验证每个模块,每个模块都有main()函数.
我想避免为每个测试平台及其main()函数安装一个Eclipse项目.
我阅读了有关工作集的内容,并且在我的项目中仅显示特定测试平台的相关文件的想法就是我搜索的内容.
但是,在构建阶段,Eclipse会继续构建所有项目文件,而不仅仅是当前的工作集文件.然后我有一个链接器错误,因为有多个main()函数.
如何配置Eclipse以仅构建工作集的文件?
是否有另一种方法可以在一个项目中单独构建多个程序,即应用程序及其组件测试平台?
我想分别设置std_logic_vector的位,以便轻松地为各个位或位组设置注释.这是我有的:
signal DataOut : std_logic_vector(7 downto 0);
...
DataOut <= ( 5=>'1', -- Instruction defined
4=>'1', -- Data length control bit, high=8bit bus mode selected
3=>'1', -- Display Line Number ctrl bit, high & N3 option pin to VDD=3 lines display
2=>'0', -- Double height font type control byte, not selected
1 downto 0=>"01", -- Select Instruction table1
others=>'0' -- for bits 6,7
);
Run Code Online (Sandbox Code Playgroud)
但是,我对"downto"语句有疑问,使用Xilinx ISE时出现以下错误:
Type std_ulogic does not match with a string litteral
Run Code Online (Sandbox Code Playgroud)
避免使用等效的任何解决方案
1=>'0',
0=>'1',
Run Code Online (Sandbox Code Playgroud)
并允许我逐块设置?
我有以下TCL代码:
#wrong format:
set in_val "12 0 2 0 0 0 1 0 3 698"
#correct format:
#set in_val "12 0 1 0 0 0 1 0 3 698"
set val_ok [regexp {(\d+)\s([01]\s)([01]\s)([01]\s)([01]\s)([01]\s)([01]\s)([01]\s)(\d+)\s(\d+).*} $in_val Var1 Var2 Var3 Var4 Var5 Var6 Var7 Var8 Var9 Var10 Var11]
if {$val_ok==1} {
# correct format
puts "Correct format, continuing..."
puts "$Var2 $Var3 $Var4 $Var5 $Var6 $Var7 $Var8 $Var9 $Var10 $Var11"
} else {
# wrong format
puts "Wrong format, stimulus [$in_val]"
}
Run Code Online (Sandbox Code Playgroud)
我想检查regexp函数描述的格式是否正确.当in_val var具有正确的格式时,一切都很好,if块是exectuted.但是,当格式错误时,我得到以下错误,而不是输入else块: …
activestate ×1
c++ ×1
eclipse ×1
if-statement ×1
indexing ×1
regex ×1
tcl ×1
vhdl ×1
working-set ×1