Skip to content

Commit 2185e0e

Browse files
committed
Unused methods are removed. They will be imported by the future merge of pull-request for clock/reset detection. Currently the pull-requests can not be accepted because those modifications do not pass the test codes.
1 parent fc48a79 commit 2185e0e

File tree

1 file changed

+0
-122
lines changed

1 file changed

+0
-122
lines changed

pyverilog/dataflow/bindvisitor.py

Lines changed: 0 additions & 122 deletions
Original file line numberDiff line numberDiff line change
@@ -283,128 +283,6 @@ def _createAlwaysinfo(self, node, scope):
283283

284284
return (clock_name, clock_edge, clock_bit, reset_name, reset_edge, reset_bit, senslist)
285285

286-
#def _first_lvalue_is_const(self, node):
287-
# """ [FUNCTIONS]
288-
# Walk until lvalue and judge whether it is constant or not.
289-
#
290-
# ex.
291-
# if(RST)
292-
# reg1 <= 1'd0: //const: judged as rst branch
293-
#
294-
# if(RST)
295-
# reg1 <= {1'd0, 1'd0}: //const: judged as rst branch
296-
#
297-
# if(RST)
298-
# reg1 <= reg2: //variable: judged as not rst branch
299-
#
300-
# if(RST)
301-
# reg1 <= {1'd0, reg2}: //variable: judged as not rst branch
302-
# """
303-
# if isinstance(node, Always):
304-
# return self._first_lvalue_is_const(node.statement)
305-
# elif isinstance(node, Block):
306-
# return self._first_lvalue_is_const(node.statements[0])
307-
# elif isinstance(node, IfStatement):
308-
# return self._first_lvalue_is_const(node.true_statement)
309-
# elif isinstance(node, NonblockingSubstitution):
310-
# print(node.left.var)# for debug
311-
# return self._first_lvalue_is_const(node.right)
312-
# elif isinstance(node, Identifier):
313-
# node_chain = self.get_scopechain(node)
314-
# if node_chain in self.dataflow.terms.keys():
315-
# #Parameter is regard as constant.
316-
# return 'Parameter' in self.dataflow.terms[node_chain].termtype
317-
# return False
318-
# elif hasattr(node, 'children'):
319-
# for child in node.children():
320-
# if not self._first_lvalue_is_const(child):
321-
# return False
322-
# return True
323-
# elif isinstance(node, Rvalue):
324-
# return self._first_lvalue_is_const(node.var)
325-
# elif hasattr(node, 'value'):
326-
# return True
327-
# else:
328-
# raise Exception('Pyverilog unknown error')
329-
330-
#def get_scopechain(self, node):
331-
# assert isinstance(node, Identifier), 'Node type should be Identifier.'
332-
# scope_list = self.frames.current.get_module_list() + [util.ScopeLabel(str(node)),]
333-
# return util.ScopeChain(scope_list)
334-
335-
#def _get_rst_info(self, node, rst_name='', is_posedge=True, rst_bit=0):
336-
# """ [FUNCTIONS]
337-
# get reset information from first if statement.
338-
#
339-
# ex1.
340-
# always @(posedge CLK or posedge RST) begin
341-
# if(RST)
342-
# reg1 <= 0;
343-
# else
344-
# reg1 <= !reg1;
345-
# end
346-
# ->RST is posedge RST.
347-
#
348-
# ex2.
349-
# always @(posedge CLK or posedge RST) begin
350-
# if(!RSTN[1])
351-
# reg1 <= 0;
352-
# else
353-
# reg1 <= !reg1;
354-
# end
355-
# ->RSTN[1] is negedge RST.
356-
#
357-
# ex3.
358-
# always @(posedge CLK or posedge RST) begin
359-
# if(RST && RST2)
360-
# reg1 <= 0;
361-
# else
362-
# reg1 <= !reg1;
363-
# end
364-
# -> reg1 has no reset. (too complex condition)
365-
# """
366-
# if isinstance(node, Always):
367-
# return self._get_rst_info(node.statement, rst_name, is_posedge, rst_bit)
368-
# elif isinstance(node, Block):
369-
# return self._get_rst_info(node.statements[0], rst_name, is_posedge, rst_bit)
370-
# elif isinstance(node, IfStatement):
371-
# return self._get_rst_info(node.cond, rst_name, is_posedge, rst_bit)
372-
# elif isinstance(node, pyverilog.vparser.ast.Ulnot):
373-
# is_posedge = not is_posedge
374-
# return self._get_rst_info(node.children()[0], rst_name, is_posedge, rst_bit)
375-
# elif isinstance(node, pyverilog.vparser.ast.Pointer):
376-
# #TODO if identifier
377-
# if isinstance(node.ptr, Identifier):
378-
# ptr_chain = self.get_scopechain(node.ptr)
379-
# if 'Parameter' in self.dataflow.terms[ptr_chain].termtype:
380-
# rst_bit = self.dataflow.binddict[ptr_chain][0].tree.eval()
381-
# return self._get_rst_info(node.var, rst_name, is_posedge, rst_bit)
382-
# else:
383-
# return (None, None, None)
384-
# elif hasattr(node.ptr, 'value'):
385-
# return self._get_rst_info(node.var, rst_name, is_posedge, int(node.ptr.value))
386-
# elif isinstance(node, pyverilog.vparser.ast.Identifier):
387-
# return (node, is_posedge, rst_bit)
388-
# return (None, None, None)
389-
390-
#def _has_if_branch(self, node):
391-
# """ [FUNCTIONS]
392-
# Return always block have 'if branch' or not.
393-
# ex.
394-
# always @(posedge CLK or posedge RST) begin
395-
# reg1 <= 0;
396-
# end
397-
# -> reg1 has no reset. (If statement isn't exists.)
398-
# """
399-
# if isinstance(node, Always):
400-
# return self._has_if_branch(node.statement)
401-
# elif isinstance(node, Block):
402-
# return self._has_if_branch(node.statements[0])
403-
# elif isinstance(node, IfStatement):
404-
# return True
405-
# else:
406-
# return False
407-
408286
def visit_IfStatement(self, node):
409287
if self.frames.isFunctiondef() and not self.frames.isFunctioncall(): return
410288
if self.frames.isTaskdef() and not self.frames.isTaskcall(): return

0 commit comments

Comments
 (0)