|
|
@@ -54,19 +54,20 @@ reg dataValid;
|
|
|
reg dataValid_d1;
|
|
|
reg dataValid_d2;
|
|
|
|
|
|
-always @(posedge Clk_i)
|
|
|
-begin
|
|
|
- dataValid_d1 <= dataValid;
|
|
|
- dataValid_d2 <= dataValid_d1;
|
|
|
+always @(posedge Clk_i) begin
|
|
|
+ dataValid_d1 <= dataValid;
|
|
|
+ dataValid_d2 <= dataValid_d1;
|
|
|
end
|
|
|
|
|
|
reg [3:0] dataValidShReg;
|
|
|
-always @ (posedge Clk_i)
|
|
|
- dataValidShReg <= {dataValidShReg[2:0], dataValid};
|
|
|
+always @(posedge Clk_i) begin
|
|
|
+ dataValidShReg <= {dataValidShReg[2:0], dataValid};
|
|
|
+end
|
|
|
```
|
|
|
### Табуляция и пробелы
|
|
|
|
|
|
-При написании кода используется табуляция. В настройках используемого редактора необходимо добавить настройку на выдачу 4х пробелов на одно нажатие клавиши Tab.
|
|
|
+При сдвиге новой строки используется табуляция, между словами одной строки используются пробелы. В настройках используемого редактора необходимо в настройках Табуляции указать размер табуляции равный 4.
|
|
|
+Для улучшения читаемости кода, допускается использование табуляции между словами одной строки.
|
|
|
|
|
|
### Имя сигнала сброса
|
|
|
Имя сигнала сброса должно содержать в себе "Rst". Помимо этого в названии может отображаться дополнительная информация о полярности сигнала сброса, является он синхронным или асинхронным, локальным или глобальным и т.п.
|
|
|
@@ -168,12 +169,14 @@ module spi (
|
|
|
wire [DataWidth-1:0] outDataB;
|
|
|
wire wrEnA;
|
|
|
|
|
|
- always @(posedge clkA)
|
|
|
- if (wrEnA)
|
|
|
+ always @(posedge clkA) begin
|
|
|
+ if (wrEnA) begin
|
|
|
ramBlock[addrA] <= inDataA;
|
|
|
-
|
|
|
- always @(posedge clkB)
|
|
|
+ end
|
|
|
+ end
|
|
|
+ always @(posedge clkB) begin
|
|
|
outDataB <= ramBlock[addrB];
|
|
|
+ end
|
|
|
```
|
|
|
|
|
|
Также, вместо явного описания блока DSP, используемого для простого умножения двух 18-битных знаковых чисел, можно применить следующее описание:
|
|
|
@@ -182,8 +185,9 @@ module spi (
|
|
|
wire signed [17:0] bIn;
|
|
|
reg signed [35:0] p;
|
|
|
|
|
|
- always @(posedge <clock>)
|
|
|
+ always @(posedge <clock>) begin
|
|
|
p <= aIn * bIn;
|
|
|
+ end
|
|
|
```
|
|
|
|
|
|
**Замечание:** При использовании описанного подхода необходимо удостовериться:
|