×
嵌入式开发 > 详情

博客园正式支持Verilog语法着色功能

发布时间:2020-06-29 发布时间:
|

以前在贴Verilog代码时,都只能挑C++或者C#的语法着色,但两者的主题词毕竟不太一样,透过dudu的帮助,我将Verilog 2001年的主题词加上了,现在博客园也能漂亮的显示Verilog代码了!!

介绍
以下是个典型的Verilog代码,现在主题词都能正确显示,真是太感动了…。


checksum_task_logic 1个的模块(
输入的2 clk,
输入的3 reset_n,
输入的4 去,
输入的5 data_in_ready,
输入的6 [31 :0] data_to_process,
输出的7 [15 :0个]结果
8);
9
10 reg data_in_ready_delay;
11 reg [31 :0] data_in_reg;
12 reg [31 :0] sum_reg;
13
14导线[31 :0] sum_1;
15导线[31 :0] sum_2;
16导线[31 :0] sum_3;
17导线[31 :0] next_sum_reg;
18
上部19 //第一加法器阶段(16位)的折叠和下半
20分配sum_1 = data_in_reg [31 :16] + data_in_reg [15 :0];
21
22 //第二加法器状态(32位) sum_1和以前被存放的总和(sum_reg)
23分配next_sum_reg = sum_1 + sum_reg;
24
在总和记数器上部(运载计数)和下半的25 //折叠
26分配sum_2 = sum_reg [31 :16] + sum_reg [15 :0];
27
在sum_2上部(可能运载)和下半的28 //折叠
29分配sum_3 = sum_2 [31 :16] + sum_2 [15 :0];
30
31 //倒置总和(你的补全)结果的
32分配结果= {~ (sum_3 [15 :0])};
33
34 //延迟登记data_in_ready
35 always@ (posedge clk或negedge reset_n)开始
36,如果(reset_n == 1 ' b0)
37 data_in_ready_delay = 1 ' b0;
38
39 data_in_ready data_in_ready_delay的=;
40个结尾// always@
41
42 //给data_in记数器写
43 always@ (posedge clk或negedge reset_n)开始
44,如果(reset_n == 1 ' b0)
45 data_in_reg = 32 ' h00000000;
46
47 data_in_reg = data_to_process;
48个结尾// always@
49
50 //给总和记数器写下价值
51 always@ (posedge clk或negedge reset_n)开始
52,如果(reset_n == 1 ' b0)
53 sum_reg = 32 ' h00000000;
54,如果(去) //清除sum_reg在检查和演算开始
55 sum_reg = 32 ' h0000_0000;
56,如果(data_in_ready_delay == 1 ' b1)
57 sum_reg = next_sum_reg;
58
59 sum_reg = sum_reg;
60个结尾// always@
61
62 endmodule



『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
基于嵌入式系统的CAN总线网络通信流程设计