blob: 3edf0a222bd622b49230996172e51c29d9c6e160 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
// See LICENSE for license details.
package chisel3
import chisel3.internal.Builder
import chisel3.experimental.RawModule
/** Used by Chisel Aspects to inject Chisel code into modules, after they have been elaborated.
* This is an internal API - don't use!
*
* It adds itself as an aspect to the module, which allows proper checking of connection and binding legality.
*
* @param module Module for which this object is an aspect of
* @param moduleCompileOptions
*/
abstract class ModuleAspect private[chisel3] (module: RawModule)
(implicit moduleCompileOptions: CompileOptions) extends RawModule {
Builder.addAspect(module, this)
override def circuitName: String = module.toTarget.circuit
override def desiredName: String = module.name
override val _namespace = module._namespace
}
|