package Ġcom . ver il ang . annotation Ċ Ċ import Ġcom . intellij . test Framework . fixtures . Light Code Insight Fixture TestCase Ċ import Ġcom . ver il ang . Ver ilog FileType Ċ Ċ class ĠAnnotation Test Ġ: ĠLight Code Insight Fixture TestCase () Ġ{ ĊĠĠĠ Ġfun Ġ` test Ġun resolved Ġreference `() Ġ{ ĊĠĠĠĠĠĠĠ Ġmy Fixture . configure By Text ( Ver ilog FileType . INSTANCE , Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmodule Ġtoplevel ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ( input Ġclock , ĊĠĠĠĠĠĠĠĠĠĠĠĠ Ġinput Ġreset , ĊĠĠĠĠĠĠĠĠĠĠĠĠ Ġinput Ġd , ĊĠĠĠĠĠĠĠĠĠĠĠĠ Ġoutput Ġreg Ġf lop 2 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ); ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreg Ġf lop 1 ; ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġalways Ġ@ Ġ( posed ge Ġ< error Ġdescr =" Un resolved Ġreference "> re se </ error >, Ġpo sed ge Ġclock ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( reset ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ f lop 1 , f lop 2 } Ġ<= Ġ 2 ' b 0 0 ; ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbegin ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġf lop 1 Ġ<= Ġd ; ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġf lop 2 Ġ<= Ġ< error Ġdescr =" Un resolved Ġreference "> flo </ error >; ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġend ĊĠĠĠĠĠĠĠĠĠĠĠ Ġend module """. trim Indent ()) ĊĠĠĠĠĠĠĠ Ġmy Fixture . test Highlighting ( false , Ġfalse , Ġfalse ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġ` test Ġun resolved Ġreference Ġmodule Ġinstantiation `() Ġ{ ĊĠĠĠĠĠĠĠ Ġmy Fixture . configure By Text ( Ver ilog FileType . INSTANCE , Ġ""" Ċ module ĠBar ; ĊĠĠĠ Ġwire Ġbar ; ĊĠĠĠ Ġ< error Ġdescr =" Un resolved Ġreference "> Foo </ error > Ġu ut Ġ( ĊĠĠĠĠĠĠĠ Ġ. < error Ġdescr =" Un resolved Ġreference "> foo </ error >( bar ) ĊĠĠĠ Ġ); Ċ end module """. trim Indent ()) ĊĠĠĠĠĠĠĠ Ġmy Fixture . test Highlighting ( false , Ġfalse , Ġfalse ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġ` test Ġun resolved Ġreference Ġmodule Ġinstantiation Ġand Ġlocal Ġreference `() Ġ{ ĊĠĠĠĠĠĠĠ Ġmy Fixture . configure By Text ( Ver ilog FileType . INSTANCE , Ġ""" Ċ module ĠBar ; ĊĠĠĠ Ġ< error Ġdescr =" Un resolved Ġreference "> Foo </ error > Ġu ut Ġ( ĊĠĠĠĠĠĠĠ Ġ. < error Ġdescr =" Un resolved Ġreference "> foo </ error >(< error Ġdescr =" Un resolved Ġreference "> bar </ error >) ĊĠĠĠ Ġ); Ċ end module """. trim Indent ()) ĊĠĠĠĠĠĠĠ Ġmy Fixture . test Highlighting ( false , Ġfalse , Ġfalse ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġ` test Ġall Ġreferences Ġare Ġok `() Ġ{ ĊĠĠĠĠĠĠĠ Ġmy Fixture . configure By Text ( Ver ilog FileType . INSTANCE , Ġ""" Ċ ` include Ġ"/ common / definitions . v " Ċ ` time scale Ġ 3 ms Ġ/ Ġ 5 ns Ċ Ċ module ĠMIL _ TX D Ġ( Ċ ĉ input Ġclk , Ċ ĉ input [ 1 5 : 0 ] Ġdat , Ċ ĉ input Ġtx en , ĊĊ ĉ output Ġwire ĠT XP , Ċ ĉ output Ġwire ĠTX N , Ċ ĉ output Ġwire ĠSY 1 , Ċ ĉ output Ġwire ĠSY 2 , Ċ ĉ output Ġreg Ġ[ 1 5 : 0 ] Ġen _ tx Ġ= Ġ 0 , Ċ ĉ output Ġreg ĠT _ dat Ġ= Ġ 0 , Ċ ĉ output Ġwire ĠT _ end , Ċ ĉ output Ġwire ĠS DAT , Ċ ĉ output Ġreg ĠFT _ cp = 0 , Ċ ĉ output Ġreg Ġ[ 4 : 0 ] cb _ bit Ġ= 0 , Ċ ĉ output Ġwire Ġce _ t act Ċ ĉ ); ĊĊ ĉ parameter ĠTX vel Ġ= Ġ 1 0 0 0 0 0 0 ; Ċ ĉ parameter ĠF clk Ġ= Ġ 5 0 0 0 0 0 0 0 ; Ċ ĉ reg Ġ[ 5 : 0 ] Ġcb _ ce Ġ= Ġ 0 ; Ċ ĉ wire Ġce Ġ= Ġ( cb _ ce Ġ== Ġ( F clk Ġ/ Ġ( 2 Ġ* ĠTX vel ))); Ċ ĉ reg Ġbf _ SY 1 Ġ= Ġ 0 , Ġbf _ SY 2 Ġ= Ġ 0 ; Ċ ĉ reg ĠC W _ DW Ġ= Ġ 0 ; Ċ ĉ reg Ġt tx en Ġ= Ġ 0 ; Ċ ĉ reg ĠQ M Ġ= Ġ 0 ; Ċ ĉ assign Ġce _ t act Ġ= Ġce Ġ& ĠQ M ; Ċ ĉ wire Ġstart Ġ= Ġt tx en Ġ& Ġ! en _ tx ; Ċ ĉ assign ĠSY 1 Ġ= Ġen _ tx Ġ& Ġbf _ SY 1 ; Ċ ĉ assign ĠSY 2 Ġ= Ġen _ tx Ġ& Ġbf _ SY 2 ; Ċ ĉ reg Ġ[ 1 5 : 0 ] Ġsr _ dat Ġ= Ġ 0 ; Ċ ĉ wire Ġst 1 Ġ= Ġ( cb _ bit Ġ== Ġ 1 ) Ġ& Ġen _ tx ; Ċ ĉ wire Ġst 2 Ġ= Ġ( cb _ bit Ġ== Ġ 2 ) Ġ& Ġen _ tx ; Ċ ĉ wire Ġst 1 8 Ġ= Ġ( cb _ bit Ġ== Ġ 1 8 ) Ġ& Ġen _ tx ; Ċ ĉ assign ĠT _ end Ġ= Ġ( cb _ bit == 1 9 ) Ġ& Ġen _ tx ; ĊĊ ĉ assign ĠT XP Ġ= Ġ( en _ tx Ġ& Ġ ĉ (( ĠC W _ DW Ġ& ĠSY 1 ) Ġ| ĊĉĠĠĠĠĠĠĠĠĠĠĠ Ġ(! CW _ DW Ġ& ĠSY 2 ) Ġ| Ċĉĉĉ ĉ ( T _ dat Ġ& Ġ( sr _ dat [ 1 5 ]^ QM )) Ġ| Ċĉĉĉ ĉ ( T _ end Ġ& Ġ( FT _ cp ^ QM )))) Ġ^ Ġ(( T _ dat Ġ| ĠT _ end ) Ġ& Ġce _ t act ); Ċ ĉ assign ĠTX N Ġ= Ġ( en _ tx Ġ& Ġ ĉ (( ! CW _ DW Ġ& ĠSY 1 ) Ġ| Ċĉĉĉ ĉ ( CW _ DW Ġ& ĠSY 2 ) Ġ| Ċĉĉĉ ĉ ( T _ dat Ġ& Ġ( sr _ dat [ 1 5 ]^ ! QM )) Ġ| Ċĉĉĉ ĉ ( T _ end Ġ& Ġ( FT _ cp ^ ! QM )))) Ġ^ Ġ(( T _ dat Ġ| ĠT _ end ) Ġ& Ġce ); ĊĠĠĠ Ġassign ĠS DAT Ġ= Ġsr _ dat [ 1 5 ] Ġ& ĠT _ dat ; ĊĊĠĠĠ Ġalways Ġ@ Ġ( posed ge Ġclk ) Ġbegin ĊĠĠĠĠĠĠĠ Ġcb _ ce Ġ<= Ġce Ġ? Ġ 1 Ġ: Ġcb _ ce + 1 ; Ġ// ĠT c et Ġ= ĠT bit / 2 Ġ= Ġ 0 . 5 us ĊĠĠĠĠĠĠĠ ĠQ M Ġ<= Ġ( ce Ġ| Ġstart )? Ġ! QM Ġ: ĠQ M ; ĊĠĠĠ Ġend ĊĊĠĠĠ Ġalways Ġ@ Ġ( posed ge Ġclk ) Ġif Ġ( ce ) Ġbegin ĊĠĠĠĠĠĠĠ Ġbf _ SY 1 Ġ<= Ġ( st 1 Ġ& Ġ! QM ) Ġ? Ġ 0 Ġ: Ġ(( T _ end Ġ& ĠQ M ) Ġ| Ġ( tx en Ġ& Ġ! en _ tx )) Ġ? Ġ 1 Ġ: Ġbf _ SY 1 ; ĊĠĠĠĠĠĠĠ Ġbf _ SY 2 Ġ<= Ġ( st 1 Ġ& Ġ! QM ) Ġ? Ġ 1 Ġ: Ġ( st 2 Ġ& ĠQ M )? Ġ 0 Ġ: Ġbf _ SY 2 ; ĊĠĠĠ Ġend ĊĊĠĠĠ Ġalways Ġ@ Ġ( posed ge Ġclk ) Ġif Ġ( ce _ t act ) Ġbegin ĊĠĠĠĠĠĠĠ Ġt tx en Ġ<= Ġtx en ; ĊĠĠĠĠĠĠĠ Ġen _ tx Ġ<= Ġt tx en Ġ? Ġ 1 Ġ: Ġ(! tx en Ġ& ĠT _ end ) Ġ? Ġ 0 Ġ: Ġen _ tx ; ĊĠĠĠĠĠĠĠ Ġcb _ bit Ġ<= Ġ(! en _ tx Ġ| ĠT _ end ) Ġ? Ġ 0 Ġ: Ġen _ tx ? Ġcb _ bit Ġ+ Ġ 1 Ġ: Ġcb _ bit ; ĊĠĠĠĠĠĠĠ ĠT _ dat Ġ<= Ġst 2 Ġ? Ġ 1 Ġ: Ġst 1 8 Ġ? Ġ 0 Ġ: ĠT _ dat ; ĊĠĠĠĠĠĠĠ Ġsr _ dat Ġ<= Ġst 2 Ġ? Ġdat Ġ: ĠT _ dat Ġ? Ġsr _ dat << 1 Ġ: Ġsr _ dat ; ĊĠĠĠĠĠĠĠ ĠFT _ cp Ġ<= Ġst 2 Ġ? Ġ 1 Ġ: Ġ( T _ dat Ġ& Ġsr _ dat [ 1 5 ] Ġ) ? Ġ! FT _ cp Ġ: ĠFT _ cp ; ĊĠĠĠĠĠĠĠ ĠC W _ DW Ġ<= Ġstart Ġ? Ġ 1 Ġ: ĠT _ end Ġ? Ġ 0 Ġ: ĠC W _ DW ; ĊĠĠĠ Ġend Ċ Ċ end module Ċ Ċ """. trim Indent ()) ĊĠĠĠĠĠĠĠ Ġmy Fixture . test Highlighting ( false , Ġfalse , Ġfalse ) ĊĠĠĠ Ġ} Ċ }