2015-06-22 7 views
8

संशोधित करें मैं घोषणाओं और हमेशा को छोड़कर 2 रिक्त स्थान का उपयोग करके Verilog मोड इंडेंट सब कुछ करने का प्रयास कर रहा हूं। यह वही है मैं अपने .emacs को जोड़ा गया है:Verilog मोड इंडेंटेशन

;; `define are not indented                                                              
(setq  verilog-indent-level-directive 0) 
;; always, initial etc not indented                                                           
(setq  verilog-indent-level-module 0) 
;; logic declarations are not indented                                                           
(setq  verilog-indent-level-declaration 0) 
;;2 space indent                                                                
(setq  verilog-indent-level    2) 
;; no indent on list and no indent when on multiple lines                                                      
(setq  verilog-indent-lists   nil) 
(setq  verilog-cexp-indent    0) 

ये एक परीक्षण मॉड्यूल

`ifndef MY_MODULE_SV 
`define MY_MODULE_SV 

module my_module #(                                                               
parameter MyPar1 = 16,                                                               
parameter MyPar2 = 32                                                               
        ) (
        input logic  clk, 
        input logic  reset, 
//comment indented weirdly                                                                
        output logic [3:0] result 
        ); 

logic [3:0]       count; 


always @(posedge clk) begin 
    //comment indented ok 
    if (reset) begin 
    count <= 0; 
    result <= 0; 
    end 
    else begin 
    result <= count; 
    count <= count+1; 
    end 
end 

endmodule; // my_module                                                               

`endif 

बात यह है कि सही नहीं है बंदरगाह और पैरामीटर सूची रहे हैं पर परिणाम है। count की घोषणा बंदरगाह घोषणाओं के साथ गठबंधन हो जाती है, जो अजीब है। मैं इस तरह दिखना चाहते हैं:

module my_module #(                                                               
    parameter MyPar1 = 16,                                                               
    parameter MyPar2 = 32                                                               
) (
    input logic  clk, 
    input logic  reset, 
    //result signal                                                                 
    output logic [3:0] result 
); 

मैं Emacs 24.3.1 उपयोग कर रहा हूँ मुझे यकीन है कि यह कैसे बदलाव करने ही Verilog मोड द्वारा प्रदान की चर, किसी भी सुझाव का उपयोग नहीं कर रहा हूँ?

उत्तर

3

यह आपके अनुरोधित लेआउट से बिल्कुल मेल नहीं खाता है, लेकिन मैं जो करता हूं वह मॉड्यूल कीवर्ड के नीचे #( डालता है और अंतराल को पैरामीटर सूची से विभाजित करता है और बंदरगाह सूची के लिए अलग-अलग लाइनों पर प्रारंभ पैर को विभाजित करता है। परिणाम नीचे है। मेरी खरोज के सभी 3 रिक्त स्थान के लिए है, लेकिन आप tweak सकता है कि आपकी आवश्यकताओं के अनुरूप:

module my_module 
    #(
    parameter MyPar1 = 16, 
    parameter MyPar2 = 32 
    ) 
    (
    input logic  clk, 
    input logic  reset, 
    //comment indented weirdly 
    output logic [3:0] result 
    ); 

    logic [3:0]   count; 

    always @(posedge clk) begin 
     //comment indented ok 
     if (reset) begin 
     count <= 0; 
     result <= 0; 
     end 
     else begin 
     result <= count; 
     count <= count+1; 
     end 
    end 

endmodule; // my_module                                                               

Verilog मोड मेरी .emacs फ़ाइल के संबंधित अनुभाग के नीचे है:

(custom-set-variables 
'(verilog-align-ifelse t) 
'(verilog-auto-delete-trailing-whitespace t) 
'(verilog-auto-inst-param-value t) 
'(verilog-auto-inst-vector nil) 
'(verilog-auto-lineup (quote all)) 
'(verilog-auto-newline nil) 
'(verilog-auto-save-policy nil) 
'(verilog-auto-template-warn-unused t) 
'(verilog-case-indent 3) 
'(verilog-cexp-indent 3) 
'(verilog-highlight-grouping-keywords t) 
'(verilog-highlight-modules t) 
'(verilog-indent-level 3) 
'(verilog-indent-level-behavioral 3) 
'(verilog-indent-level-declaration 3) 
'(verilog-indent-level-module 3) 
'(verilog-tab-to-comment t)) 
+0

क्या आपके .emacs में है ? – igon

संबंधित मुद्दे