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

FPGA/ASIC技术

211人已加入

描述

以前在贴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

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分