|
28 | 28 | " width = m.Parameter('WIDTH', 8)\n", |
29 | 29 | " clk = m.Input('CLK')\n", |
30 | 30 | " rst = m.Input('RST')\n", |
31 | | - " led = m.OutputReg('LED', width)\n", |
32 | | - " count = m.Reg('count', 32)\n", |
| 31 | + " led = m.OutputReg('LED', width, initval=0)\n", |
| 32 | + " count = m.Reg('count', 32, initval=0)\n", |
| 33 | + "\n", |
| 34 | + " seq = Seq(m, 'seq', clk, rst)\n", |
| 35 | + "\n", |
| 36 | + " seq.If(count == 1024 - 1)(\n", |
| 37 | + " count(0)\n", |
| 38 | + " ).Else(\n", |
| 39 | + " count.inc()\n", |
| 40 | + " )\n", |
| 41 | + "\n", |
| 42 | + " seq.If(count == 1024 - 1)(\n", |
| 43 | + " led.inc()\n", |
| 44 | + " )\n", |
| 45 | + "\n", |
| 46 | + " seq(\n", |
| 47 | + " Systask('display', \"LED:%d count:%d\", led, count)\n", |
| 48 | + " )\n", |
33 | 49 | "\n", |
34 | | - " m.Always(Posedge(clk))(\n", |
35 | | - " If(rst)(\n", |
36 | | - " count(0)\n", |
37 | | - " ).Else(\n", |
38 | | - " If(count == 1023)(\n", |
39 | | - " count(0)\n", |
40 | | - " ).Else(\n", |
41 | | - " count(count + 1)\n", |
42 | | - " )\n", |
43 | | - " ))\n", |
44 | | - " \n", |
45 | | - " m.Always(Posedge(clk))(\n", |
46 | | - " If(rst)(\n", |
47 | | - " led(0)\n", |
48 | | - " ).Else(\n", |
49 | | - " If(count == 1024 - 1)(\n", |
50 | | - " led(led + 1)\n", |
51 | | - " )\n", |
52 | | - " ))\n", |
53 | | - " \n", |
54 | | - " m.Always(Posedge(clk))(\n", |
55 | | - " If(rst)(\n", |
56 | | - " ).Else(\n", |
57 | | - " Systask('display', \"LED:%d count:%d\", led, count)\n", |
58 | | - " ))\n", |
59 | | - " \n", |
60 | 50 | " return m" |
61 | 51 | ] |
62 | 52 | }, |
|
171 | 161 | " always @(posedge CLK) begin\n", |
172 | 162 | " if(RST) begin\n", |
173 | 163 | " count <= 0;\n", |
| 164 | + " LED <= 0;\n", |
174 | 165 | " end else begin\n", |
175 | 166 | " if(count == 1023) begin\n", |
176 | 167 | " count <= 0;\n", |
177 | 168 | " end else begin\n", |
178 | 169 | " count <= count + 1;\n", |
179 | 170 | " end\n", |
180 | | - " end\n", |
181 | | - " end\n", |
182 | | - "\n", |
183 | | - "\n", |
184 | | - " always @(posedge CLK) begin\n", |
185 | | - " if(RST) begin\n", |
186 | | - " LED <= 0;\n", |
187 | | - " end else begin\n", |
188 | 171 | " if(count == 1023) begin\n", |
189 | 172 | " LED <= LED + 1;\n", |
190 | 173 | " end \n", |
191 | | - " end\n", |
192 | | - " end\n", |
193 | | - "\n", |
194 | | - "\n", |
195 | | - " always @(posedge CLK) begin\n", |
196 | | - " if(RST) begin\n", |
197 | | - " end else begin\n", |
198 | 174 | " $display(\"LED:%d count:%d\", LED, count);\n", |
199 | 175 | " end\n", |
200 | 176 | " end\n", |
|
10231 | 10207 | "\n", |
10232 | 10208 | " # sim.view_waveform()" |
10233 | 10209 | ] |
10234 | | - }, |
10235 | | - { |
10236 | | - "cell_type": "code", |
10237 | | - "execution_count": null, |
10238 | | - "metadata": { |
10239 | | - "collapsed": true |
10240 | | - }, |
10241 | | - "outputs": [], |
10242 | | - "source": [] |
10243 | 10210 | } |
10244 | 10211 | ], |
10245 | 10212 | "metadata": { |
|
0 commit comments