Συμπλήρωμα

D

davyzhu

Guest
Hi all,

Είμαι νέος σε Verilog και θέλουν να οικοδομήσουν ένα 2 του συμπληρώματος Shifter.

Βρήκα
displayb% (8'b0001_1000>> 2)? / / Output 0000_0110
displayb% (8'b1001_1000>> 2)? / / Output 0010_0110

Έτσι, ">>" είναι ανυπόγραφο στροφή.
Πώς μπορώ να οικοδομήσουμε μια υπογραφή (Συμπλήρωμα του 2) στροφή που βασίζονται στο>>?
δηλαδή θέλω 8'b1001_1000>> 2 / / Output 1110_0110

Τυχόν προτάσεις θα εκτιμηθεί!
Με τις καλύτερες ευχές,
Davy

 
Της, απλά πρέπει να γράψετε ur λειτουργία για να το κάνουμε αυτό!
Κωδικός:

module δοκιμή?

λειτουργία [7:0] arithmatic_shift?

input [7:0] vec?

input [2:0] στροφή?

αρχίζω

arithmatic_shift = (vec>> βάρδια) | (((8 (vec [7])), 8'b0000_0000)>> βάρδια)?

τέλος

endfunction / / arithmatic_shift
αρχική αρχίσει

$ display ( "β%", arithmatic_shift (8'b1001_0000, 2))?τέλος
 
το σχεδιασμό nand_gates είναι εντάξει!Έχω την ελέγχουν ήδη την dc.

 
γιατί να μην γράψω ως
arithmatic_shift = ((8 (vec [7])), vec)>> μετάβαση?

 

Welcome to EDABoard.com

Sponsor

Back
Top