首 页文档资料下载资料维修视频包年699元
请登录  |  免费注册
当前位置:精通维修下载 > 文档资料 > 家电技术 > 单元电路介绍 > 其它电路
博客园正式支持Verilog语法着色功能
来源:本站整理  作者:佚名  2011-05-13 09:33:56



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

关键词:

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分)
Copyright © 2007-2017 down.gzweix.Com. All Rights Reserved .
页面执行时间:78,632.81000 毫秒