小编Cor*_* G.的帖子

Verilog最佳实践 - 增加变量

我绝不是Verilog的专家,我想知道是否有人知道这些增加价值的方法更好.对不起,如果这个问题太简单了.

方式A:

在组合逻辑块中,可能在状态机中:

//some condition
count_next = count + 1;
Run Code Online (Sandbox Code Playgroud)

然后在顺序块中的某个地方:

count <= count_next;
Run Code Online (Sandbox Code Playgroud)

或方式B:
组合块:

//some condition
count_en = 1;
Run Code Online (Sandbox Code Playgroud)

顺序块:

if (count_en == 1)
  count <= count + 1;
Run Code Online (Sandbox Code Playgroud)

我经常看到Way A.方法B的一个潜在好处是,如果你在状态机的许多地方递增相同的变量,也许它只使用一个加法器而不是许多加法器; 或者是假的?

首选哪种方法,为什么?要么有明显的缺点?

谢谢.

verilog

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

用VHDL索引数组

我有一个数组:

type offsets_type is array (4 downto 0) of std_logic_vector (4 downto 0); 
signal av     : offsets_type;
Run Code Online (Sandbox Code Playgroud)

我想这样做,基本上:av[addr] += 1;
但这一行:

 av(to_integer(unsigned(addr))) <= unsigned(av(to_integer(unsigned(addr))) + 1;
Run Code Online (Sandbox Code Playgroud)

产生此错误:
to_integer can not have such operands in this context.

我也试过使用conv_integer,但这给出Wrong type of index了一个错误.

有解决方案吗 谢谢.

vhdl

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

用于更改屏幕分辨率和运行程序的脚本?

我从来没有做过任何脚本(对Linux也是新手).我想要的是用户可以点击的图标,它执行以下操作:
1.将屏幕分辨率更改为640x480.
2.运行程序(让我们调用它/path/myprogram)
3.当程序终止时,将屏幕分辨率更改回1024x768.

显然有一种叫做"xrandr"的东西可能会做到这一点,但我不确定它是如何工作的.此外,屏幕现在设置为"颠倒",并且应该始终保持这种状态(我不知道这对于此脚本是否重要).

另外,我注意到在Ubuntu中,当点击脚本时,它会显示一个提示:"在终端中运行","显示","运行"等.有没有办法让它默认为"运行"所以这个提示根本没有显示?

非常感谢你.

[[编辑]]

我使用了一个脚本xrandr,它几乎可以工作.它的行为与转到首选项 - >监视器的行为不同.当我使用脚本更改为640x480时,屏幕右侧的一部分会被切断.此外,由于某种原因,它将刷新率更改为73Hz而不是60Hz(如果我尝试将"刷新率"从"首选项"更改为60Hz,则图像会变得有点失真).

我试图xrandr --prop 弄清楚发生了什么,常规的首选项 - >监视器方式和xrandr方式之间的唯一区别似乎是这一行:

   640x480        72.8     75.0     60.0* 
   640x480        72.8*    75.0     60.0  
Run Code Online (Sandbox Code Playgroud)

该部分的标题是(我认为这是一个标题?):

VGA1 connected 640x480+0+0 inverted (normal left inverted right x axis y axis) 0mm x 0mm
Run Code Online (Sandbox Code Playgroud)

数字似乎与刷新率相对应,但这并不能解释为什么图像会被切断/扭曲.

所以基本上,我不知道发生了什么,也不知道如何解决它.我需要将分辨率更改设置为与Preferences - > Monitors相同.

此外,就桌面图标而言,事实证明Ubuntu有一个叫做"启动器"的东西,效果很好.还是非常感谢.:)

bash scripting ubuntu

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

标签 统计

bash ×1

scripting ×1

ubuntu ×1

verilog ×1

vhdl ×1